- •Алгоритм а
- •Структуры управления в mycin
- •Математическое определение нечетких множеств. Определение уиниверсума. Примеры.
- •Сценарий посещения ресторана
- •Структуры данных в языке lisp
- •Обработка списков
- •Сопоставление с образцом
- •Определение функции принадлежности. Виды и примеры функций принадлежности. Примеры.
- •Классический период: игры и доказательство теорем Поиск в пространстве состояний
- •Графы, деревья и сети
- •Представление неопределенности знаний и данных
- •Источники неопределенности
- •Определение ядра, высоты и границ нечеткого множества. Пример.
- •Машина логического вывода и база знаний. Представление знаний: принципы и методы. Представление знаний: принципы и методы
- •Системы, основанные на знаниях
- •Канонические системы
- •Объектно-ориентированный анализ и конструирование экспертных систем
- •Нормальное нечеткое множество (определение). Равенство и доминирование нечетких множеств. Пример.
- •Планировщик strips
- •Представление типовых объектов и ситуаций
- •Основные понятия концепции фреймов
- •Фреймы и графы
- •Объектно-ориентированный анализ и конструирование экспертных систем
- •Операции пересечения, объединения и разности нечетких множеств. Примеры.
Системы, основанные на знаниях
В области искусственного интеллекта и в современной психологии утверждение, что разумное поведение направляется правилами, превратилось уже в аксиому. Даже в "большом" мире люди склонны связывать уровень интеллектуальности со следованием правилам, и мы все чаще при объяснении разумности обращаем внимание на то, насколько при этом соблюдаются правила.
Суть же заключается в том, что разумное поведение, такое как правильная речь, представляется нам как некоторый процесс, регламентируемый определенными правилами, даже в том случае, если мы не можем их точно сформулировать. В искусственном интеллекте правила играют даже более явно выраженную роль в формировании того, что мы называем разумным поведением. Мы говорим, что нечто (агент) ведет себя именно таким образом, поскольку оно располагает представлением правил, уместных для формирования поведенческого акта, который в таком случае претендует на разумность.
Канонические системы
Порождения — это в действительности грамматические правила манипулирования строками символов и потому их иногда называют правилами переписывания (rewrite rules). Пост изучал свойства систем правил, базирующихся на порождениях, которые он назвал каноническими системами [Post, 1943]. Каноническая система — это разновидность формальной системы, основанной на следующих компонентах:
алфавит А, из символов которого формируются строки;
некоторое множество строк, которые рассматриваются как аксиомы,
множества порождений в форме
а1$1 ... am$m->b1$'1...bn$'1...bn$'n.
где
(I) каждое ai и bi; есть фиксированная строка;
(II) а1 и am, часто есть нуль;
(III) некоторые или все из ai или bi могут представлять собой нуль;
(IV) каждое $i является переменной строкой, которая также может быть нулем;
(V) каждое $i заменяется определенным $'i.
Объектно-ориентированный анализ и конструирование экспертных систем
Философия и технология объектно-ориентированного программирования могут весьма пригодиться проектировщику экспертных систем.
Философия представления знаний о реальном мире в терминах взаимодействия объектов и субъектов предоставляет достаточно удобную среду для решения большого класса проблем, предполагающих значительный объем моделирования (задачи планирования и составления расписаний).
Методика представления абстрактных данных и процедур позволяет программистам, занятым задачами искусственного интеллекта, на ранних этапах разработки сосредоточиться на выборе подходящих видов объектов и их поведении, не вдаваясь в подробности реализации функций и структур данных.
Существует довольно много литературы по объектно-ориентированному программированию, которая поможет конструктору экспертных систем.
Но существуют и определенные сложности внедрения объектно-ориентированного подхода в область задач искусственного интеллекта.
Объекты в основном являются средствами реализации вычислений.
Идея наследования поведения влечет за собой появление множества проблем при ее реализации, как мы видели это на примере с классами окон. Некоторые из появившихся в последнее время объектно-ориентированных схем допускают наследование только интерфейсов.
Определенные сложности возникают с реализацией наследования при использовании новых технологий многокомпонентных объектов, таких как СОМ (см. [Chappell, 1996]).
В идеальном случае желательно так организовать разработку системы, особенно экспертной, чтобы добавление новых возможностей сводилось к включению в систему новых модулей программного кода.
Таким образом, совершенно очевидно, что реализация идей объектно-ориентированного программирования не позволяет решить все проблемы и разработчику экспертной системы будет еще над чем поломать голову. Но объектно-центрическая парадигма упрощает принятие определенных видов решений в процессе проектирования системы и облегчает реализацию уже принятых.