ГЛАВА 22.
Рассуждения,
основанные на прецедентах
В главе 2
мы отмечали, что в ранних программах искусственного интеллекта отчетливо прослеживалась
тенденция использовать по возможности единообразные методы решения проблем.
Логические рассуждения строились на основе небольшого количества предположений
или аксиом, а множество правил, применяемых для формирования нового состояния
проблемы, также было невелико. Такие классические области искусственного интеллекта,
как игры и доказательство теорем, являются формальными системами, которые по
самой своей сути годятся для подобной комбинации логического анализа и эвристического
поиска. Хотя в подавляющем большинстве экспертных систем применяется большое
количество правил, специфичных для определенной предметной области, и используются
разнообразные методы решения проблем, способы поиска и организации логического
вывода, по сути, не очень отличаются от тех, что использовались в ранних программах
искусственного интеллекта.
Например,
в процессе работы производящей системы представление состояния проблемы в рабочей
памяти последовательно изменяется, все более приближаясь к состоянию, характеризующему
искомое решение. Такой пошаговый процесс очень напоминает последовательность
ходов, дозволенных правилами игры, а отличие заключается в основном в семантике
используемых правил. Программа игры в шахматы, основанная на знаниях, должна
опираться не только на правила выполнения ходов, но и на информацию о стратегии,
типовых ситуациях на доске, способах распознавания стадий игры (дебют, миттельшпиль
или эндшпиль) и т.д.
Существует,
однако, множество рутинных задач, выполняемых человеком, которые не вписываются
в эту парадигму. Трудно себе представить, что, решая задачу, куда пойти сегодня
вечером (в какой ресторан или кинотеатр), человек сознательно или подсознательно
выполняет логический анализ или эвристический поиск. Если обратиться к менее
тривиальным примерам, то также трудно поверить, будто судья, архитектор или
ваш шеф, принимая решение, всегда прибегают к логическому анализу. Скорее всего,
в большинстве случаев в основе наших действий в повседневных ситуациях лежит
другой механизм рассуждений и принятия решения.
В отличие
от большинства машин, человек почти всегда чем-то занят или озабочен, а потому
при решении повседневных проблем уже на подсознательном уровне стремится сэкономить
время и силы. И здесь на помощь всегда приходят память и прежний опыт — для
человека проще распознать ситуацию и найти для нее аналог, чем заново формировать
решение.
Но как все
это можно реализовать в компьютерной модели рассуждений? Мы уже знаем, что воспоминания
и приобретенный опыт не так просто свести к набору правил, но можно представить
себе некоторую "библиотеку" ситуаций, встречавшихся в прошлом, которые
имеют отношение к возникшей проблеме, например "репертуар" указаний
шефа, или судебные решения, принятые в прошлом по аналогичным делам, или наброски
архитектурных планов для сооружений аналогичного назначения и т.п. Естественно,
что такая библиотека должна быть индексирована каким-то разумным способом, чтобы
в массиве хранящихся описаний ситуаций можно было довольно быстро распознать
аналогичную текущей. Кроме того, понадобится также и некоторый механизм, который
позволит адаптировать ранее принятое решение к новой проблеме (текущей ситуации).
Описанный подход получил наименование рассуждение, основанное на прецедентах (case-based reasoning). Мы рассмотрим эту новую технологию на трех примерах, взятых из разных предметных областей, — кулинарии, юриспруденции и делопроизводства. После этого мы вновь вернемся к сравнению рассуждений, основанных на прецедентах, с более привычной технологией логического вывода в экспертных системах и покажем, что эти технологии не противоречат, а дополняют друг друга. В главе 23 этот тезис будет подкреплен примерами и дальнейшим анализом.