
- •Системы искусственного онтеллекта общие замечания
- •1. Введение
- •1.2. Область искусственного интеллекта.
- •1.3. Основные направления исследований в области ии
- •2. Экспертные системы, как основной класс интеллектуальных систем
- •2.1. Под интеллектуальной системой (ис)
- •2.3. Базовая структура эс
- •Интеллектуальный интерфейс
- •2.4. Основные виды задач, для решения которых создаются эс.
- •2.5. Два основных подхода к получению решений в эс .
- •2.6. Основные свойства идеальной эс
- •3. Основные понятия теории логического вывода и формальные логические системы
- •3.1. Логический вывод (логические рассуждения)
- •3.3. Исчисление высказываний (ив)
- •3.4. Исчисление предикатов (ип)
- •4. Представление знаний в экспертных системах и вывод на знаниях
- •4.1. Понятие знаний
- •В соответствии с содержимым знаний эс выделяют следующие их виды.
- •4.2. В продукционной модели
- •4.3. Проблема представления и обработки неопределенности знаний и данных
- •4.4. Фрейм
- •5. Основы методологии разработки эс
- •5.1. Процесс разработки эс
4.4. Фрейм
– это структура данных, предназначенная для представления класса объектов, явлений, процессов или стандартных ситуаций. Фреймы были предложены в качестве аппарата для представления знаний М. Минским в 1975 г.
Общий вид фрейма:
< ИФ, (ИС1, ЗС1, ПП1), …, (ИС i, ЗС i, ПП i),…, (ИСn, ЗСn, ППn) >
слот i
ИФ - имя фрейма, ИСi – имя i-го слота, ЗCi – значение i-го слота,
ППi – имя i –й присоединенной процедуры
Слоты – это незаполненные подструктуры фрейма, заполнение которых приводит к тому, что данный фрейм ставится в соответствие некоторому конкретному объекту, явлению, процессу или ситуации.
Фрейм с незаполненными или частично заполненными слотами описывает класс объектов, явлений, процессов и называется протофреймом. Заполнение слотов данного протофрейма конкретными данными (означивание фрейма) порождает фрейм-экземпляр, описывающий конкретный объект, явление, процесс из того класса, который представлен данным протофреймом.
Значениями слотов могут быть конкретные данные, описывающие состав, структуру и свойства составляющих частей данного объекта, а также имена других фреймов (ссылки на другие фреймы). Таким способом создается сеть фреймов, описывающая более сложные объекты. Имя присоединенной процедуры (ПП) означает обращение к определенной процедуре для выполнения каких-либо действий, вычисления каких-либо значений и т.п. Этим достигается соединение декларативного и процедурного представлений знаний. Данная модель освещена в литературе [4, 6-9].
Пример. Описание объекта: фрейм "Электростанция" .
< ЭЛЕКТРОСТАНЦИЯ
имя фрейма
слот 1 …(Имя эл-станции, Иркутская ГЭС ),
имя слота 1 значение слота 1
слот 2 …(Тип эл-станции, гидравлич-кая ),
имя слота 2 значение слота 2
слот 3…(Установленная мощность, 660 мвт ),
имя слота 3 значение слота 3
слот 4 …(Осн-е технол-е оборуд-е, "Техн. оборуд-е Ирк-й ГЭС") >
имя слота 4 значение слота 4
Слот 4 содержит ссылку на другой фрейм с именем "Техн. оборуд-е Ирк-й ГЭС".
Этот фрейм принадлежит группе фреймов, которые содержат характеристики оборудования различных ГЭС и имеют имена:
< "Техн. оборуд-е Братской ГЭС>
< "Техн. оборуд-е Волжской ГЭС>
..............................................
< "Техн. оборуд-е Ирк-й ГЭС >
5. Основы методологии разработки эс
Вопросы, подлежащие изучению
5.1. Применение принципа прототипирования при разработке ЭС. Этапы разработки ЭС, их цели и содержание. [4, 6, 8, 9, 17].
5.2. Виды инструментальных средств разработки ЭС (краткая характеристика) [4, 6, 9,15,17].
5.1. Процесс разработки эс
существенно отличается от разработки обычного программного продукта вследствие неформализованности задач, решаемых ЭС. В основе процесса разработки ЭС - принцип прототипирования: разработчики не пытаются сразу построить конечный продукт, а создают в общем случае несколько прототипов ЭС. Первый прототип ЭС должен продемонстрировать пригодность методов инженерии знаний для данного приложения. В случае положительного ответа на данный вопрос эксперт с помощью инженера по знаниям расширяет знания прототипной ЭС о проблемной области, в противном случае осуществляется разработка нового прототипа ЭС. Преобразование прототипа в конечный продукт осуществляется, когда прототип эффективно решает все задачи данного приложения.
Это концепция, зародившаяся при разработке ЭС, стала основой методологии быстрой разработки приложений (Rapid Application Development - RAD), применяющейся сейчас при разработке и других сложных программных систем.
Современная технология создания ЭС, основанная на данном принципе, включает шесть этапов: идентификация, концептуализация, формализация, реализация, отладка и тестирование, опытная эксплуатация и внедрение. Этот процесс полно описан в [4, 6, 8, 9, 17].
5.2. Выделяют четыре категории инструментальных средств,
применяемых при разработке ЭС (в соответствии с их назначением и функциональными возможностями [4, 6, 9, 15,17].
1. Оболочки экспертных систем (Expert system shells). Средства этого типа создаются, как правило, на основе какой-нибудь экспертной системы, достаточно хорошо зарекомендовавшей себя на практике. При создании оболочки из системы-прототипа удаляются компоненты, слишком специфичные для области ее непосредственного применения, и оставляются те, которые не имеют узкой специализации. Примером может служить система EMYCIN, созданная на основе прошедшей длительную "обкатку" системы MYCIN [6].
2. Языки программирования высокого уровня. Их применение избавляет разработчика от необходимости углубляться в детали реализации системы - способы эффективного распределения памяти, низкоуровневые процедуры доступа и манипулирования данными. Исторически первыми языками, предназначенными для программирования задач ИИ и используемыми в дальнейшем для разработки ЭС, были LISP (начало 60-х гг.) и PROLOG (начало 70-х гг.). Первый основывался на едином списковом представлении программ и данных и методах работы со списками, второй - на идеях логического программирования. В настоящее время наряду с этими двумя языками достаточно широко применяются разработанные позже языки, составляющие три следующие группы: языки описания порождающих правил (наиболее известный - OPS5), объектно-ориентированные языки, языки логического программирования (типа PROLOG) [4, 6].
3. Многофункциональные программные среды (Multiple-paradigm programming - environment) - среды программирования, поддерживающие несколько парадигм. Они включают несколько программных модулей, что позволяет пользователю комбинировать в процессе разработки ЭС разные стили программирования. Одна из первых сред такого рода - LOOP, которая в рамках единой архитектуры обмена сообщениями объединила четыре парадигмы программирования: процедурно-ориентированное программирование (на основе языка LISP), программирование, ориентированное на правила, объектно-ориентированное программирование, программирование, ориентированное на данные [6]. На основе этой архитектуры во второй половине 1980х годов было разработано несколько коммерческих программных продуктов (наиболее известны KEE, KnowledgeCraft и ART), которые использовались для последующих разработок, таких как КАРРА и CLIPS. Многофункциональная среда CLIPS и ее более поздние версии широко применя.тся в настоящее время.
4. Дополнительные автономные программные модули - это некоторые полезные программы, которые можно выполнять вместе с приложением. Они предназначены для выполнения специфических задач в рамках выбранной архитектуры ЭС. Примеры: модуль работы с семантической сетью, использованный в системе VT[6], программный пакет Simkit из комплекта среды KEE, позволяющий использовать в ЭС методы моделирования.
В дальнейшем были разработаны мощные инструментальные комплексы для создания ЭС, представляющие собой интегрированные среды поддержки разработки ЭС. Характерными примерами являются комплекс G-2 (фирма Gensum, США) для создания ЭС реального времени и комплекс ЭКО для создания статических ЭС (Россия) [8]. Другие известные комплексы: ART, KEE, Knowledge Craft [4].