- •Часть 4. Системы искусственного интеллекта
- •4.1. Разновидности систем искусственного интеллекта
- •4.2.Интеллектуальные информационно-поисковые системы
- •4.3.Интеллектуальные пакеты прикладных программ
- •4.4.Расчетно-логические системы
- •4.5. Экспертные системы
- •4.5.1. Общие сведения
- •4.5.2. Классы эс
- •4.5.3. Структура эс
- •4.5.4. Технология проектирования и разработки экспертных систем
- •4.5.5. Разновидности эс
- •4.5.6. Эс IиIIпоколений
- •4.5.7. Применение технологий разработки программного обеспечения к разработке экспертных систем
- •4.5.8. Модели жизненного цикла интеллектуальных ис
- •Сводная таблица фаз и этапов жц эс
- •4.5.9. Языки программирования для ии и языки представления знаний (япз)
- •4.5.10. Инструментальные пакеты разработки задач ии (ToolKit-системы)
- •4.5.11.WorkBench-системы
- •4.6. Системы поддержки принятия решений (сппр). Основные понятия
Сводная таблица фаз и этапов жц эс
ЖЦ ИИС |
ЖЦ ЭС |
Фазы промышленной технологии разработки ЭС |
Этапы промышленной технологии разработки ЭС |
Инженерия требований |
Идентификация |
Проектирование |
Исследование выполнимости проекта |
Концептуализация |
Разработка общей концепции ЭС | ||
Формализация |
Реализация |
Разработка и тестирование серии прототипов | |
Тестирование на прототипах |
Реализация |
Разработка и испытание головного образца | |
Тестирование |
Разработка и проверка расширенных версий системы | ||
Сопровождение |
|
Внедрение |
Привязка системы к реальной рабочей среде |
4.5.9. Языки программирования для ии и языки представления знаний (япз)
Уже к началу 60-х г.г. XX в. стало очевидно, что сложность и трудоемкость разработки ИИС настолько велики, что универсальные языки программирования для их разработки применимы не всегда.
Нач. 60-х г.г. – Стэнфорд – Дж. Маккарти – ЛИСП. Первоначально этот язык не предназначался для реализации задач ИИ, а рассматривался как более универсальное средство программирования. ЛИСП должен был стать основой нового поколения языков, включающих средства работы с матрицами, указателями, структурами из указателей и т.п., однако для такой амбициозной задачи не хватило средств.
Первой окончательной версией языка стала LISP 1.5 (нач. 60-х г.г.). В дальнейшем концепция языка не менялась. В начале 70-х г.г. были созданы мощные версии языка MacLisp и InterLisp. Дальнейшее развитие языка шло по пути стандартизации: Standart Lisp, Franz Lisp, Common Lisp.
К концу 80-х г.г. версии ЛИСП были реализованы на всех классах ЭВМ. Тогда же начали выпускаться ЛИСП-машины, которые выпускаются некоторыми фирмами по сей день.
В середине 60-х г.г. появился язык СНОБОЛ (Грисуолд, лаб. Белла) – язык обработки строк, в котором впервые была в полной мере реализована концепция поиска по образцу, руководимого системой продукционных правил. Причинами низкой популярности СНОБОЛ считают массированную конкуренцию со стороны ЛИСП и опережение возможностями языка потребностей практики.
К концу 60-х г.г. был разработан язык РЕФАЛ (Турчин, ИПМ АН СССР). Вобрал в себя все лучшие черты языков того времени (в первую очередь, ЛИСП и СНОБОЛ): списочную организацию данных, механизмы поиска по образцу, реализацию продукционной концепции.
ПРОЛОГ – нач. 70-х г.г. – Марсельский университет. Если в ЛИСП была скрыта от разработчика работа с памятью, то в ПРОЛОГ – скрыт поток управления в программе. Программирование в ПРОЛОГ осуществляется путем декларирования отношений. В случае большого количества и сложности отношений программа становится сложной для разработки, понимания и сопровождения. Особую популярность ПРОЛОГ начал приобретать в начале 80-х г.г., когда был математически обоснован его логический базис.
Кроме названных, был разработан еще большой ряд языков ИИ, использующих и совершенствующих концепции, заложенные в ЛИСП и ПРОЛОГ. Важно то, что разработки языков программирования задач ИИ дали толчок к разработке языков представления знаний, т.к. задачи ИИ подразумевают работу со знаниями, и задача представления знаний так или иначе решалась во всех языках ИИ.
Характерные черты ЯПЗ:
двухуровневое представление данных (абстрактная модель предметной области в виде иерархии множеств понятий и конкретная модель ситуации как совокупность взаимосвязанных экземпляров этих понятий);
процедурное представление связей между понятиями;
семантический подход к сопоставлению образцов и поиску по образцу.
Наиболее известные ЯПЗ: KRL, FRL, KL-ONE, OPS5 (Official Production System ver. 5).
OPS5 – один из многочисленных ЯПЗ, поддерживающих продукционное представление знаний. OPS5-программа содержит:
секцию деклараций, где описываются используемые объекты, и определяются введенные пользователем функции;
секцию правил-продукций.
Объекты описываются с помощью фреймов-экземпляров, прототипы которых задаются в виде определенных структур данных, опирающихся на небольшое число встроенных типов. Модуль вывода решений состоит из трех основных блоков:
отождествления (поиска подходящих правил);
выбора исполняемого правила из конфликтного множества правил;
исполнителя выбранного правила.
Анализ формализмов представления знаний и методов вывода позволяет сформулировать следующие требования к ЯПЗ:
Наличие простых и мощных средств представления сложно структурированных и взаимосвязанных объектов.
Возможность отображения описаний объектов на разные виды памяти ЭВМ.
Наличие гибких средств управления выводом.
Прозрачность системных механизмов для программиста, предполагающая возможность их доопределения и переопределения на уровне входного языка.
Возможность эффективной реализации.