Министерство Образования Российской Федерации

Самарский Государственный Архитектурно-Строительный Университет

 

 

 

 

 

 

 

 

Реферативная работа

 

Тема: «Обзор существующих инструментальных систем для создания экспертных систем».

 

 

 

 

 

Проверил: Пиявский С.А.

Выполнила: студентка 2-го курса ФИСТ, ГИП-103 Кондрашева М.В.

 

 

 

 

 

 

 

 

 

Самара 2004


Введение

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

1.                  Оболочки экспертных систем, которые поддерживают какой-либо язык представления знаний и комбинацию режимов управления. Такие оболочки хорошо зарекомендовали себя в ряде приложений, разработанных во времена становления экспертных систем.

2.                  Языки программирования высокого уровня, такие как интерпретаторы порождающих правил и объектно-ориентированные системы, которые образуют основные компоненты для представления знаний и управления ходом логического вывода.

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

4.                  Архитектуры решения проблем, такие как системы с доской объявлений, представляют собой объектно-ориентированные оболочки, на основе которых можно создавать конкретные приложения.

5.                  Полезные программные пакеты, которые можно использовать для решения определенных подзадач, например моделирования или анализа правдоподобия. Такие пакеты могут работать в тесном взаимодействии с основной программой решения проблемы.

Программы построения ЭС первого поколения представляли собой, по существу, адаптацию ЭС, хорошо зарекомендовавших себя на практике. Многие из них показали затем свою жизнеспособность и эффективность. Например, система EMYCIN, была использована для построения множества ЭС для областей, весьма далеких от медицины, включая структурный анализ и поиск неисправностей в электронных схемах. К этому же периоду относится и появление специализированных языков программирования, таких как OPS5 и FLAVORS.

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

 

 

Общая характеристика инструментальных средств для построения экспертных систем.

 

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

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

1.      Оболочки экспертных систем (expert system shells).  Системы этого типа создаются, как правило, на основе какой-нибудь экспертной системы, достаточно хорошо зарекомендовавшей себя на практике. При создании оболочки из системы – прототипа удаляются компоненты, слишком специфичные для области ее непосредственного применения, и оставляются те, которые не имеют узкой специализации. Примером может послужить система EMYCIN, созданная на основе прошедшей длительную “обкатку” системы MYCIN. В EMYCIN сохранен интерпретатор и все базовые структуры данных – таблицы знаний и связанный с ними механизм программ, и средствами поддержки библиотеки типовых случаев и заключений, выполненных по ним экспертной системой. Дальнейшим развитием оболочки EMYCIN явились системы S.1 и M.4, в которых механизм построения цепочки обратных рассуждений, заимствованный в EMYCIN, объединен с фреймоподобной структурой данных и дополнительными средствами управления ходом рассуждений.

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

3.      Среда программирования, поддерживающая несколько парадигм (multipleparadigm programming environment). Средства этой категории включают несколько программных модулей, что позволяет пользователю комбинировать в процессе разработки экспертной системы разные стили программирования. Среди первых проектов такого рода была исследовательская программа LOOP, которая допускала использование двух типов представления знаний: базирующегося на системе правил и объектно-ориентированного. На основе этой архитектуры во второй половине 1980-х годов было разработано несколько коммерческих программных продуктов, из которых наибольшую известность получили KEE, Knowledge Craft и ART. Эти программы представляют в распоряжение квалифицированного пользователя множество опций и для последующих разработок, таких как KAPPA и CLIPS, и стали своего рода стандартом. Однако освоить эти языки программистам не так просто, как языки, отнесенные к предыдущей категории.

4.      Дополнительные модули. Средства этой категории представляют собой автономные программные модули предназначенные для выполнения специфических задач в рамках выбранной архитектуры системы решения проблем. Хорошим примером здесь может служить модуль работы с семантической сетью, использованной в системе VT. Этот модуль позволяет отслеживать связи между значениями ранее установленных и новых параметров проектирования в процессе работы над проектом. Подобные модули управления семантической сетью можно использовать для распространения внесенных изменений все компоненты системы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Языки логического программирования.

Критически оценивая первый опыт применения инструментальных средств типа оболочек при проектировании экспертных систем, в частности опыт использования EMYCIN, многие исследователи полагали, что более перспективным является альтернативный подход, основанный на логическом программировании. Например, предполагалось, что порождающие экспертные системы, аналогичные EMYCIN, могут быть довольно просто реализованы на языке PROLOG [Clark and McCabe, 1982]. Правила можно представить в виде фраз Хорна, в которых головной (позитивный) литерал соответствует заключению, а прочие (негативные) литералы будут соответствовать условиям.

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

Таблицы знаний и другие данные можно представить с помощью утверждений.

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

С практической точки зрения, пользуясь языком PROLOG программист в качестве “бесплатного приложения” получает в свое распоряжение следующие возможности:

·        Индексированную базу данных фраз, которую можно использовать для представления правил процедур или данных;

·        Универсальный механизм сопоставления, который позволяет выполнять сопоставление данных и шаблонов, включающих переменные, и возвращать подстановку, которая может обеспечить их совпадение;

·        Стратегия управления (поиск в глубину – depthfirst search), основанную на правилах нисходящего поиска (фразы, которые размещены в базе данных ближе к “голове”, обрабатываются первыми) и вычисление слева направо (подцели обрабатываются в том порядке, в котором они перечислены в списке).

Действительно, дедуктивную порождающую систему довольно просто эмулировать на языке PROLOG. Можно без особого труда разработать и простой интерпретатор, реализующий стратегию построения прямой цепочки вывода. Модификация рабочей памяти выполняется операторами assert и retract, которые добавляют или удаляют формулы из базы данных.

 

Список используемой литературы:

1.                Крисевин В.С., Кузьмин Л.М. и др. «ЭС для РС: методы, средства, реализация. Справочное пособие », Минск, 1990г.

2.                Герман Э.В. «Введение в теорию ЭС и обработку знаний.» учебное пособие для вузов; Минск, ДизайнПро, 1995г.

3.                Попов Э.В. «ЭС. Решение шиф. Задач в диалоге с ЭВМ» М, Наука, 1987г.

4.                Марселлус Д. «Программирование ЭС на языке Турбо-Пролог» пер. с англ.; Финансы и Статистика, 1994-256с.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сайт создан в системе uCoz