- •1.1. Знания.
- •1.2. Модели представления знаний.
- •1.2.1. Исчисления предикатов первого порядка.
- •1.2.2. Продукционные правила.
- •1.2.3. Программы.
- •1.2.4. Семантические сети.
- •1.2.5. Фреймы.
- •Лекция №2
- •2. Функциональная структура
- •Вывод в прямом направлении с выбором первого применимого правила
- •Вывод в прямом направлении с выбором правила, имеющего самое большое число условий
- •Вывод в обратном направлении
- •Лекция № 3
- •3. Программные языки, среды и инструментальные средства разработки экспертных систем
- •4. Разработка экспертных систем
- •Лекция № 4
- •5. Проблемы приобретения (извлечения) знаний
- •6. Основные типы экспертных систем
Лекция № 3
3. Программные языки, среды и инструментальные средства разработки экспертных систем
В качестве языков программирования экспертных систем наиболее широкое распространение (исторически) получил LISP, PROLOG и их диалекты. Несмотря на это, ряд специалистов в настоящее время подвергают указанные языки резкой критике (например, Ричард Форсайд) и в качестве альтернативы предлагают использовать для написания систем продукции эффективные и компактные языки, подобные языкам С, PASCAL.
Следующим этапом на пути автоматизации проектирования ЭС явились разработка и внедрение языков систем продукций типа OPSS. Язык OPSS позволяет сформировать основные части системы продукции: базу правил (продукции), модель решаемой задачи (рабочую память) и интерпретаторов для выбора правил с целью их исполнения (машину вывода). На языке OPSS можно определить условия согласования рабочей памяти с левыми частями продукции, выбрать режим работы интерпретатора, определить действия, выполняемые правыми частями продукции, а также модифицировать правила продукции.
Более высокую степень автоматизации проектирования ЭС обеспечивают инструментальные ЭС. Цель инструментальных ЭС - обеспечить одновременно средство для написания и тестирования ЭС и готовые программные модули - компоненты конечного продукта.
Выбор из существующих инструментальных средств уже стал очень сложным. В самом широком аспекте он варьирует между более старыми инструментальными ЭС (которые начали свое существование как ЭС, а потом были лишены специфических для прикладной области характеристик) и более новыми, созданными для цели разработки экспертных систем. Новые средства можно разделить на наборы средств с общим назначением, нацеленные обеспечить основные блоки для самого полного охвата возможностей и набора средств, предназначенных для решения специфических задач. Однако самыми общими средствами остаются программные среды или языки, представляющие системным разработчикам возможность создавать свои собственные выводы и структуры представления знаний.
В зависимости от универсальности средств Бернард Келли (фирма Logica) предлагают пятиуровневую модель средств создания экспертных систем. Самый нижний уровень - это ЭВМ, на которой работает система. Следующий уровень - символьный - язык, на котором написана система. За ним следует “tool kits” - инструментариум, надстройка языка, обеспечивающая основные блоки для создания системы. Далее находится уровень знаний, связанный со структурами, используемыми для представления знаний в данной области. И, наконец, самый верхний уровень - готовая инструментальная ЭС, обеспечивающая представление знаний, механизм вывода и управление в стандартной определенной форме.
Обычно в понятии инструментальной ЭС вкладываются последние три уровня. К характеристикам хорошей инструментальной системы можно отнести следующие:
1) мощная схема управления, позволяющая использовать поиск как в прямом, так и в обратном направлении;
2) большой выбор средств для представления знаний: фреймы, семантические сети, тройки (объект, атрибут, значение) и т. д.;
3) большая гибкость при написании правил и их модификации;
4) наличие интерактивного модуля для объяснения (включительно, почему тот или другой факт не выведены в заключение);
5) возможность работы в режиме прослеживания;
6) возможность в любой момент изменять ранее введенные ответы;
7) интерфейс на естественном языке;
8) возможность связи с языками высокого уровня;
9) возможность включения переменных в правила;
10) наличие массива примерных данных для тестирования базы знаний в режиме групповой обработки;
11) графические интерфейсы.
Необходимо отметить, что в настоящее время нет ни одной ЭС, имеющей указанные характеристики. В качестве примеров инструментальных ЭС можно указать следующие: ИНТЕР-ЭКСПЕРТ, САПР-ЭКСПЕРТ, СОВЕТ-МИКРО.
Отсутствие инструментальной ЭС, удовлетворяющей всем указанным выше требованиям, порождает следующую задачу. Определенные типы проблем требуют наличия средств, в которые встроены определенные техники представления знаний, механизм вывода и управления. Однако между программными техниками и проблемами нет взаимно однозначного соответствия. При выборе определенного инструментального средства необходимо иметь уверенность в том, что это средство является подходящим для решения данного типа проблемы. То есть, возможны два решения:
- использовать в качестве предметных областей внедрения только те проблемы, для решения которых в настоящий момент существуют подходящие средства;
- создать коллектив высококвалифицированных специалистов (инженеров по знаниям), которые пытаются создать уникальный набор техник для представления знаний, механизм вывода и управления с помощью некоторого языка ИИ.
