Введение……………………………………………………………………3
1. Определение экспертных систем и их назначение………………………..…4
2. Особенности экспертных систем. ЭС первого и второго поколения……...8
3. Области применения экспертных систем………………………………..…10
4. Ограничения в применение экспертных систем……………………………13
5. Этапы разработки экспертных систем………………………………….…..15
6. Критерий использования ЭС для решения задач………………………..….16
7. Преимущества ЭС перед человеком – экспертом……………………….….18
Заключение…………………………………………………………..……19
Список используемой литературы…………………………………….…20
Введение
Экспертные системы (ЭС) возникли как значительный практический результат в применении и развитии методов искусственного интеллекта (ИИ)- совокупности научных дисциплин, изучающих методы решения задач интеллектуального (творческого) характера с использованием ЭВМ.
Область ИИ имеет более чем сорокалетнюю историю развития. С самого начала в ней рассматривался ряд весьма сложных задач, которые, наряду с другими, и до сих пор являются предметом исследований: автоматические доказательства теорем, машинный перевод (автоматический перевод с одного естественного языка на другой), распознавание изображений и анализ сцен, планирование действий роботов.
ЭС- это набор программ, выполняющий функции эксперта при решении задач из некоторой предметной области. ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов.
Главным достоинством экспертных систем является возможность накопления знаний и сохранение их длительное время. В отличии от человека к любой информации экспертные системы подходят объективно, что улучшает качество проводимой экспертизы.
При создании ЭС возникает ряд затруднений. Это прежде всего связано с тем, что заказчик не всегда может точно сформулировать свои требования к разрабатываемой системе. Также возможно возникновение трудностей чисто психологического порядка: при создании базы знаний системы эксперт может препятствовать передаче своих знаний, опасаясь, что впоследствии его заменят “машиной”. Но эти страхи не обоснованы, т. к. ЭС не способны обучаться, они не обладают здравым смыслом, интуицией. Но в настоящее время ведутся разработки экспертных систем, реализующих идею самообучения. Также ЭС неприменимы в больших предметных областях и в тех областях, где отсутствуют эксперты.
1. Определение экспертных систем и их назначение
Экспертные системы (ЭС)- это яркое и быстро прогрессирующее направление в области искусственного интеллекта(ИИ). Причиной повышенного интереса, который ЭС вызывают к себе на протяжении всего своего существования является возможность их применения к решению задач из самых различных областей человеческой деятельности. Пожалуй, не найдется такой проблемной области, в которой не было бы создано ни одной ЭС или по крайней мере, такие попытки не предпринимались бы. Знания о предметной области, необходимые для работы ЭС, определенным образом формализованы и представлены в памяти ЭВМ в виде базы знаний, которая может изменяться и дополняться в процессе развития системы.
Они ориентированы на решение задач, обычно требующих проведения экспертизы человеком-специалистом. В отличие от машинных программ, использующий процедурный анализ, ЭС решают задачи в узкой предметной области (конкретной области экспертизы)на основе дедуктивных рассуждений. Такие системы часто оказываются способными найти решение задач, которые неструктурированны и плохо определены. Они справляются с отсутствием структурированности путем привлечения эвристик, т. е. правил, взятых “с потолка”, что может быть полезным в тех системах, когда недостаток необходимых знаний или времени исключает возможность проведения полного анализа.
Главное достоинство ЭС — возможность накапливать знания, сохранять их длительное время, обновлять и тем самым обеспечивать относительную независимость конкретной организации от наличия в ней квалифицированных специалистов. Накопление знаний позволяет повышать квалификацию специалистов, работающих на предприятии, используя наилучшие, проверенные решения.
Практическое применение искусственного интеллекта на машиностроительных предприятиях и в экономике основано на ЭС, позволяющих повысить качество и сохранить время принятия решений, а
также способствующих росту эффективности работы и повышению квалификации специалистов.
Основными отличиями ЭС от других программных продуктов являются использование не только данных, но и знаний, а также специального механизма вывода решений и новых знаний на основе имеющихся. Знания в ЭС представляются в такой форме, которая может быть легко обработана на ЭВМ. В ЭС известен алгоритм обработки знаний, а не алгоритм решения задачи. Поэтому применение алгоритма обработки знаний может привести к получению такого результата при решении конкретной задачи, который не был предусмотрен. Более того, алгоритм обработки знаний заранее неизвестен и строится по ходу решения задачи на основании эвристических правил. Решение задачи в ЭС сопровождается понятными пользователю объяснениями, качество получаемых решений обычно не хуже, а иногда и лучше достигаемого специалистами. В системах, основанных на знаниях, правила (или эвристики), по которым решаются проблемы в конкретной предметной области, хранятся в базе знаний. Проблемы ставятся перед системой в виде совокупности фактов, описывающих некоторую ситуацию, и система с помощью базы знаний пытается вывести заключение из этих фактов (см. рис.1). база знаний входная механизм заключения
информация вывода рис.1. Схема решения задачи в ЭС
Качество ЭС определяется размером и качеством базы знаний (правил или эвристик). Система функционирует в следующем циклическом режиме: выбор (запрос) данных или результатов анализов, наблюдения, интерпретация результатов, усвоение новой информации, выдвижении с помощью правил временных гипотез и затем выбор следующей порции
данных или результатов анализов (рис.2). Такой процесс продолжается до тех пор, пока не поступит информация, достаточная для окончательного заключения.
В любой момент времени в системе существуют три типа знаний:
— Структурированные знания- статические знания о предметной области. После того как эти знания выявлены, они уже не изменяются.
— Структурированные динамические знания- изменяемые знания о предметной области. Они обновляются по мере выявления новой информации.
— Рабочие знания- знания, применяемые для решения конкретной задачи или проведения консультации.
Все перечисленные выше знания хранятся в базе знаний. Для ее построения требуется провести опрос специалистов, являющихся экспертами в конкретной предметной области, а затем систематизировать, организовать и снабдить эти знания указателями, чтобы впоследствии их можно было легко извлечь из базы знаний.
Результаты анализов
и входные данные
выбор и ввод
исходных данных
наблюдения пользователи интерпретация правила гипотезы усвоение вывод заключения
рис.2 Схема работы ЭС
2. Особенности экспертных систем. ЭС первого и второго поколения
Основные особенности ЭС:
1. Экспертиза может проводиться только в одной конкретной области. Так, программа, предназначенная для определения конфигурации систем ЭВМ, не может ставить медицинские диагнозы.
2. База знаний и механизм вывода являются различными компонентами. Действительно, часто оказывается возможным сочетать механизм вывода с другими базами знаний для создания новых ЭС. Например, программа анализа инфекции в крови может быть применена в пульманологии путем замены базы знаний, используемой с тем же самым механизмом вывода.
3. Наиболее подходящая область применения — решение задач дедуктивным методом. Например, правила или эвристики выражаются в виде пар посылок и заключений типа “если-то”.
4. Эти системы могут объяснять ход решения задачи понятным пользователю способом. Обычно мы не принимаем ответ эксперта, если на вопрос “Почему?” не можем получить логичный ответ. Точно так же мы должны иметь возможность спросить систему, основанную на знаниях, как было получено конкретное заключение.
5. Выходные результаты являются качественными (а не количественными).
6. Системы, основанные на знаниях, строятся по модульному принципу, что позволяет постепенно наращивать их базы знаний.
Компьютерные системы, которые могут лишь повторить логический вывод эксперта, принято относить к ЭС первого поколения. Однако специалисту, решающему интеллектуально сложную задачу, явно недостаточно возможностей системы, которая лишь имитирует деятельность человека. Ему нужно, чтобы ЭС выступала в роли полноценного помощника и советчика, способного проводить анализ нечисловых данных, выдвигать и отбрасывать гипотезы, оценивать достоверность фактов, самостоятельно
пополнять свои знания, контролировать их непротиворечивость, делать заключения на основе прецедентов и, может быть, даже порождать решение новых, ранее не рассматривавшихся задач. Наличие таких возможностей является характерным для ЭС второго поколения, концепция которых начала разрабатываться 9-10 лет назад. Экспертные системы, относящиеся ко второму поколению, называют партнерскими, или усилителями интеллектуальных способностей человека. Их общими отличительными чертами является умение обучаться и развиваться, т.е. эволюционировать.
В экспертных системах первого поколения знания представлены следующим образом:
1) знаниями системы являются только знания эксперта, опыт накопления знаний не предусматривается.
2) методы представления знаний позволяли описывать лишь статические предметные области.
3) модели представления знаний ориентированы на простые области.
Представление знаний в экспертных системах второго поколения следующее:
1) используются не поверхностные знания, а более глубинные. Возможно дополнение предметной области.
2) ЭС может решать задачи динамической базы данных предметной области.
3. Области применения экспертных систем
Области применения систем, основанных на знаниях, могут быть сгруппированы в несколько основных классов: медицинская диагностика, контроль и управление, диагностика неисправностей в механических и электрических устройствах, обучение.
а) медицинская диагностика.
Диагностические системы используются для установления связи между нарушениями деятельности организма и их возможными причинами. Наиболее известна диагностическая система MYCIN, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях. Ее первая версия была разработана в Стенфордском университете в середине 70-х годов. В настоящее время эта система ставит диагноз на уровне врача-специалиста. Она имеет расширенную базу знаний, благодаря чему может применяться и в других областях медицины.
б) прогнозирование.
Прогнозирующие системы предсказывают возможные результаты или события на основе данных о текущем состоянии объекта. Программная система “Завоевание Уолл-стрита” может проанализировать конъюнктуру рынка и с помощью статистических методов алгоритмов разработать для вас план капиталовложений на перспективу. Она не относится к числу систем, основанных на знаниях, поскольку использует процедуры и алгоритмы традиционного программирования. Хотя пока еще отсутствуют ЭС, которые способны за счет своей информации о конъюнктуре рынка помочь вам увеличить капитал, прогнозирующие системы уже сегодня могут предсказывать погоду, урожайность и поток пассажиров. Даже на персональном компьютере, установив простую систему, основанную на знаниях, вы можете получить местный прогноз погоды.
в) планирование.
Планирующие системы предназначены для достижения конкретных целей при решении задач с большим числом переменных. Дамасская фирма Informat впервые в торговой практике предоставляет в распоряжении покупателей 13 рабочих станций, установленных в холле своего офиса, на которых проводятся бесплатные 15-минутные консультации с целью помочь покупателям выбрать компьютер, в наибольшей степени отвечающий их потребностям и бюджету. Кроме того, компания Boeing применяет ЭС для проектирования космических станций, а также для выявления причин отказов самолетных двигателей и ремонта вертолетов. Экспертная система XCON, созданная фирмой DEC, служит для определения или изменения конфигурации компьютерных систем типа VAX и в соответствии с требованиями покупателя. Фирма DEC разрабатывает более мощную систему XSEL, включающую базу знаний системы XCON, с целью оказания помощи покупателям при выборе вычислительных систем с нужной конфигурацией. В отличие от XCON система XSEL является интерактивной.
г)интерпретация.
Интерпретирующие системы обладают способностью получать определенные заключения на основе результатов наблюдения. Система PROSPECTOR, одна из наиболее известных систем интерпретирующего типа, объединяет знания девяти экспертов. Используя сочетания девяти методов экспертизы, системе удалось обнаружить залежи руды стоимостью в миллион долларов, причем наличие этих залежей не предполагал ни один из девяти экспертов. Другая интерпретирующая система- HASP/SIAP. Она определяет местоположение и типы судов в тихом океане по данным акустических систем слежения.
д) контроль и управление.
Системы, основанные на знаниях, могут применятся в качестве интеллектуальных систем контроля и принимать решения, анализируя данные, поступающие от нескольких источников. Такие системы уже
работают на атомных электростанциях, управляют воздушным движением и осуществляют медицинский контроль. Они могут быть также полезны при регулировании финансовой деятельности предприятия и оказывать помощь при выработке решений в критических ситуациях.
е) обучение.
Системы, основанные на знаниях, могут входить составной частью в компьютерные системы обучения. Система получает информацию о деятельности некоторого объекта (например, студента) и анализирует его поведение. База знаний изменяется в соответствии с поведением объекта. Примером этого обучения может служить компьютерная игра, сложность которой увеличивается по мере возрастания степени квалификации играющего.
4. Ограничения в применение экспертных систем
Даже лучшие из существующих ЭС, которые эффективно функционируют как на больших, так и на мини-ЭВМ, имеют определенные ограничения по сравнению с человеком-экспертом.
1. Большинство ЭС не вполне пригодны для применения конечным пользователем. Если вы не имеете некоторого опыта работы с такими системами, то у вас могут возникнуть серьезные трудности. Многие системы оказываются доступными только тем экспертам, которые создавали из базы знаний.
2. Вопросно-ответный режим, обычно принятый в таких системах, замедляет получение решений. Например, без системы MYCIN врач может (а часто и должен) принять решение значительно быстрее, чем с ее помощью.
3. Навыки системы не возрастают после сеанса экспертизы.
4. Все еще остается проблемой приведение знаний, полученных от эксперта, к виду, обеспечивающему их эффективную машинную реализацию.
5. ЭС не способны обучаться, не обладают здравым смыслом. Домашние кошки способны обучаться даже без специальной дрессировки, ребенок в состоянии легко уяснить, что он станет мокрым, если опрокинет на себя стакан с водой, однако если начать выливать кофе на клавиатуру компьютера, у него не хватит “ума” отодвинуть ее.
6. ЭС неприменимы в больших предметных областях. Их использование ограничивается предметными областями, в которых эксперт может принять решение за время от нескольких минут до нескольких часов.
7. В тех областях, где отсутствуют эксперты (например, в астрологии), применение ЭС оказывается невозможным.
8. Имеет смысл привлекать ЭС только для решения когнитивных задач. Теннис, езда на велосипеде не могут являться предметной областью для ЭС, однако такие системы можно использовать при формировании футбольных команд.
9. Человек-эксперт при решении задач обычно обращается к своей интуиции или здравому смыслу, если отсутствуют формальные методы решения или аналоги таких задач.
Системы, основанные на знаниях, оказываются неэффективными при необходимости проведения скрупулезного анализа, когда число “решений” зависит от тысяч различных возможностей и многих переменных, которые изменяются во времени. В таких случаях лучше использовать базы данных с интерфейсом на естественном языке.
5. Этапы разработки экспертных систем
В настоящее время сложились определенные технологические разработки ЭС, которые включают 7 этапов:
идентификация проблем — определяются задачи, которые подлежат решению, выявляются цели разработки, определяются эксперты и типы пользователей.
извлечение знаний — проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач.
структурирование знаний — выбираются ИС и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями.
формализациия — осуществляется наполнение экспертом базы знаний. В связи с тем, что основой ЭС являются знания, данный этап является наиболее важным и наиболее трудоемким этапом разработки ЭС. Процесс приобретения знаний разделяют на извлечение знаний из эксперта, организацию знаний, обеспечивающую эффективную работу системы, и представление знаний в виде, понятном ЭС. Процесс приобретения знаний осуществляется инженером по знаниям на основе анализа деятельности эксперта по решению реальных задач.
реализация ЭС — создается один или нескольких прототипов ЭС, решающие требуемые задачи.
тестирование — производится оценка выбранного способа представления знаний в ЭС в целом.
6. Критерий использования ЭС для решения задач
Существует ряд прикладных задач, которые решаются с помощью систем, основанных на знаниях, более успешно, чем любыми другими средствами. При определении целесообразности применения таких систем нужно руководствоваться следующими критериями.
1. Данные и знания надежны и не меняются со временем.
2. Пространство возможных решений относительно невелико.
3. В процессе решения задачи должны использоваться формальные рассуждения. Существуют системы, основанные на знаниях, пока еще не пригодные для решения задач методами проведения аналогий или абстрагирования. В свою очередь традиционные компьютерные программы оказываются эффективнее систем, основанных на знаниях, в тех случаях, когда решение задачи связано с применением процедурного анализа.
4. Должен быть по крайней мере один эксперт, который способен явно сформулировать свои знания и объяснить свои методы применения этих знаний для решения задач.
В таблице один приведены сравнительные свойства прикладных задач, по наличию которых можно судить о целесообразности использования для их решения ЭС.
Таблица 1. Критерий применимости ЭС
применимы
неприменимы
Не могут быть построены строгие алгоритмы или процедуры, но существуют эвристические методы решения.
Имеются эффективные алгоритмические методы.
Есть эксперты, которые способны решить задачу.
Отсутствуют эксперты или их число недостаточно.
По своему характеру задачи относятся к области диагностики, интерпретации или прогнозирования.
Задачи носят вычислительный характер.
Доступные данные “зашумленны”.
Известны точные факты и строгие процедуры.
Задачи решаются методом формальных рассуждений.
Задачи решаются прецедурными методами, с помощью аналогии или интуитивно.
Знания статичны (неизменны).
Знания динамичны (меняются со временем).
В целом ЭС не рекомендуется применять для решения следующих типов задач:
— математических, решаемых обычным путем формальных преобразований и процедурного анализа;
— задач распознавания, поскольку в общем случае они решаются численными методами;
— задач, знания о методах решения которых отсутствуют (невозможно построить базу знаний).
7. Преимущества ЭС перед человеком — экспертом
Системы, основанные на знаниях, имеют определенные преимущества перед человеком-экспертом.
1. У них нет предубеждений.
2. Они не делают поспешных выводов.
3. Эти системы работают систематизировано, рассматривая все детали, часто выбирая наилучшую альтернативу из всех возможных.
4. База знаний может быть очень и очень большой. Будучи введены в машину один раз, знания сохраняются навсегда. Человек же имеет ограниченную базу знаний, и если данные долгое время не используются, то они забываются и навсегда теряются.
5. Системы, основанные на знаниях, устойчивы к “помехам”. Эксперт пользуется побочными знаниями и легко поддается влиянию внешних факторов, которые непосредственно не связаны с решаемой задачей. ЭС, не обремененные знаниями из других областей, по своей природе менее подвержены “шумам”. Со временем системы, основанные на знаниях, могут рассматриваться пользователями как разновидность тиражирования- новый способ записи и распространения знаний. Подобно другим видам компьютерных программ они не могут заменить человека в решении задач, а скорее напоминают орудия труда, которые дают ему возможность решат задачи быстрее и эффективнее.
6. Эти системы не заменяют специалиста, а являются инструментом в его руках.
Заключение
Экспертные системы являются наиболее известным и распространённым видом интеллектуальных систем.
Как и любые другие системы, они имеют ряд своих особенностей:
— экспертные системы ориентированы на решение широкого круга задач в неформализованных областях, на приложения, которые до недавнего времени считались малодоступными для вычислительной техники.
— с помощью экспертных систем специалисты, не знающие программирования, могут самостоятельно разрабатывать интересующие их приложения, что позволяет резко расширить сферу использования вычислительной техники.
— при решении практических задач экспертные системы достигают результатов, не уступающих, а иногда и превосходящих возможности людей-экспертов, не оснащённых ЭВМ.
Таким образом, проблема разработки и использования экспертных систем является весьма актуальной в современном обществе.
Список используемой литературы
1. Гаскаров, Д. Б. Интеллектуальные информационные системы. — М.: Высшая школа, 2003.
2. Долин Г. Что такое ЭС. — Компьютер Пресс, 2002 г.
3. Круглов В.В. Интеллектуальные информационные системы. 2002.
4. Муромцев Д.И. Введение в технологию экспертных систем. СПб: СПб ГУ ИТМО, 2005.
5. Ясницкий, Л. Н. Введение в искусственный интеллект. — М.: Академия, 2005.
www.ronl.ru
Структура типичной экспертной системы приведена на Рис.2. Как
правило, в ее состав входят:
1. - Интерфейс, обеспечивающий общение пользователя с экспертной системой в удобной для него форме, он позволяет передавать ей информацию, составляющую содержание базы данных, обратиться к системе с вопросом или за объяснением.
2. - Рабочая память, хранящая данные (база данных), соответствующие объектам, связь между которыми задается правилами в базе знаний.
3. - Диспетчер, определяющий порядок функционирования экспертной системы, планирующий порядок постановки и достижения целей.
4. - Машина вывода - формально-логическая система, реализованная в виде программного модуля, позволяющая логически выводить необходимую для пользователя информацию, исходя из сведений, размещенных в базе знаний.
5. — База знаний — совокупность всех имеющихся сведений о проблемной области, для которой предназначена данная экспертная система, записанных с помощью определенных формальных структур представления знаний (набора правил, фреймов, семантических сетей и пр.)
Важной компонентой экспертной системы является блок объяснений, дающий возможность пользователю убедиться в обоснованности информации, получаемой им от экспертной системы, позволяющий задавать ей вопросы, и на основании разумных ответов проникаться к ней доверием.
Два подхода получили наибольшее распространение при создании машин логического вывода экспертных систем.
— Системы с прямым логическим выводом, в которых производится многократное применение всех правил базы знаний к доступным данным, с возможностью запроса недостающих. Процесс преобразования данных под воздействием машины логического вывода происходит до тех пор пока возможно изменение их значений. Упрощенный алгоритм функционирования такой экспертной системы имеет вид (структура экспертной системы приведена на рис.2).
1. В рабочую память 2 через интерфейс 1 вводятся пользователем значения исходных переменных.
2. В базе знаний 5 определяются те правила, в условиях которых присутствуют переменные, имеющиеся в рабочей памяти.
3. Производится попытка применения правил с помощью машины логического вывода 4 и занесение результатов в рабочую память.
4. Если применение хотя бы одного правила оказалось успешным, то переход к п.2.
5. Если достигнутое состояние рабочей памяти (базы данных) не позволяет больше применить ни одно из правил базы знаний, то процесс логического вывода заканчивается и диспетчер 3 принимает решение о выдаче пользователю через интерфейсный блок информации, полученной в результате применения правил.
Системы с прямым логическим выводом более просты в построении, результатом работы у них обычно является целый пакет данных, но их эффективность не всегда соответствует требованиям практических задач.
В системах обратного вывода намечается перечень конечных целей - переменных, значения которых необходимо получить. Далее производится поиск правил, определяющих эти цели. Вычисляются значения всех переменных, входящих в условия правила. Если переменные определяются другими правилами, происходит переход к выяснению истинности их условий, в противном случае значения переменных запрашиваются у пользователя. Процесс экспертизы заканчивается после того, как будут найдены все поставленные цели консультации. Это означает, что должна быть выяснена истинность всех переменных, входящих в задействованные правила. Упрощенный алгоритм функционирования экспертных систем обратного вывода можно
представить в следующем виде.
1. Задается набор целей - переменных, значение которых требуется определить с помощью экспертной системы. Список этих переменных через интерфейс вводится в рабочую память.
2. В базе знаний машина логического вывода выделяет список правил, из которых можно найти неизвестные переменные в рабочей памяти.
3. Из условий выделенных правил, определяются остальные переменные, необходимые для применения правил.
4. Определяется, какие из найденных в п.3 переменных можно получить из правил базы знаний.
5. Дополняется список целей переменными найденными в п.4.
6. Значения переменных из списка определенного в п.3, за исключением найденных в п.4, запрашиваются у пользователя.
7. Производится попытка применения правил базы знаний для достижения поставленных целей.
8. Если не все цели достигнуты (не удалось применить все правила, определяющие интересующие нас переменные), производится переход к п.2, исключив из списка целей найденные переменные.
9. По достижению всех первоначально поставленных целей диспетчер прекращает работу машины логического вывода и через интерфейс выводит пользователю значения этих переменных. Логический вывод прекращается также, если нельзя достичь поставленных целей.
В большинстве реально работающих экспертных систем, как правило, используются различные модификации и комбинации рассмотренных выше алгоритмов.
продолжение --PAGE_BREAK-- 4. ОСОБЕННОСТИ СОЗДАНИЯ ЭКСПЕРТНЫХ СИСТЕМ
Проектирование экспертных систем имеет определенные отличия от создания традиционного программного продукта. Суть этого отличия в том, что разработчики не пытаются сразу построить конечный продукт, а создают прототип экспертной системы. Прототип должен удовлетворять основным требованиям к системе при минимальной трудоемкости при его создании. Для удовлетворения этим требованиям используются разнообразные инструментальные средства (специализированные языки искусственного интеллекта, оболочки экспертных систем и др.) ускоряющие процесс разработки. Возможно, что может потребоваться создание не одного, нескольких прототипов, базирующихся на различных способах представления знаний, с
последующим выбором наиболее удачного. B том случае когда достигнута удовлетворительная работа прототипа по всему комплексу задач, возможно принятие решения об окончательном перепрограммировании всей системы на языках низкого уровня, с целью улучшения ее характеристик — увеличения быстродействия, уменьшения занимаемой памяти, повышения эргономических параметров интерфейса.
Опыт разработки экспертных систем позволяет выделить следующие этапы при их создании:
· — Идентификация - определение проблемы, ресурсов, целей, экспертов, производится неформальное (вербальное) описание проблемы.
· — Концептуализация - выделение ключевых понятий системы, отношений и характеристик, достаточных для полного и детального описания рассматриваемой проблемы.
· — Формализация - выражение введенных понятий на некоторым формальным языке, построение модели исследуемой области.
· — Этап выполнения — создание одного или нескольких прототипов.
· — Этап тестирования — оценка выбранного метода представления знаний и работоспособности всей системы в целом на основе проверки прототипа.
· — Этап опытной эксплуатации — проверка пригодности системы для конечного пользователя.
· — Модификация системы - полное перепрограммирование или доведение прототипа до состояния программного продукта.
Известны три основные разновидности исполнения экспертных систем:
¨ — Экспертные системы, выполненные в виде отдельных программ, на некотором алгоритмическом языке, база знаний которых является непосредственно частью этой программы. Как правило, такие системы предназначены для решения задач в одной фиксированной предметной области. При построении таких систем применяются как традиционные процедурные языки PASCAL, C и др., так и специализированные языки искусственного интеллекта LISP, PROLOG.
¨ — Оболочки экспертных систем — программный продукт, обладающий средствами представления знаний для определенных предметных областей. Задача пользователя заключается не в непосредственном программировании, а в формализации и вводе знаний с использованием предоставленных оболочкой возможностей. Недостатком этих систем можно считать невозможность охвата одной системой всех существующих предметных областей. Примером могут служить ИНТЕРЭКСПЕРТ, РС+, VP-Expert.
¨ — Генераторы экспертных систем — мощные программные продукты, предназначенные для получения оболочек, ориентированных на то или иное представление знаний в зависимости от рассматриваемой предметной области. Примеры этой разновидности — системы KEE, ART и др..
5. ОБЛАСТИ И КРИТЕРИИ ПРИМЕНИМОСТИ ЭКСПЕРТНЫХ СИСТЕМ
Не останавливаясь на подробном перечне многочисленных областей применения, отметим лишь некоторые отрасли народного хозяйства развитых стран, в которых методология экспертных систем была успешно опробована: химия, сельское хозяйство, электроника, образование, финансы, геология, медицина, военное дело, программное обеспечение и многие другие.
Из перечня основных типов решаемых ими задач можно выделить интерпретацию, прогноз, диагностику, проектирование, планирование, управление, наблюдение, отладка, ремонт, обучение.
В списке наиболее распространенных в настоящее время за рубежом экспертных систем и их оболочек можно выделить следующие наименования: INSIGT, LOGIAN, NEXPERT, RULE MASTER, KDS, PICON, KNOWLEDGE CRAFT, KESII, S1, TIMM и др.
В качестве критериев, по которым можно судить о возможности создания экспертной системы следует отметить следующие:
1. — Необходимость символьных рассуждений, очевидно, нет смысла разрабатывать экспертную систему для численных расчетов, например, для преобразований Фурье, интегрирования, решения систем алгебраических уравнений и др.
2. — Наличие экспертов, компетентных в избранном круге вопросов, которые согласны сотрудничать при создании ЭС.
3. — Поставленная проблема должна быть достаточно важной и актуальной. Это могут быть проблемы, требующие высокого уровня экспертизы, либо простые, но трудоемкие многократно повторяющиеся проверки. Нет смысла тратить время на решение проблем, которые возникают редко и могут быть разрешены человеком с обычной квалификацией.
4. — Необходимо четко ограничивать круг решаемых задач, т.е. предметная область выбирается достаточно «узкой», чтобы избежать «комбинаторного взрыва» объема информации необходимой для компетентного решения поставленной задачи.
5. — Необходима согласованность мнений экспертов о том, как следует решать поставленные задачи, какие факты необходимо использовать и каковы общие правила вынесения суждений. В противном случае невозможно расширить базу знаний за пределы опыта одного человека и осуществить сплав экспертных знаний из нескольких областей.
6. — Должно быть достаточно исходных данных для проверки работоспособности экспертной системы в выбранной предметной
7. области, чтобы разработчики смогли убедиться в достижимости некоторого заданного уровня ее функционирования.
8. — Должна обеспечиваться возможность постепенного наращивания системы. База знаний должна легко расширяться и корректироваться, так как правила часто меняются с появлением новых фактов.
Ценность использования ЭС проявляется в следующих аспектах:
a) — В сборе, оперативном уточнении, кодировании и распространении экспертных знаний.
b) — В эффективном решении проблем, сложность которых превышает человеческие возможности и для которых требуются экспертные знания нескольких областей.
c) — В сохранении наиболее уязвимой ценности коллектива — коллективной памяти.
Создание баз знаний открывает широкие возможности, которые обусловлены безошибочностью и тщательностью, присущими ЭВМ и синтезом знаний экспертов. Если база знаний объединяет информацию по нескольким дисциплинам, то такой «сплав» знаний приобретает дополнительную ценность.
Экспертная система позволяет решить проблему сохранения экспертных знаний, связанную с утратой наиболее квалифицированных экспертов в результате их продвижения по службе, смерти, перехода на другую работу или выхода на пенсию, а также позволит сделать знания легко доступными для тех, кто займет места ушедших экспертов.
Ограничившись необходимым минимумом изложения теоретического материала, в дальнейшем сосредоточим внимание на практических аспектах применения экспертных систем.
продолжение --PAGE_BREAK--
www.ronl.ru
Московский государственный институт электроники и математики
(технический университет)
Реферат на тему : «Реализация сети фреймов и решения различных вариантов задачи с помощью различных механизмов вывода в экспертных системах».
Группа: АП-101
Студентка: Гусева И.А.
1 .Введение.
Инженерия знаний – это область информационной технологий, цель которой – накапливать и применять знания, не как объект обработки их человеком, но как объект для обработки их на компьютере. Для этого необходимо проанализировать знания и особенности их обработки человеком и компьютером, а также разработать их машинное представление. К сожалению точного и неоспоримого определения, что собой представляют знания, до сих пор не дано. Но, тем не менее, цель инженерии знаний – обеспечить использование знаний в компьютерных системах на более высоком уровне, чем до сих пор – актуальна. Но следует заметить, что возможность использования знаний осуществима только тогда, когда эти знания существуют, что вполне объяснимо. Технология накопления и суммирования знаний идет бок о бок с технологией использования знаний, где они взаимно дополняют друг друга, и ведут к созданию одной технологии, технологии обработки знаний.
2. Функции, выполняемые экспертной системой
Экспертная система — это программа, которая ведет себя подобно эксперту в некоторой, обычно узкой прикладной области. Типичные применения экспертных систем включают в себя такие задачи, как медицинская диагностика, локализация неисправностей в оборудовании и интерпретация результатов измерений. Экспертные системы должны решать задачи, требующие для своего решения экспертных знаний в некоторой конкретной области. В той или иной форме экспертные системы должны обладать этими знаниями. Поэтому их также называют системами, основанными на знаниях. Однако не всякую систему, основанную на знаниях, можно рассматривать как экспертную. Экспертная система должна также уметь каким-то образом объяснять свое поведение и свои решения пользователю, так же, как это делает эксперт-человек. Это особенно необходимо в областях, для которых характерна неопределенность, неточность информации (например, в медицинской диагностике). В этих случаях способность к объяснению нужна для того, чтобы повысить степень доверия пользователя к советам системы, а также для того, чтобы дать возможность пользователю обнаружить возможный дефект в рассуждениях системы. В связи с этим в экспертных системах следует предусматривать дружественное взаимодействие с пользователем, которое делает для пользователя процесс рассуждения системы «прозрачным».
Часто к экспертным системам предъявляют дополнительное требование — способность иметь дело с неопределенностью и неполнотой. Информация о поставленной задаче может быть неполной или ненадежной; отношения между объектами предметной области могут быть приближенными. Например, может не быть полной уверенности в наличии у пациента некоторого симптома или в том, что данные, полученные при измерении, верны; лекарство может стать причиной осложнения, хотя обычно этого не происходит. Во всех этих случаях необходимы рассуждения с использованием вероятностного подхода.
В самом общем случае для того, чтобы построить экспертную систему, мы должны разработать механизмы выполнения следующих функций системы:
1. решение задач с использованием знаний о конкретной предметной области возможно, при этом возникнет необходимости иметь дело с неопределенностью;
2. взаимодействие с пользователем, включая объяснение намерений и решений системы во время и после окончания процесса решения задачи.
Каждая из этих функций может оказаться очень сложной и зависит от прикладной области, а также от различных практических требований. В процессе разработки и реализации могут возникать разнообразные трудные проблемы.
3. Теория фреймов
Теория фреймов — это парадигма для представления знаний с целью использования этих знаний компьютером. Впервые была представлена Минским, как попытка построить фреймовую сеть, или парадигму с целью достижения большего эффекта понимания. С одной стороны Минский пытался сконструировать базу данных, содержащую энциклопедические знания, но с другой стороны, он хотел создать наиболее описывающую базу, содержащую информацию в структурированной и упорядоченной форме. Эта структура позволила бы компьютеру вводить информацию в более гибкой форме, имея доступ к тому разделу, который требуется в данный момент. Минский разработал такую схему, в которой информация содержится в специальных ячейках, называемых фреймами, объединенными в сеть, называемую системой фреймов. Новый фрейм активизируется с наступлением новой ситуации. Отличительной его чертой является то, что он одновременно содержит большой объем знаний и в то же время является достаточно гибким для того, чтобы быть использованным как отдельный элемент БД. Термин «фрейм» был наиболее популярен в середине семидесятых годов, когда существовало много его толкований, отличных от интерпретации Минского.
Итак, как было сказано выше фреймы – это фрагменты знания, предназначенные для представления стандартных ситуаций. Термин «фрейм» (Frame – рамка) был предложен Минским. Фреймы имеют вид структурированных компонентов ситуаций, называемых слотами. Слот может указывать на другой фрейм, устанавливая, таким образом, связь между двумя фреймами. Могут устанавливаться общие связи типа связи по общению. С каждым фреймом ассоциируется разнообразная информация ( в том числе и процедуры), например ожидаемые процедуры ситуации, способы получения информации о слотах, значение принимаемые по умолчанию, правила вывода.
Формальная структура фрейма имеет вид:
f[<N1, V1>, <N2, V2>, …, <Nk,Vk>],
где f – имя фрейма; пара <Ni, Vi> — i-ый слот, Ni – имя слота и Vi – его значение.
Значение слота может быть представлено последовательностью
<K1><Li>;...; <Kn><Ln>; <R1>; …; <Rm>,
где Ki – имена атрибутов, характерных для данного слота; Li – значение этих атрибутов, характерных для данного слота; Rj – различные ссылки на другие слоты.
Каждый фрейм, как структура хранит знания о предметной области (фрейм–прототип), а при заполнении слотов знаниями превращается в конкретный фрейм события или явления.
Фреймы можно разделить на две группы: фреймы-описания; ролевые фреймы.
Рассмотрим пример.
Фрейм описание: [<программное обеспечение>, <программа 1С бухгалтерия, версия 7.5>, <программа 1С торговля, версия 7.5>, <правовая программа «Консультант+» проф.>].
Ролевой фрейм: [<заявка на продажу>, <что, установка и покупка программы 1С торговля, версия 7.5>, <откуда, фирма ВМИ>, <куда, фирма «Лукойл»>, <кто, курьер Иванова>, <когда, 27 октября 1998г.>].
Во фрейме-описании в качестве имен слотов задан вид программного обеспечения, а значение слота характеризует массу и производителя конкретного вида продукции. В ролевом фрейме в качестве имен слотов выступают вопросительные слова, ответы на которые являются значениями слотов. Для данного примера представлены уже описания конкретных фреймов, которые могут называться либо фреймами – примерами, либо фреймами – экземплярами. Если в приведенном примере убрать значения слотов, оставив только имена, то получим так называемый фрейм – прототип.
Достоинство фрейма – представления во многом основываются на включении в него предположений и ожиданий. Это достигается за счет присвоения по умолчанию слотам фрейма стандартных ситуаций. В процессе поиска решений эти значения могут быть заменены более достоверными. Некоторые переменные выделены таким образом, что об их значениях система должна спросить пользователя. Часть переменных определяется посредством встроенных процедур, называемых внутренними. По мере присвоения переменным определенных значений осуществляется вызов других процедур. Этот тип представления комбинирует декларативные и процедурные знания.
Фреймовые модели обеспечивают требования структурированности и связанности. Это достигается за счет свойств наследования и вложенности, которыми обладают фреймы, т.е. в качестве слотов может выступать система имен слотов более низкого уровня, а также слоты могут быть использованы как вызовы каких-либо процедур для выполнения.
Для многих предметных областей фреймовые модели являются основным способом формализации знаний.
Чтобы лучше понять эту теорию, рассмотрим один из примеров Минского, основанный на связи между ожиданием, ощущением и чувством человека, когда он открывает дверь и входит в комнату. Предположим, что вы собираетесь открыть дверь и зайти в комнату незнакомого вам дома. Находясь в доме, перед тем как открыть дверь, у вас имеются определенные представления о том, что вы увидите, войдя в комнату. Например, если вы увидите какой-либо пейзаж или морской берег, поначалу вы с трудом узнаете их. Затем вы будете удивлены, и в конце концов дезориентированы, так как вы не сможете объяснить поступившую информацию и связать ее с теми представлениями, которые у вас имелись до того. Также у вас возникнут затруднения с тем, чтобы предсказать дальнейший ход событий. С аналитической точки зрения это можно объяснить как активизацию фрейма комнаты в момент открывания двери и его ведущую роль в интерпретации, поступающей информации. Если бы вы увидели за дверью кровать, то фрейм комнаты приобрел бы более узкую форму, и превратился бы во фрейм кровати. Другими словами, вы бы имели доступ к наиболее специфичному фрейму из всех доступных. Возможно, что вы используете информацию, содержащуюся в вашем фрейме комнаты для того чтобы распознать мебель, что называется процессом сверху вниз, или в контексте теории фреймов фреймодвижущим распознаванием. Если бы вы увидели пожарный гидрант, то ваши ощущения были бы аналогичны первому случаю. Психологи подметили, что распознавание объектов легче проходит в обычном контексте, чем в нестандартной обстановке. Из этого примера мы видим, что фрейм — это модель знаний, которая активизируется в определенной ситуации и служит для ее объяснения и предсказания. У Минского имелись достаточно расплывчатые идеи о самой структуре такой БД, которая могла бы выполнять подобные вещи. Он предложил систему, состоящую из связанных между собой фреймов, многие из которых состоят из одинаковых подкомпонентов, объединенных в сеть. Таким образом, в случае, когда кто-либо входит в дом, его ожидания контролируются операциями, входящими в сеть системы фреймов. В рассмотренном выше случае мы имеем дело с фреймовой системой для дома, и с подсистемами для двери и комнаты. Активизированные фреймы с дополнительной информацией в БД о том, что вы открываете дверь, будут служить переходом от активизированного фрейма двери к фрейму комнаты. При этом фреймы двери и комнаты будут иметь одинаковую подструктуру. Минский назвал это явление разделом терминалов и считал его важной частью теории фреймов.
Минский также ввел терминологию, которая могла бы использоваться при изучении этой теории (фреймы, слоты, терминалы и т.д.). Хотя примеры этой теории были разделены на языковые и перцептуальные, и Минский рассматривал их как имеющих общую природу, в языке имеется более широкая сфера ее применения. В основном большинство исследований было сделано в контексте общеупотребительной лексики и литературного языка.
Как наиболее доступную иллюстрацию распознаванию, интерпретации и предположению можно рассмотреть две последовательности предложений, взятых из книг Шранка и Абельсона. На глобальном уровне последовательность А явно отличается от В.
A. John went to a restaurant
He asked the waitress for a hamburger
He paid the tip & left
B. John went to a park
He asked the midget for a mouse
He picked up the box & left
Хотя все эти предложения имеют одинаковую синтаксическую структуру и тип семантической информации, понимание их кардинально различается. Последовательность А имеет доступ к некоторому виду структуры знаний высшего уровня, а В не имеет. Если бы А не имело такой доступ, то ее понимание сводилось бы к уровню В и характеризовалось бы как дезориентированное. Этот контраст является наглядным примером мгновенной работы высшего уровня структуры знаний.
Была предложена программа под названием SAM, которая отвечает на вопросы и выдает содержание таких рассказов. Например,SAM может ответить на следующие вопросы, ответы на которые не даны в тексте, с помощью доступа к записи предполагаемых событий, предшествующих обеду в ресторане.
Did John sit down in the restaurant?
Did John eat the hamburger?
Таким образом,SAM может распознать описанную ситуацию как обед в ресторане и затем предсказать оптимальное развитие событий. В нашем случае распознавание не представляло трудностей, но в большинстве случаев оно довольно непростое и является самой важной частью теории.
Рассмотрим другой пример:
C. He plunked down $5 at the window.
She tried to give him $ 2.50, but he wouldn’t take it.
So when they got inside, she bought him a large bag of popcorn.
Он интересен тем, что у большинства людей он вызывает цикл повторяющихся неправильных или незаконченных распознаваний и реинтерпретаций.
В случаях с многозначными словами многозначность разрешается с помощью активизированного ранее фрейма. Для этих целей необходимо создать лексикон к каждому фрейму. Когда фрейм активизируется, соответствующему лексикону отдается предпочтение при поиске соответствующего значения слова. В контексте ТФ это распознавание процессов, контролируемых фреймами, которые, в свою очередь, контролируют распознавание входящей информации. Иногда это называется процессом сверху — вниз фреймодвижущего распознавания.
Применение этих процессов нашло свое отражение в программе FRAMP, которая может суммировать газетные сводки и классифицировать их в соответствие с классом событий, например терроризм или землетрясения.
Эта программа хранит набор объектов, которые должны быть описаны в каждой разновидности текстов, и этот набор помогает процессу распознавания описываемых событий .
Детали спецификации фреймов и их репрезентации могут быть опущены, так же как и алгоритмы, их манипуляции, потому что они не играют большой роли в ТФ.
Такие вопросы, как размер фрейма или доступ к нему, связаны с организацией памяти и не требуют специального рассмотрения.
В литературе имеется много рассуждений по поводу процессов, касающихся распознавания фреймов и доступа к структуре знаний высшего уровня. Несмотря на то, что люди могут распознать фрейм без особых усилий, для компьютера в большинстве случаев это довольно сложная задача. Поэтому вопросы распознавания фреймов остаются открытыми и трудными для решения с помощью ИИ.
Размер фрейма гораздо более тесно связан с организацией памяти, чем это кажется на первый взгляд. Это происходит потому, что в понимании человека размер фрейма определяется не столько семантическим контекстом, но и многими другими факторами. Рассмотрим фрейм визита к доктору, который складывается из подфреймов, одним из которых является комната ожидания. Таким образом, мы можем сказать, что размер фрейма не зависит от семантического содержания представленного фрейма (такого, как, например, визит к врачу), но зависит от того, какие компоненты описывающей информации во фрейме (таком, как комната ожидания) используются в памяти. Это означает, что когда определенный набор знаний используется памятью более чем в одной ситуации, система памяти определяет это, затем модифицирует эту информацию во фрейм, и реструктурирует исходный фрейм так, чтобы новый фрейм использовался как его подкомпонент.
Вышеперечисленные операции также остаются открытыми вопросами в ТФ.
Рош предложил три уровня категорий представления знаний: базовую, субординатную и суперординационную. Например, в сфере меблировки концепция кресла является примером категории основного уровня, а концепция мебели — это пример суперординационной категории. Язык представления знаний подвержен влиянию этой таксономии и включает их как различные типы данных. В сфере человеческого общения категории основного уровня являются первейшими категориями, которые узнают человек, другие же категории вытекают из них. То есть суперординационная категория — это обобщение базовой, а субординатная — это подраздел базовой категории.
пример
суперординатная идеи события
базовая события действия
субординатная действия прогулка
Каждый фрейм имеет свой определенный так называемый слот. Так, для фрейма действие слот может быть заполнен только каким-либо исполнителем этого действия, а соседние фреймы могут наследовать этот слот.
Некоторые исследователи предположили, что случаи грамматики падежей совпадают со слотами в ТФ, и эта теория была названа теорией идентичности слота и падежа. Было предложено число таких падежей, от 8 до 20, но точное число не определено. Но если агентив полностью совпадает со своим слотом, то остальные падежи вызвали споры. И до сих пор точно не установлено, сколько всего существует падежей.
Также вызвал трудность тот факт, что слоты не всегда могут быть переходными. Например, в соответствие с ТФ можно сказать, что фрейм одушевленный предмет может иметь слот живой, фрейм человек может иметь слот честный, а фрейм блоха не может иметь такой слот, и он к нему никогда не перейдет.
Другими словами, связи между слотами в ТФ не являются исследованными до конца. Слоты могут передаваться, могут быть многофункциональны, но в то же время не рассматриваются как функции.
СФ иногда адаптируются для построения описаний или определений. Был создан смешанный язык, названный KRYPTON, состоящий из фреймовых компонентов и компонентов предикатных исчислений, помогающих делать какие-либо выводы с помощью терминов и предикатов. Когда активизируется фрейм, факты становятся доступными пользователю. Также существует язык Loops, который объединяет объекты, логическое программирование и процедуры.
Существуют также фреймоподобные языки, которые за исходную позицию принимают один тип данных в памяти, какую-либо концепцию, а не две (например, фрейм и слот), и представление этой концепции в памяти должно быть цельным.
· Объектно-ориентированные языки
Параллельно с языками фреймов существуют объектно-ориентированные программные языки, которые используются для составления программ, но имеют некоторые свойства языков фреймов, такие, как использование слотов для детальной, доскональной классификации объектов. Отличие их от языков фреймов в том, что фреймовые языки направлены на более обобщенное представление информации об объекте.
Одной из трудностей представления знаний и языка фреймов является отсутствие формальной семантики. Это затрудняет сравнение свойств представления знаний различных языков фреймов, а также полное логическое объяснение языка фреймов.
4. Структура экспертной системы
При разработке экспертной системы принято делить ее на три основных модуля:
1. база знаний;
2. машина логического вывода;
3. интерфейс с пользователем.
База знаний содержит знания, относящиеся к конкретной прикладной области, в том числе отдельные факты, правила, описывающие отношения или явления, а также, возможно, методы, эвристики и различные идеи, относящиеся к решению задач в этой прикладной области.
Машина логического вывода умеет активно использовать информацию, содержащуюся в базе знаний.
Интерфейс с пользователем отвечает за бесперебойный обмен информацией между пользователем и системой; он также дает пользователю возможность наблюдать за процессом решения задач, протекающим в машине логического вывода.
Принято рассматривать машину вывода и интерфейс как один крупный модуль, обычно называемый оболочкой экспертной системы, или, для краткости, просто оболочкой.
В описанной выше структуре собственно знания отделены от алгоритмов, использующих эти знания. Такое разделение удобно по следующим соображениям. База знаний, очевидно, зависит от конкретного приложения. С другой стороны, оболочка, по крайней мере в принципе, независима от приложений. Таким образом, разумный способ разработки экспертной системы для нескольких приложений сводится к созданию универсальной оболочки, после чего для каждого приложения достаточно подключить к системе новую базу знаний. Разумеется, все эти базы знаний должны удовлетворять одному и тому же формализму, который оболочка «понимает». Практический опыт показывает, что для сложных экспертных систем сценарий с одной оболочкой и многими базами знаний работает, не так гладко, как бы этого хотелось, за исключением тех случаев, когда прикладные области очень близки. Тем не менее, даже если переход от одной прикладной области к другой требует модификации оболочки то, по крайней мере основные принципы ее построения обычно удается сохранить.
Для создания оболочки, при помощи которой можно проиллюстрировать основные идеи и методы в области экспертных систем, можно придерживаться следующего плана:
•Выбрать формальный аппарат для представления знаний.
•Разработать механизм логического вывода, соответствующий этому формализму.
•Добавить средства взаимодействия с пользователем.
•Обеспечить возможность работы в условиях неопределенности.
5. Методы приобретения знаний.
Приобретение знаний реализуется с помощью двух функций: получения информации извне и ее систематизации. При этом в зависимости от способности системы обучения к логическим выводам возможны различные формы приобретения знаний, а также различные формы получаемой информации. Форма представления знаний для их использования определяется внутри системы, поэтому форма информации, которую она может принимать, зависит от того, какие способности имеет система для формализации информации до уровня знаний. Если обучающаяся система совсем лишена такой способности, то человек должен заранее подготовить все, вплоть до формализации информации, т. е. чем выше способности машины к логическим выводам, тем меньше нагрузка на человека.
Функции, необходимые обучающейся системе для приобретения знаний, различаются в зависимости от конфигурации системы. В дальнейшем при рассмотрении систем инженерии знаний предполагается, что Существует система с конфигурацией, показанной на рис, 1.1, которая включает базу знаний и механизм логических выводов, использующий эти знания при решении задач. Если база знаний пополняется знаниями о стандартной форме их представления, то этими знаниями также можно воспользоваться. Следовательно, от функций обучения требуется преобразование полученной извне информации в знания и пополнение ими базы знаний.
Рис.1 Базовая структура систем обработки знаний
Можно предложить следующую классификацию систем приобретения знаний, которая будет опираться на способность системы к восприятию знаний в разных форматах, качественно различающихся между собой и способностью к формализации (рис 2).
Рис 2.Классификация методов приобретения знаний.
6. АНАЛИЗ СНИЗУ ВВЕРХ И СВЕРХУ ВНИЗ
“Сверху вниз”, “снизу вверх”, “прямой”, “обратный”, “управляемый данными”, “движимый целью” — три пары определений для таких терминов, как “цепной анализ”, “парсинг”, “синтаксический разбор”, “логический анализ” и “поиск”. В принципе, все эти термины отражают сходные отношения, и различие между ними состоит лишь в том, что они взяты из различных подобластей компьютерной науки и искусственного интеллекта (парсинг, системы с заложенными в них правилами, поисковые системы и системы, направленные на решение проблем и т.д.)
Суть этих противопоставлений можно проиллюстрировать на примере парадигмы поиска. Основная задача любого поиска состоит в том, чтобы определить маршрут, по которому вы будете перемещаться с настоящей позиции к вашей цели. Если вы начнете поиск с текущей позиции и будете продолжать его, пока не наткнетесь на желаемый результат, — это так называемый прямой поиск или поиск снизу вверх. Если вы мысленно ставите себя в то место, где вы хотите очутиться в результате поиска и определяете маршрут, двигаясь в обратном направлении, т.е. туда, где вы действительно находитесь в настоящий момент, — это поиск в обратном направлении или поиск сверху вниз. Обратите внимание на то, что, определив маршрут в результате обратного поиска, вам все же предстоит добраться до своей цели. Несмотря на то, что сейчас вы движетесь вперед, это не является прямым поиском, т.к. поиск уже был осуществлен ранее, причем в обратном направлении.
Эти же противопоставления можно рассмотреть на примере систем с встроенными правилами. Представим себе, что правило состоит из набора антецедентов и набора следствий. Когда система определяет, что все антецеденты определенного правила удовлетворены, это правило вызывается и выполняется (выполняется ли каждое вызванное правило зависит от специфики конкретной системы). После этого в базу знаний заносятся утверждения, полученные в результате выполнения правила, и выполняются соответствующие операции. Данный процесс происходит вышеописанным образом, независимо от того, применяет ли система прямой или обратный логический анализ. Чтобы проиллюстрировать различия между ними, следует отдельно рассмотреть процедуру активации правила. Вызываются только активированные правила. При прямом логическом анализе (снизу вверх), когда в систему добавляются новые данные, они сравниваются со всеми антецедентами всех правил. Если данные соответствуют антецеденту правила, то это правило активируется (если оно еще не является активированным), и если подобраны все антецеденты определенного правила, то оно вызывается. Утверждения, полученные в результате выполнения правила, заносятся в базу знаний и рассматриваются в качестве новых данных, сравниваются с антецедентами и могут вызвать активацию и вызов дополнительных правил. При обратном логическом анализе (сверху вниз) при добавлении данных правила не активируются. Когда система получает запрос, он сравнивается со всеми следствиями всех правил. Если запрос совпадает со следствием, то это правило активируется, а все его антецеденты рассматриваются в качестве вторичных запросов и могут вызвать активацию дополнительных правил. Когда запрос соответствует не ограниченному условием утверждению базы знаний, на него поступает ответ, и если этот запрос исходил от антецедента, считается, что он удовлетворяет последнему. Когда все антецеденты некоторого правила будут удовлетворены, правило вызывается и выполняется. При выполнении правила осуществляется ответ на запросы, которые его активировали, и теперь другие антецеденты считаются удовлетворенными и могут вызываться соответствующие им правила. Обратите внимание на то, что вызов и выполнение правила всегда происходит в прямой последовательности, а отличие прямого цепного анализа от обратного состоит в том, когда активируется правило.
Сравнение
Эффективность. Выбор вида анализа (сверху вниз или снизу вверх) зависит от конфигурации дерева, по которому осуществляется поиск. Если в среднем каждому элементу следует большее количество элементов, нежели предшествует, то анализ сверху вниз (или обратный анализ) будет более эффективным и наоборот. Рассмотрим крайний случай. Допустим, что поисковая область образует дерево с вершиной в начальном состоянии. Тогда при использовании прямого подхода нам придется осуществлять поиск практически по всему дереву, тогда как при обратном подходе — только в его линейной части.
Сравнение и унификация. В системах с заложенными правилами или системах логического анализа выбор прямого или обратного цепного анализа влияет на степень трудности процесса сравнения. При прямом цепном анализе системе постоянно предъявляются новые факты, не имеющие свободных переменных. Таким образом постоянно проводится сравнение антецедентов, вполне вероятно обладающих свободными переменными, с фактами, не обладающими таковыми.
С другой стороны, системам с обратным цепным анализом често задают специальные вопросы. Если правила изложены в логике предикатов, а не логике суждений, тогда производится сравнение вопроса с переменной со следствием с переменными. Вторичные запросы также могут содержать переменные, поэтому, в общем, системы с обратным цепным анализом должны быть разработаны таким образом, чтобы они могли сравнивать две символьные структуры, каждая из которых может содержать переменные, для чего потребуется создание алгоритма унификации.
Смешанные стратегии
Поиск в двух направлениях. Если не ясно, какой вид поиска — прямой или обратный — является наиболее приемлимым для конкретного приложения, следует осуществлять поиск в двух направлениях. В таком случае, отправными точками становятся начальное и конечное состояние, и поиск осуществляется по направлению к центру.
Вывод по двум направлениям. При данном подходе изначальные данные применяются для активирования правил, котоые перебирают другие антецеденты в обратном порядке. Вторичные запросы, которые не соответствуют ни следствиям, ни данным, сохраняются в качестве “демонов”, которые могут быть удовлетворены позднее за счет новых или позднее поступивших данных. Систему можно разработать таким образом, что данные, удовлетворяющие “демонам” (антецеденты активированных правил) не будут активировать дополнительные правила, что “заставит” систему при предстоящем прямом выводе сконцентрироваться на правилах, учитывающих предыдущий контекст.
Разбор с началом в левом углу. Применив вышеописанный метод к парсингу, мы получим так называемый разбор с началом в левом углу. В терминах примера, приведенного в разделе парсинг, система сначала рассмотрит “they”, найдет правило 9 — единственное правило, которое можно применить к этому слову, затем правило 3, объясняющее PRO, а затем правило 1, как единственное правило, следствие которого начинается с NP. Далее система попытается разобрать сверху вниз “are flying planes” как VP.
7. Пример разработки экспертной системы.
Рассмотрим на конкретном примере организацию взаимодействия пользователя с экспертной системой. Предметная область этой экспертной системы – продажи бухгалтерских и правовых систем (режим диалога с пользователем для правильного выбора программного обеспечения). Предположим, что фрагмент базы знаний содержит следующий набор правил:
1. ЕСЛИ класс – бухгалтерские программы
И форма конфигурирования системы должна быть жесткой (пользователь не будет иметь возможности сам конфигурировать какие-либо входные или выходные документы)
ТО лучше всего для вас подходит бухгалтерская программа 1С версия 6.0.
2. ЕСЛИ класс – бухгалтерские программы
И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)
И программа разработана под оболочку DOS.
ТО лучше всего для вас подходит система бухгалтерских программ «Бест».
3. ЕСЛИ класс – бухгалтерские программы
И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)
И программа разработана под оболочку Windows95.
И программа одноуровневая.
ТО лучше всего вам подходит бухгалтерская программа «Инфо Бухгалтер».
4. ЕСЛИ класс – бухгалтерские программы
И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы).
И программа разработана под оболочку Windows95.
И программа не одноуровневая.
ТО лучше всего для вас подходит система бухгалтерских программ «Турбо Бухгалтер».
5. ЕСЛИ тип – правовые системы.
И пополнение информационной базы происходит еженедельно (минимум), посредством курьера.
ТО лучше всего вам подходит правовая программа «Гарант».
6. ЕСЛИ тип – правовые системы
И пополнение информационной базы происходит ежемесячно (минимум), через покупку нового CD-ROM.
ТО лучше всего вам подходит правовая программа «Кодекс».
7. ЕСЛИ тип – правовые системы.
И пополнение информационной базы происходит ежемесячно (минимум), через покупку нового CD-ROM или еженедельно (минимум), посредством курьера.
ТО лучше всего вам подходит правовая программа «Эталон».
8. ЕСЛИ тип – складские программы.
И форма конфигурирования системы должна быть жесткой (пользователь не будет иметь возможности сам конфигурировать какие-либо входные или выходные документы)
ТО лучше всего вам подходит правовая складская программа «Фолио».
9. ЕСЛИ тип – складские программы.
И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)
ТО лучше всего вам подходит правовая программа склад «1С версия 7.5».
Предположим, что перед пользователем стоит задача узнать какое обеспечение, из широкого спектра предлагаемого сейчас программного обеспечения ему наиболее подойдет, учитывая специфику ПК на который предполагается установить это ПО. С помощь некоторых базовых правил фирмы «Элком-Информ», составлена некоторая экспертная система, которая поможет пользователю в его нелегком выборе. Сеанс диалога может иметь следующий вид:
ЭС: Какое программное обеспечение вы хотели бы приобрести? (правовое, бухгалтерское, складское).
Пользователь: Бухгалтерское
ЭС: Форма конфигурирования системы должна быть жесткой (пользователь не будет иметь возможности сам конфигурировать какие-либо входные или выходные документы)? (да, нет).
Пользователь: Нет.
ЭС: Форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)?
Пользователь: Да
ЭС: Программа должна быть разработана под оболочку Windows95?
Пользователь: Да.
ЭС: Программа должна быть одноуровневая? (да, нет).
Пользователь: Нет.
ЭС: Программа должна быть не одноуровневая?
Пользователь: Да
ЭС: Лучше всего для вас подходит система бухгалтерских программ «Турбо Бухгалтер».
Если пользователь заинтересуется, почему сделаны такие выводы, то экспертная система выдаст эти правила и укажет соответствие между ответами пользователя, правилами и ответом экспертной системы.
8. Правила типа «если-то» для представления знаний.
В качестве кандидата на использование в экспертной системе можно рассматривать, в принципе, любой непротиворечивый формализм, в рамках которого можно описывать знания о некоторой проблемной области. Однако самым популярным формальным языком представления знаний является язык правил типа «если-то» (или кратко: «если-то»-правил), называемых также продукциями. Каждое такое правило есть, вообще говоря, некоторое условное утверждение, но возможны и различные другие интерпретации. Вот примеры:
•если предварительное условие P то заключение (вывод) C
•если ситуация S то действие A
•если выполнены условия C1 и C2 то не выполнено условие C
«Если-то»-правила обычно оказываются весьма естественным выразительным средством представления знаний. Кроме того, они обладают следующими привлекательными свойствами:
1. Модульность: каждое правило описывает небольшой, относительно независимый фрагмент знаний.
2. Возможность инкрементного наращивания: добавление новых правил в базу знаний происходит относительно независимо от других правил.
3. Удобство модификации (как следствие модульности): старые правила можно изменять и заменять на новые относительно независимо от других правил.
4. Применение правил способствует прозрачности системы.
Последнее свойство — это важное, относительное свойство экспертных систем. Под прозрачностью мы понимаем способность системы к объяснению принятых решений и полученных результатов. Применение «если-то»-правил облегчает получение ответов на следующие основные типы вопросов пользователя:
•Вопросы типа «как»: Как вы пришли к этому выводу?
•Вопросы типа «почему»: Почему вас интересует эта информация?
«Если-то»-правила часто применяют для определения логических отношений между понятиями предметной области. Про чисто логические отношения можно сказать, что они принадлежат к «категорическим знаниям», «категорическим» — потому, что соответствующие утверждения всегда, абсолютно верны. Однако в некоторых предметных областях, таких как медицинская диагностика, преобладают «мягкие» или вероятностные знания. Эти знания являются «мягкими» в том смысле, что говорить об их применимости к любым практическим ситуациям можно только до некоторой степени («часто, но не всегда»). В таких случаях используют модифицированные «если-то»-правила, дополняя их логическую интерпретацию вероятностной оценкой. Например:
если условие A, то заключение B с уверенностью F
Вообще говоря, если вы хотите разработать серьезную экспертную систему для некоторой выбранной вами предметной области, вы должны провести консультации с экспертами в этой области и многое узнать о ней сами. Достигнуть определенного понимания предметной области после общения с экспертами и чтения литературы, а затем облечь это понимание в форму представления знаний в рамках выбранного формального языка — искусство, называемое инженерией знаний. Как правило, это сложная задача, требующая больших усилий.
Рассмотрим небольшую базу знаний, которая может помочь локализовать неисправности в простой электрической схеме, состоящей из электрических приборов и предохранителей. Электрическая схема показана на рис. 6. Вот одно из возможных правил:
если
лампа1 включена и
лампа1 не работает и
предохранитель1 заведомо цел
то
лампа1 заведомо неисправна.
Вот другой пример правила:
если
радиатор работает
то
предохранитель1 заведомо цел.
Эти два правила опираются на некоторые факты (относящиеся к нашей конкретной схеме), а именно что лампа1 соединена с предохранитель1 и что лампа1 и радиатор имеют общий предохранитель. Для другой схемы нам понадобится еще один набор правил. Поэтому было бы лучше сформулировать правила в более общем виде (используя прологовские переменные) так, чтобы они были применимы к любой схеме, а затем дополнять их информацией о конкретной схеме. Например, вот одно из полезных правил: если прибор включен, но не работает, а соответствующий предохранитель цел, то прибор неисправен. На формальный язык это транслируется так:
правило поломки:
если
Прибор включен и
не (Прибор работает) и
Прибор соединен с Предохранитель и
Предохранитель заведомо цел
то
Прибор заведомо неисправен.
Заключение
Обычно в системах искусственного интеллекта применяется один из двух видов анализа. Первый — это анализ снизу вверх или прямой анализ, а второй- сверху вниз или обратный. Различие их определяется тем, в каком направлении ведется поиск (от начала в конец или наоборот) и какой элемент (следствие или антецедент) активирует правила.
Фактор эффективности и легкости внедрения может сыграть решающую роль при выборе вида анализа, который будет применяться в определенном приложении, но следует помнить, что использование смешанных стратегий также возможно.
Список литературы.
1. С. М. Шалютин “Искусственный интеллект”, М.: Мысль, 1985
2. А. Эндрю “Искусственный интеллект”, М.: Мир, 1985
3. Н. Винер “Кибернетика”, М.: Наука, 1983
4. Г. Клаус “Кибернетика и философия”, М.: Иностранная литература, 1963
5. В.Л. Стефанюк “Экспертные системы и их применение”: Курс лекций.
6. “Новости искуственного интелекта”, Москва – 1993.
7. “Вычислительная техника и ее применение”: Москва 1989г. №2
www.ronl.ru