Теория
представления знаний — это отдельная область исследований, тесно связанная
с философией формализма и когнитивной психологией. Предмет исследования в этой
области — методы ассоциативного хранения информации, подобные тем, которые существуют
в мозгу человека. При этом основное внимание, естественно, уделяется логической,
а не биологической стороне процесса, опуская подробности физических преобразований
"Искусственный
интеллект (ИИ) — это область информатики, которая занимается разработкой интеллектуальных
компьютерных систем, т.е. систем, обладающих возможностями, которые мы традиционно
связываем с человеческим разумом, — понимание языка, обучение, способность рассуждать,
решать проблемы и т.д."
В этой главе описана одна из
первых экспертных систем, MYCIN, при разработке которой была предпринята попытка
отойти от традиции использования "обобщенного решателя проблем". Система
построена на основе относительно несложного алгоритма поиска, значительно более
простого, чем описанный в предыдущей главе алгоритм А. Возможности программы определяются
не столько реализованным в ней алгоритмом поиска, сколько методикой представления
знаний, специфических для той области, в которой предполагалось использовать систему,
а именно — в лечении заболеваний крови.
В
этой главе читатель найдет:
- объяснение, почему исследования
в области искусственного интеллекта и создание соответствующих приложений требуют
применения языков программирования определенного вида;
- обсуждение
специфических свойств таких языков, отличающих их от широко используемых в практике
программирования задач обработки данных и научных расчетов;
- вводные
сведения об основных концепциях языка LISP, который на определенном этапе стал
основным языком программирования задач искусственного интеллекта;
-
объяснение, почему LISP редко выбирается в качестве базового языка при построении
экспертных систем;
- объяснение, почему чаще используются более специализированные
языки вроде CLIPS (подробное описание этого языка приведено в Приложении). Информатика,
базы данных SQL. Компьютерные сети
Набор
порождающих правил — это формализм, который уже использовался в теории автоматов,
формальной грамматике, разработке языков программирования, прежде чем стать на
службу моделированию психофизиологической деятельности [Newell and Simon, 1972]
и экспертных систем [Buchanan and Feigenbaum, 1978]. В литературе по
экспертным системам их иногда называют правилами "условие — действие"
или "ситуация — действие". Это связано с тем, что такие правила обычно
используются для представления эмпирических ассоциативных связей между данными,
предъявленными системе, и действиями, которые система должна предпринять в ответ.
Основные характеристики персонального
компютера
В этой и следующей главах мы рассмотрим способы,
удобные для представления структурированных
знаний, и остановимся на тех трудностях, с которыми столкнулись исследователи
на практике. Формальный аппарат, который будет использован в данной главе, базируется
на различных видах графов, узлы которых хранят информацию о сущностях в форме
записей, а дуги определяют взаимоотношения между этими сущностями. В следующей
главе мы рассмотрим объектно-ориентированный подход к представлению знаний, который
влечет за собой определенную методологию разработки и соответствующий стиль программирования.
Еще
в конце 1970-х годов стала отчетливо просматриваться тенденция к использованию
в исследованиях в области искусственного интеллекта "формальных" методов,
т.е. основанных на аппарате математической логики. Эти методы противопоставлялись
более интуитивным и менее формализованным эвристическим методам, скажем, таким,
которые были использованы в системе
MYCIN
Во многих реальных приложениях приходится сталкиваться с ситуацией,
когда автоматический решатель задач имеет дело с неточной информацией. В этой
главе мы рассмотрим основные идеи, касающиеся количественной оценки
неопределенности и методов формирования нечетких суждений.
В этой главе
мы детально рассмотрим процесс извлечения
знаний и в теоретическом, и в практическом аспектах. Сначала будет представлен
такой способ организации приобретения знаний, когда весь процесс разбивается на
несколько этапов или уровней анализа. Затем будут описаны результаты некоторых
ранних работ в области автоматизации извлечения знаний, причем основное внимание
будет сосредоточено на синтаксисе и правилах. В последнем разделе эти результаты
сравниваются с поздними работами, в которых на первый план выходит семантика предметной
области.
В данной главе мы вновь затронем некоторые вопросы, рассмотренные
в предыдущих главах, в частности вопрос о наследовании, но уделим ему гораздо
больше внимания. Независимо от того, какой конкретный язык будет обсуждаться в
том или ином разделе, во всех представленных примерах используется либо язык COOL
(CLIPS Object Oriented language —
объектно-ориентированная версия языка CLIPS), либо C++. Разделы, в которых детально
изложены технические подробности функционирования конкретных программных средств
(они помечены крестиком), можно при желании опустить. Большинство примеров приведено
во врезках. При первом чтении их также можно бегло просмотреть или опустить, что
не помешает разобраться в основных темах главы.
В этой главе
мы рассмотрим вопросы применения тех методов решения проблем, которые используются
на практике при построении экспертных
систем разного назначения, и постараемся увязать характерные черты этих методов
со спецификой областей применения. В идеальном случае хотелось бы получить ответы
на следующие вопросы.
- Можно ли классифицировать области применения
экспертных систем на основе характеристик задач, решаемых в этой области?
- Можно ли сформулировать хорошо дифференцированный набор методов решения
проблем, которые приложимы для определенных классов областей применения?
- Можно ли определить, какие стили представления знаний и правил логического
вывода наиболее подходят для данного метода решения проблем?
Хотя
вразрез с рекомендациями Кленси ни система MYCIN, ни системы, базирующиеся
на EMYCIN, не содержат специфических средств таксономии симптомов или признаков
неисправностей, тот факт, что решения могут быть заранее пронумерованы, означает,
что можно применить обратную стратегию построения суждений, т.е. строить логическую
цепочку от абстрактных категорий решений к подходящим данным через промежуточный
этап абстрагирования данных. Этот этап неявно включен в используемые правила.
Тот факт, что выводы из набора правил индексируются в терминах медицинских параметров,
на которые они ссылаются, позволяет без особого труда реализовать стратегию рассуждения
от цели к средствам.
Включение в процесс анализа
комбинированных гипотез значительно усложняет положение вещей. Пространство
гипотез "разрастается", и его приходится каким-то образом структурировать,
чтобы сделать обозримым. Метод иерархического построения и проверки гипотез
пытается решить эту проблему с помощью явно выраженного таксо-нометрического
представления пространства гипотез. Таксонометрическое представление обычно имеет
вид дерева, листьями которого являются элементы решения. Нет ничего удивительного
в том, что при представлении знаний, основанном на иерархически структурированной
организации объектов, процесс активизации гипотез направляется этой организацией
и заданным режимом управления.
Когда речь идет о решении некоторой проблемы
конструирования, предполагается, что имеется пространство элементов решения,
из которого можно выбирать, и имеются правила, которые помогают комбинировать
выбранные элементы. Самым простым примером является задача, которую приходится
решать чуть ли не ежедневно, — как одеться, чтобы не выглядеть в родной конторе
пугалом. Существуют писаные и неписаные правила, в чем прилично являться на работу,
а что рассматривается как пренебрежение мнением окружающих (и руководства). Итак,
задача состоит в том, чтобы, во-первых, не выглядеть пугалом, а во-вторых, не
вносить диссонанс в рабочую обстановку слишком вызывающим внешним видом. Даже
в том случае, если отсутствуют четко сформулированные правила, вряд ли кто-нибудь
посчитает совместимым костюм-тройку и кроссовки.
Эту главу мы начнем с краткого
обзора ранних работ, касающихся включения в экспертные системы специальных
средств, формирующих для пользователя информацию о ходе рассуждений (в дальнейшем
для краткости мы будем называть ее поясняющей информацией). Затем более
детально будут рассмотрены средства формирования пояснений экспертной системы
CENTAUR, о которой уже упоминалось в главе 13. И в заключение мы обсудим одно
из последних исследований в этой области, выполненное в рамках проекта Explainable
Expert Systems, в котором основное внимание было уделено обеспечению прозрачности
экспертной системы с точки зрения инженеров по знаниям, т.е. была предпринята
попытка рассмотреть в комплексе вопросы формирования поясняющей информации и извлечения
знаний.
После всестороннего анализа
прототип откладывается в сторону и начинается разработка рабочей версии программы,
которая должна решать весь комплекс задач, определенных в спецификации проекта.
Процесс разработки экспертной системы, как правило, состоит из последовательности
отдельных этапов, на которых наращиваются возможности системы, причем каждый из
этапов подразделяется на фазы проектирования, реализации, компоновки и
тестирования. В результате после каждого этапа наращивания возможностей
в распоряжении пользователя имеется система, которая способна справляться со все
более сложными вариантами проблемы.
Во всех экспертных системах мы тем или
иным образом стремимся представить модель
окружающего нас мира или, по крайней мере, какой-либо предметной области этого
мира. Думаю, не следует тратить время на доказательство того очевидного факта,
что программе нельзя позволять выполнять произвольные манипуляции над представлением
мира, которое в ней имеется. Как правило, предположения в таком представлении
влияют друг на друга, и существуют ограничения, которым должно удовлетворять любое
множество предположений
На одном конце спектра находятся программы, которые
обучаются, непосредственно воспринимая новые знания, и не выполняют при этом никакого
логического анализа. Обычно такую методику обучения называют rote learning
("зубрежка", а программы соответственно — "зубрилками").
Аналогов такой методике в обычной жизни не счесть. Самый знакомый всем — зазубривание
таблицы умножения (или "Отче наш..."). На другом конце спектра обучающих
программ находятся те, которые пользуются методикой unsupervised learning,
т.е. обучение без преподавателя.
Под этим подразумевается способность формулировать теоремы, которая имеет очевидную
аналогию с образом мышления человека, делающего научное открытие на основе эмпирических
фактов.
Теория Демпстера—Шефера
предлагает средства вычисления функции доверия на таких множествах гипотез и правила
объединения функций доверия, сформулированных на основании разных свидетельств.
Использование
С в качестве языка реализации объясняется тем, что компилятор
LISP не поддерживается частью распространенных платформ, а также сложностью
интеграции LISP-кода в приложения, которые используют отличный от LISP язык программирования.
Хотя в то время на рынке уже появились программные средства для задач искусственного
интеллекта, разработанные на языке С, специалисты из NASA решили создать такой
продукт самостоятельно. Разработанная ими система в настоящее время доступна во
всем мире, и нужно сказать, что по своим возможностям она не уступает множеству
гораздо более дорогих коммерческих продуктов.
В этой главе мы проанализируем
применение двух стратегий — наименьшего
принуждения (least commitment) и предложение и пересмотр (propose and revise).
Завершит главу обзор некоторых инструментальных средств приобретения знаний,
которые используются в системах решения проблем конструировании
Сопративление материалов Задания и решения Начертательная геометрия