7.5.
Объектно-ориентированный анализ и конструирование экспертных систем
Философия
и технология объектно-ориентированного программирования могут весьма пригодиться
проектировщику экспертных систем.
- Философия представления
знаний о реальном мире в терминах взаимодействия объектов и субъектов предоставляет
достаточно удобную среду для решения большого класса проблем, предполагающих
значительный объем моделирования (задачи планирования и составления расписаний).
- Методика представления
абстрактных данных и процедур позволяет программистам, занятым задачами искусственного
интеллекта, на ранних этапах разработки сосредоточиться на выборе подходящих
видов объектов и их поведении, не вдаваясь в подробности реализации функций
и структур данных.
- Существует довольно
много литературы по объектно-ориентированному программированию, которая поможет
конструктору экспертных систем.
Но существуют
и определенные сложности внедрения объектно-ориентированного подхода в область
задач искусственного интеллекта.
- Объекты в основном
являются средствами реализации вычислений.
- Идея наследования поведения
вленет за собой появление множества проблем при ее реализации, как мы видели
это на примере с классами окон. Некоторые из появившихся в последнее время
объектно-ориентированных схем допускают наследование только интерфейсов.
- Определенные сложности
возникают с реализацией наследования при использовании новых технологий многокомпонентных
объектов, таких как СОМ (см. [Chappell, 1996]).
В идеальном
случае желательно так организовать разработку системы, особенно экспертной,
чтобы добавление новых возможностей сводилось к включению в систему новых модулей
программного кода. Приведенные в этой главе примеры показывают, что это вряд
ли возможно даже при использовании объектно-ориентированной среды. Добавление
новых модулей знаний всегда связано с побочными эффектами, которые вовлекают
в свою орбиту правила разрешения конфликтов и неопределенностей. В дальнейшем
мы покажем, что эта проблема характерна и для технологии логического программирования
(об этом речь пойдет в главе 8).
Таким образом,
совершенно очевидно, что реализация идей объектно-ориентированного программирования
не позволяет решить все проблемы и разработчику экспертной системы будет
еще над чем поломать голову. Но объектно-центрическая парадигма упрощает принятие
определенных видов решений в процессе проектирования системы и облегчает реализацию
уже принятых.