Диагностика неисправностей в механических и электрических устройствах.




В этой сфере системы, основанные на знаниях, незаменимы как при ремонте механических и электрических машин (автомобилей, дизельных локомотивов и т.д.), так и при устранении неисправностей и ошибок в аппаратном и программном обеспечении компьютеров.

Обучение.

Итак, основными областями применения ЭС являются:

· медицина

· электроника

· вычислительная техника

· геология

· математика

· космос

· сельское хозяйство

· управление

· финансы

· юриспруденция и т.д.

 

8. База знаний и база данных в экспертных системах.

База знаний - важная компонента экспертной системы, она предназначена для хранения долгосрочных данных, описывающих рассматриваемую предметную область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области. В качестве предметной области выбирается узкая (специальная) прикладная область. Далее доя создания ЭС в выбранной области собираются факты и правила, которые помещаются в базу знаний вместе с механизмами вывода и упрощения. В отличие от всех остальных компонент ЭС, база знаний - "переменная " часть системы, которая может пополняться и модифицироваться инженерами знаний и опыта использование ЭС, между консультациями (а в некоторых системах и в процессе консультации). Существует несколько способов представления знаний в ЭС, однако общим для всех них является то, что знания представлены в символьной форме (элементарными компонентами представления знаний являются тексты, списки и другие символьные структуры). Тем самым, в ЭС реализуется принцип символьной природы рассуждений, который заключается в том, что процесс рассуждения представляется как последовательность символьных преобразований. Существуют динамические и статические базы знаний. Динамическая база знаний изменяется со временем. Ее содержимое зависит и от состояния окружающей. Новые факты, добавляемые в базу знаний, являются результатом вывода, который состоит в применении правил к имеющимся фактам. В системах с монотонным выводом факты, хранимые в базе знаний, статичны, то есть не изменяются в процессе решения задачи. В системах с немонотонным выводом допускается изменение или удаление фактов из базы знаний. В качестве примера системы с немонотонным выводом можно привести ЭС, предназначенную для составления перспективного плана капиталовложения компании. В такой системе по вашему желанию могут быть изменены даже те данные, которые после вывода уже вызвали срабатывание каких-либо правил. Иными словами имеется возможность модифицировать значения атрибутов в составе фактов, находящихся в рабочей памяти. Изменение фактов в свою очередь приводит к необходимости удаления из базы знаний заключений, полученных с помощью упомянутых правил. Тем самым вывод выполняется повторно для того, чтобы пересмотреть те решения, которые были получены на основе подвергшихся изменению фактов.

База данных

База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи.

9. Механизм логического вывода.

Основу ЭС составляет подсистема логического вывода, которая использует информацию из базы знаний (БЗ), генерирует рекомендации по решению искомой задачи. Чаще всего для представления знаний в ЭС используются системы продукций и семантические сети. Допустим, БЗ состоит из фактов и правил (если <посылка> то <заключение>). Если ЭС определяет, что посылка верна, то правило признается подходящим для данной консультации и оно запускается в действие. Запуск правила означает принятие заключения данного правила в качестве составной части процесса консультации. Цель ЭС - вывести некоторый заданный факт, который называется целевым утверждением (то есть в результате применения правил добиться того, чтобы этот факт был включен в рабочее множество), либо опровергнуть этот факт (то есть убедиться, что его вывести невозможно, следовательно, при данном уровне знаний системы он является ложным). Целевое утверждение может быть либо "заложено" заранее в базу знаний системы, либо извлекается системой из диалога с пользователем. Работа системы представляет собой последовательность шагов, на каждом из которых из базы выбирается некоторое правило, которое применяется к текущему содержимому рабочего множества. Цикл заканчивается, когда выведено либо опровергнуто целевое утверждение. Цикл работы экспертной системы иначе называется логическим выводом Логический вывод может происходить многими способами, из которых наиболее распространенные - прямой порядок вывода и обратный порядок вывода. Прямой порядок вывода - от фактов, которые находятся в рабочем множестве, к заключению. Если такое заключение удается найти, то оно заносится в рабочее множество. Прямой вывод часто называют выводом, управляемым данными. Для иллюстрации добавим к нашему примеру базы знаний о погоде еще одно правило:

ЕСЛИ скоро пойдет дождь

ТО нужно взять с собой зонтик. (правило2)

Предположим также, что факты "Небо покрыто тучами" и "Барометр падает" имеются в рабочем множестве, а целью системы является ответ на вопрос пользователя: "Нужно взять с собой зонтик?"
При прямом выводе работа системы будет протекать следующим образом:

Шаг 1. Рассматривается правило 1. Его условие истинно, так как оба элемента конъюнкции имеются в рабочем множестве. Применяем правило 1; добавляем к рабочему множеству факт "Скоро пойдет дождь".
Шаг 2. Рассматривается правило 2. Его условие истинно, т.к. утверждение из условия имеется в рабочем множестве. Примеряем правило 2; добавляем к рабочему множеству факт "Нужно взять с собой зонтик". Целевое утверждение выведено.
Обратный порядок вывода: заключения просматриваются до тех пор, пока не будет обнаружены в рабочей памяти или получены от пользователя факты, подтверждающие одно из них. В системах с обратным выводом вначале выдвигается некоторая гипотеза, а затем механизм вывода в процессе работы, как бы возвращается назад, переходя от нее к фактам, и пытается найти среди них те, которые подтверждают эту гипотезу. Если она оказалась правильной, то выбирается следующая гипотеза, детализирующая первую являющаяся по отношению к ней подцелью. Далее отыскиваются факты, подтверждающие истинность подчиненной гипотезы. Вывод такого типа называется управляемым целями. Обратный поиск применяется в тех случаях, когда цели известны и их сравнительно немного.

В рассматриваемом примере вывод целевого утверждения "Нужно взять с собой зонтик" обратной цепочкой рассуждений выполняется следующим образом:

Шаг 1. Рассматривается правило 1. Оно не содержит цели в правой части. Переходим к правилу 2.
Шаг 2. Рассматривается правило 2. Оно содержит цель в правой части правила. Переходим к правой части правила и рассматриваем в качестве текущей цели утверждения "Скоро пойдет дождь".
Шаг 3. Текущей цели нет в рабочем множестве. Рассмотрим правило 1, которое содержит цель в правой части. Обе компоненты его условия имеются в рабочем множестве, так что условие истинно. Применяем привило 1; в результате выводим утверждение "Скоро пойдет дождь"; которое было нашей предыдущей целью.
Шаг 4. Применяем правило 2. условием которого является данное утверждение. Получаем вывод исходного утверждения.

Заметим, что для упрощения ситуации мы предположили, что в обоих случаях факты "Небо покрыто тучами" и "Барометр падает" уже известны системе. На самом деле система выясняет истинность или ложность факта, входящего в условие некоторого правила, спрашивая об этом пользователя в тот момент, когда она пытается применить правило. Приведенный пример сознательно выбран очень простым и не отражающим многих проблем, связанных с организацией вывода в экспертной системе. В частности, из примера может создаться впечатление, что прямая цепочка рассуждений эффективнее, чем обратная, что на самом деле, вообще говоря, не так. Эффективность той или иной стратегии вывода зависит от характера задачи и содержимого базы знаний. В системах диагностики чаще применяется прямой вывод, в то время как в планирующих системах более эффективным оказывается обратный вывод. В некоторых системах вывод основывается на сочетании обратного и ограниченно- прямого. Такой комбинированный метод получил название циклического.

 

10. Модуль объяснения. Назначение и функции.

Объяснительный компонент ЭС объясняет, как система получила решение задачи (или почему она не получила решение) и какие знания она при этом использовала, что облегчает эксперту тестирование и повышает доверие пользователя к полученному результату. Поскольку системы, основанные на знаниях, реализуются на компьютерах, то и входная информация воспринимается или в виде, понятном компьютеру, т.е. в битах и байтах. Однако для того чтобы мог взаимодействовать неподготовленный пользователь, в нее требуется включить средства общения на естественном языке. Подавляющее большинство систем, основанных на знаниях, обладают достаточно примитивным интерфейсом на естественном языке - допустимые входные сообщения пользователя ограничены набором понятий, содержащихся в базе знаний. Итак, на примере простой ЭС и базы знаний диалог пользователя с системой можно представить себе следующим образом:

Система: Вы хотите узнать, нужно ли взять с собой зонтик?
Пользователь: Да.
Система: Верно ли, что небо покрыто тучами?
Пользователь: Да.
Система: Верно ли, что барометр падает?
Пользователь: Да.
Система: (после некоторого "размышления") Нужно взять с собой зонтик.

Как видно из этого примера, в ходе консультации инициатива диалога принадлежит системе, а сама консультация у ЭС выглядит так же, как и консультация у эксперта- человека: задается ряд вопросов и на основании их анализа выдается экспертное заключение. Однако в отличие от беседы со специалистом, диалог с ЭС имеет свои психологические особенности: большинство пользователей (по вполне понятным причинам, таким, как отсутствие опыта работы на компьютерах, лаконичность диалога с ЭС, отсутствие пояснений в ходе консультации и другим) склонны меньше доверять "мнению" ЭС, чем мнению "живого" эксперта. Чтобы удостовериться в "разумности" и "компетентности" ЭС, пользователь может обратиться к ее подсистеме объяснения. Рассмотрим теперь работу подсистемы объяснения. Для получения объяснения в процессе консультации пользователь может "перехватить инициативу" диалога в тот момент, когда система задает очередной вопрос, "переспросив" в ответ систему, почему она его задала. Таким образом, вместо ответа на вопрос системы, пользователь может задать ей встречный вопрос: ПОЧЕМУ? (" Почему система задала такой вопрос?"). Система интерпретирует вопрос "Почему?" в "понятных" ей терминах дерева вывода, поднимаясь по нему на один ярус выше и находя правило, для применения которого система задает этот вопрос. Пользователю выдается информация об этом правиле, о состоянии вычисления его условиям о заключении данного правила (текущей цели). Пусть в нашем примере диалога с ЭС пользователь вместо ответа на вопрос системы: "Верно ли, что барометр падает?" задает ей встречный вопрос: "ПОЧЕМУ?". ЭС обращается к подсистеме объяснения, которая выдает пользователю следующее сообщение:

[1.0] Эта информация необходима, чтобы установить, что скоро пойдет дождь.
Ранее было установлено, что:
[1.1] Небо покрыто тучами.
Следовательно, если:
[1.2] Барометр падает, то скоро пойдет дождь.(Правило 1).

Двойные номера в квадратных скобках имеют следующий смысл. Для облегчения работы пользователя подсистема объяснения нумерует свои ответы (номер ответа, в данном случае- 1. является первой цифрой номера), а в каждом ответе- нумерует также утверждения, о которых в нем идет речь. Пользователь может использовать двойные номера для ссылок на утверждения, не выписывая их явно. Например, номер 1.1 обозначает утверждение "Небо покрыто тучами". Допустим, что пользователь хочет еще дальше проследить логику рассуждений системы и узнать, почему ей необходимо установить, скоро ли пойдет дождь. Для этого он может повторно задать ей вопрос:

ПОЧЕМУ?
("Почему необходимо установить, что скоро пойдет дождь?"). Второй ответ системы аналогичен первому; в нем указывается, что это необходимо для применения правила 2 с целью установить, что нужно взять с собой зонтик:
[2.0] Эта информация необходима, чтобы установить, что нужно взять с собой зонтик. Если: [2.1] Скоро пойдет дождь, то нужно взять с собой зонтик. (Правило 2).

Утверждение [2.0] является исходным целевым утверждением системы. Таким образом, теперь ход рассуждений системы пользователю полностью понятен. Вопрос "ПОЧЕМУ?" позволяет проследить ход рассуждений системы от посылок к заключениям. Однако для более детального осмысления процесса вывода удобно было бы иметь возможность изучать его и в противоположном порядке- от заключений к посылкам. Для этого служит другой вопрос, который также "понимает" подсистема объяснений:

КАК N?

где N- номер утверждения, выданный подсистемой объяснения на одном из предыдущих шагов диалога. Например, в ответ на вопрос:

КАК 2.0?

"Как получен утверждение 2.0?" подсистема объяснения выдает информацию в правиле, которое было применено для его получения: [3.1] Используется правило 2, заключением которого является, что нужно взять с собой зонтик. Чтобы получить более подробную информацию о том, как было использовано правило 2, следует повторно задать вопрос "КАК?":

КАК 3.1? "Как было использовано правило 2?".
Ответ системы: Ранее установлено, что: [4.1] Скоро пойдет дождь. Следовательно, нужно взять с собой зонтик. Выясним теперь, как получено утверждение 4.1:

КАК 4.1?
Ответ системы: [5.1] Используется правило 1, заключением которого является, что скоро пойдет дождь. Наконец, выясним, как использовано правило 1:

КАК 5.1?
Ответ системы:
Ранее установлено, что:
[6.1] Небо покрыто тучами.
[6.2] Барометр падает.
Следовательно, скоро пойдет дождь.

Как были получены утверждения 6.1 и 6.2, пользователь помнит, поскольку он отвечал на вопросы системы относительно этих утверждений. Если все же он задаст системе вопрос КАК 6.1? или КАК 6.2?, то система напомнит ему об этом. Описанная модель объяснения используется в системе MYCIN. Достоинством ее является возможность получения объяснения любого шага работы системы, недостатком - жесткая привязка к дереву вывода. Для пользователя- непрограммиста такой способ объяснения может показаться излишне детализованным и слишком формальным, а нужно было бы объяснение на "более высоком уровне"- с точки зрения здравого смысла и без углубления в детали. Подобные модели объяснения только начинают появляться в ЭС и требуют более сложной организации знаний.

11. Ввод и редактирование знаний в ЭС

ЭС может функционировать в 2-х режимах.

1) Режим ввода знаний — в этом режиме эксперт с помощью инженера по знаниям посредством редактора базы знаний вводит известные ему сведения о предметной области в базу знаний ЭС.

2) Режим консультации — пользователь ведет диалог с ЭС, сообщая ей сведения о текущей задаче и получая рекомендации ЭС. Например, на основе сведений о физическом состоянии больного ЭС ставит диагноз в виде перечня заболеваний, наиболее вероятных при данных симптомах.

12. Интегрированные экспертные системы. Функции и область применения.

По степени интегрирования ЭС делят на простые и интегрированные. Интегрированные экспертные системы содержат подсистемы традиционного программирования: СУБД, электронные таблицы, системы моделирования и др.

Система ExPRO является интегрированной системой. Так как она для достижения оптимального результата может взаимодействует со следующими программами:

13) Microsoft Excel

14) Microsoft Word

15) Различные СУБД(Microsoft Access)

Очень важным показателем является степень интеграции ЭС в ту или иную программу...

Не стоит сильно увеличивать возможности ЭС в области интеграции, чтобы система не получилось очень сложной и трудной для освоения, но и скудной она не должна быть.

Система ExPRO может выполнять стандартные SQL завпросы например

Кол_хлеб=ЗАПРОС("Склады.mdb","SELECT Склад, Товар, Количество FROM Склад WHERE (Товар="Хлеб" AND Количество>10)")

Также стоит различать интеграцию и расширение функциональности ЭС.

Главное отличие в том, что функциональность – это внутренние возможности ЭС, а интеграция – это взаимодействие с другой программой.

ПРИМЕР.

В системе ExPRO разрабатываются графические возможности. Это не означает, что система использует возможности каких-то графических редакторов.

13. Инструментальные средства создания ЭС

Инструментальные средства подразделяются на следующие категории:

  • Языки программирования
  • Языки инженерии знаний
  • Средства автоматизации разработки экспертных систем
  • Оболочки экспертных систем

14. Процедурные ЯП для создания компонентов ЭС

Инструментальные средства этой категории избавляют разработчика от необходимости углубляться в детали реализации системы — способы эффективного распределения памяти, низкоуровневые процедуры доступа и манипулирования данными. Одним из наиболее известных представителей таких языков является OPS5. Этот язык прост в изучении и предоставляет программисту гораздо более широкие возможности, чем типичные специализированные оболочки. Следует отметить, что большинство подобных языков так и не было доведено до уровня коммерческого продукта и представляет собой скорее инструмент для исследователей.

Языки высокого уровня являются в руках опытного программиста прекрасным средством быстрого создания прототипа экспертной системы, позволяют обеспечить гибкость процесса разработки при одновременном снижении материальных затрат и сокращении сроков выполнения проекта. Как правило, среда разработки таких языков обеспечивает совмещение интерфейса разработки и времени выполнения, что позволяет совместить вставку, редактирование и тестирование фрагментов программного кода. Но пользовательский интерфейс такой среды уступает интерфейсу оболочек по части "дружественности", что, правда, не мешает опытному программисту быстро ее освоить.
Языки описания порождающих правил, объектно-ориентированные языки и процедурные дедуктивные системы предоставляют проектировщику экспертных систем значительно большую свободу действий, чем оболочки. Особенно это касается программирования процедур управления и обработки неопределенности. Как отмечалось выше, обычно оболочка имеет встроенный режим управления и методы обработки неопределенности, которые не могут быть затем изменены в процессе построения на ее основе конкретной экспертной системы. Та гибкость, которую предоставляют программисту языки высокого уровня, особенно важна при создании экспериментальных систем, в которых заранее выбрать оптимальный режим управления вряд ли возможно.

 

15.Язык ПРОЛОГ.

Пролог (Prolog) — язык логического программирования, основанный на логике дизьюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.
Начало истории языка относится к 70-м годам XX века. Будучи декларативным языком программирования, Пролог воспринимает в качестве программы некоторое описание задачи, и сам производит поиск решения, пользуясь механизмом бэктрекинга и унификацией.
Встроенный в PROLOG режим управления использует стратегию обратного логического вывода, которая используется в системах, подобных MYCIN. Таблицы знаний и другие данные можно представить с помощью утверждений.Такие структуры данных, как графы и деревья, можно организовать с помощью фраз языка PROLOG, которые содержат комплексные термы. Языковые средства PROLOG позволят программисту разработать собственный механизм обработки неопределенности, причем не исключается и использование коэффициентов уверенности.
С практической точки зрения, пользуясь языком PROLOG, программист в качестве "бесплатного приложения" получает в свое распоряжение следующие возможности:

    • индексированную базу данных фраз, которые можно использовать для представления правил, процедур или данных;
    • универсальный механизм сопоставления, который позволяет выполнять сопоставление данных и шаблонов, включающих переменные, и возвращать подстановку, которая может обеспечить их совпадение;
    • стратегию управления (поиск в глубину — depth-first search), основанную на правилах нисходящего поиска (фразы, которые размещены в базе данных ближе к "голове", обрабатываются первыми) и вычислении слева направо (подцели обрабатываются в том порядке, в котором они перечислены в списке).

Действительно, дедуктивную порождающую систему довольно ПРОСТО эмулировать на языке PROLOG.(как используется эмуляция) Можно без особого труда разработать и простой интерпретатор, реализующий стратегию построения прямой цепочки вывода. Модификация рабочей памяти выполняется операторами assert и retract, которые добавляют или удаляют формулы из базы данных. Вы уже знаете как можно организовать локальное управление ходом процесса в системе, основанной на фреймах, как организовать обработку значений по умолчанию и исключений, хотя эти методы и не вписываются в стандартную логику.
Успешный опыт применения идей логического программирования, в частности создание программы МЕСНО, продемонстрировал ряд явных отклонений от синтаксиса исчисления предикатов первого порядка и его процедурной интерпретации в стандартной версии PROLOG. Некоторые семантические и синтаксические ограничения в программах МЕСНО и PLANNER до сих пор не преодолены в системах, базирующихся на языках логического программирования.

16. Оболочки создания ЭС

Класс программ, которые называются оболочкой экспертной системы, создавался с целью позволить непрограммистам воспользоваться результатами работы программистов, решавших аналогичные проблемы. Так, программа EMYCIN позволяет использовать архитектуру системы MYCIN в приложении к другим областям медицины (напомним, что программа MYCIN была ориентирована только на заболевания крови). На базе EMYCIN были разработаны экспертные системы как для медицины (например, система PUFF для диагностики легочных заболеваний), так и для других областей знаний, например программа структурного анализа SACON.

Совершенно очевидно, что оболочки экспертных систем являются программами, ориентированными на достаточно узкий класс задач, хотя и более широкий, чем та программа, на основе которой была создана та или иная оболочка. Автор системы EMYCIN Ван Мелле одним из первых подчеркнул, что оболочки экспертных систем отнюдь не являются универсальной архитектурой для решения проблем. Разработанная им система EMYCIN ориентирована на те проблемы диагностирования с большими объемами данных, которые поддаются решению с помощью дедуктивного подхода в предположении, что пространство диагностических категорий стационарно.

Оболочка, shell - базовый элемент операционной системы, определяющий интерпретацию команд и действий пользователя.
CLIPS (Язык C, интегрированная Продукционная Система) - OPS-ПОДОБНАЯ продукционная система, использующая вывод от фактов к цели, написанная на C в ANSI NASA. Механизм логического вывода CLIPS включает сопровождение, динамическое добавление правил и настраиваемые cтратегии разрешения противоречий. CLIPS, включая динамическую версию, легко встраивается в другие прикладные программы. CLIPS включает объектно-ориентированный язык, названный COOL(Объектно-ориентированный Язык CLIPS), который прямо интегрирован с механизмом логического вывода. DYNACLIPS (динамические Утилиты CLIPS) - включает доску объявлений, механизм динамического обмена знаниями и инструментальные средства для CLIPS v5.1 и v6.0. FuzzyCLIPS 6.02 - версия CLIPS, оболочка экспертной системы, основанная на правилах, используется для представления и управления нечеткими фактами и правилами. WxCLIPS снабжает CLIPS v5.1, CLIPS v6.0 и CLIPS v6.0 с нечетким представлением знаний простым графическим внешним интерфейсом

SOAR - Хотя эта система обеспечивает основные потребности инженерии знаний, она не ориентирована на конкретные стратегии решения задач или схемы представления знаний. Система разрешает программисту использовать символы и представлять отношения между символами, однако эти символы и отношения не имеют заранее определенных значений. Последние полностью определяются порождающими правилами, которые пишет программист. Механизм управления интерпретатора OPS5 представляет собой простой цикл, называемый "циклом распознавания", детали которого пользователь разрабатываетсам в соответствии со своими потребностями.

BABYLON - среда для разработки для экспертных систем. Она включает фреймы, модели данных, Пролог-подобный логический формализм, и язык для написания диагностических прикладных программ. Она написана на Лиспе и переносима на широкий диапазон аппаратных платформ.

MIKE (Микро Интерпретатор для инженерии знаний) - это полная, свободная и переносимая программная среда, разработанная для целей обучения в Открытом Университете ВЕЛИКОБРИТАНИИ. Она включает прямые и обратные правила вывода от цели к фактам с определяемыми пользователем cтратегиями разрешения противоречий, и фреймовый язык представления знаний с наследственностью и ' демонами', плюс определенные пользователем cтратегии наследования. ES: октябрь / ноябрь 1990 -экспертная система. ES поддерживают прямой / обратный вывод цепочки, нечеткие отношения, и содержит подсистему объяснения.
WindExS (Экспертная система под Windows) - полнофункциональная экспертная система, использует вывод от фактов к цели, работает на базе Windows. RT-EXPERT - экспертная система общего назначения, что позволяет программистам C интегрировать правила экспертной системы в прикладные программы на языке C или C++.

 

17. Языки представления знаний.

Основные модели представления знаний:

· Продукционная,

· Фреймы,

· Сетевые,

· Логические.

Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: Если (условие), то (действие).

Под условием понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под действием — действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы).

При использовании продукционной модели база знаний состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения — к данным). Данные — это исходные факты, на основании которых запускается машина вывода — программа, перебирающая правила из базы.

Пример 16.2. Имеется фрагмент базы знаний из двух правил:

П\: Если "отдых — летом" и "человек — активный", то "ехать в горы".

/72: Если "любит солнце", то "отдых летом".

Предположим, в систему поступили данные — "человек активный" и "любит солнце".

Прямой вывод — исходя из данных, получить ответ.

1-й проход.

Шаг 1. Пробуем ГЦ, не работает (не хватает данных "отдых — летом").

Шаг 2. Пробуем П2, работает, в базу поступает факт "отдых — летом".

2-й проход.

Шаг 3. Пробуем ГЦ, работает, активируется цель "ехать в горы", которая и выступает

как совет, который дает ЭС.

Обратный вывод — подтвердить выбранную цель при помощи имеющихся правил и

данных.

1-й проход.

Шаг I. Цель — "ехать в горы": пробуем П1 — данных "отдых — летом" нет, они становятся новой целью, и ищется правило, где она в правой части. Шаг 2. Цель "отдых — летом": правило П2 подтверждает цель и активирует ее.

2-й проход.

Шаг 3. Пробуем П1, подтверждается искомая цель.

Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода.

Имеется большое число программных средств, реализующих продукционный подход (язык OPS 5 [8]; "оболочки" или "пустые" ЭС — EXSYS [10], ЭКСПЕРТ [2]; инструментальные системы ПИЭС [11] и СПЭИС [3] и др.), а также промышленных ЭС на его основе (ФИАКР [8]) и др.

Семантические сети

Термин семантическая означает смысловая, а сама семантика — это наука, устанавливающая отношения между символами и объектами, которые они обозначают, т.е. наука, определяющая смысл знаков.

Семантическая сеть — это ориентированный граф, вершины которого — понятия, а дуги — отношения между ними.

Понятиями обычно выступают абстрактные или конкретные объекты, а отношения — это связи типа: "это" ("is"), "имеет частью" ("has part"), "принадлежит", "любит". Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:

• класс — элемент класса;

• свойство — значение;

• пример элемента класса.

Можно ввести несколько классификаций семантических сетей. Например, по количеству типов отношений:

• однородные (с единственным типом отношений);

• неоднородные (с различными типами отношений). По типам отношений:

• бинарные (в которых отношения связывают два объекта);

• п-арные (в которых есть специальные отношения, связывающие более двух понятий). Наиболее часто в семантических сетях используются следующие отношения:

• связи типа "часть-целое" (^'класс-подкласс", "элемент-множество" и т.п.);

• функциональные связи (определяемые обычно глаголами "производит", "влияет"...);

• количественные (больше, меньше, равно...);

• пространственные (далеко от, близко от, за, под, над...);

• временные (раньше, позже, в течение...);

• атрибутивные связи (иметь свойство, иметь значение...);

• логические связи (и, или, не) и др.

Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, соответствующей поставленному вопросу.

Пример 16.3. На рис. 16.1 изображена семантическая сеть. В качестве вершин — понятия: Человек, Иванов, Волга, Автомобиль, Вид транспорта. Двигатель.

Рис. 16.1. Семантическая сеть

Основное преимущество этой модели — в соответствии современным представлениям об организации долговременной памяти человека. Недостаток модели — сложность поиска вывода на семантической сети.

Для реализации семантических сетей существуют специальные сетевые языки, например NET[12] и др. Широко известны экспертные системы, использующие семантические сети в качестве языка представления знаний — PROSPECTOR, CASNET, TORUS [8, 10].

Фреймы

Фрейм (англ. frame — каркас или рамка) предложен М.Минским в 70-е гг. как структура знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.

Под фреймом понимается абстрактный образ или ситуация. В психологии и философии известно понятие абстрактного образа. Например, слово "комната" вызывает у слушающих образ комнаты: "жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 м2 ". Из этого описания ничего нельзя убрать (например, убрав окна, мы получим уже чулан, а не комнату), но в нем есть "дырки", или "слоты", — это незаполненные значения некоторых атрибутов — количество окон, цвет стен, высота потолка, покрытие пола и др.

В теории фреймов такой образ называется фреймом. Фреймом называется также и формализованная модель для отображения образа.

Структуру фрейма можно представить так:

ИМЯ ФРЕЙМА:

(имя 1-го слота: значение 1-го слота), (имя 2-го слота: значение 2-го слота),

(имя N-ro слота: значение N-го слота). Ту же запись представим в виде таблицы, дополнив двумя столбцами.

Имя фрейма
имя слота тип слота значение слота присоединенная процедура
       

В таблице дополнительные столбцы предназначены для описания типа слота и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма; так образуют сети фреймов.

Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фр е им ы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных.

Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:

фр ей мы-с тру к тур ы, для обозначения объектов и понятий (заем, залог, вексель);

фреймы-роли (менеджер, кассир, клиент);

фр е им ы-сценарии (банкротство, собрание акционеров, празднование именин);

фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.

Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, т.е. переносятся, значения аналогичных слотов.

Пример 16.4. Например, в сети фреймов на рис. 16.2 понятие "ученик" наследует свойства фреймов "ребенок" и "человек", которые находятся на более высоком уровне иерархии. Так, на вопрос: "Любят ли ученики сладкое?" Следует ответ: "Да", так как этим свойством обладают все дети, что указано во фрейме "ребенок". Наследование свойств может быть частичным, так, возраст для учеников не наследуется из фрейма "ребенок", поскольку указан явно в своем собственном фрейме.

Основным преимуществом фреймов как модели представления знаний является способность отражать концептуальную основу организации памяти человека [13], а также ее гибкость и наглядность.

Специальные языки представления знаний в сетях фреймов FRL (Frame Representation Language) [1] и другие позволяют эффективно строить промышленные ЭС. Широко известны такие фреймо-ориентированные экспертные системы, как ANALYST, МОДИС [3,8].

Рис. 16.2. Сеть фреймов



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: