Сравнение прямого и обратного логического вывода
Как показано на рис. 15.2, правила вывода образуют цепочки, по которым переход осуществляется слева направо. Элементы в левой части этих цепочек представляют собой входную информацию, а в правой части - производную информацию:
вкодная информация -►...-> производная информация
Часть II. Применение языка Prolog в области искусственного интеллекта
Эти два вида информации могут иметь разные названия, в зависимости от контекста, в котором они используются. Входная информация может называться данными (например, данные намерений), или фактами, или проявлениями. Производная информация может называться доказываемыми гипотезами, или причинами проявлений, или диагнозами, или объяснениями, которые позволяют трактовать имеющиеся факты. Поэтому цепочки этапов вывода соединяют информацию различных типов следующим образом:
данные -►...-> цели свидетельства ->..,-* гипотезы
факты, наблюдения -* ... -* объяснения, диагнозы проявления -^ . . . -» диагнозы, причини
И прямой, и обратный логический вывод требуют поиска, но они отличаются друг от друга по направлению поиска. При обратном логическом аыводе поиск происходит от целей к данным, от диагнозов к фактам и т.д. В отличие от этого, при прямом логическом выводе поиск осуществляется от данных к целям, от фактов к объяснениям или диагнозам и т.д. Поскольку обратный логический вывод начинается с целей, принято считать, что он управляется целями. Аналогичным образом, поскольку прямой логический вывод начинается с данных, говорят, что он управляется данными.
Возникает резонный вопрос о том, что лучше, - прямой или обратный логический вывод. Этот вопрос аналогичен выбору между прямым и обратным поиском в пространстве состояний (см. главу 11). Как и в том случае, ответ на данный вопрос также зависит от конкретной задачи. Если необходимо проверить, является ли истинной некоторая определенная гипотеза, то более естественно формировать логический вывод в обратном направлении, начиная от рассматриваемой гипотезы. С другой стороны, если имеется много конкурирующих гипотез и нет причин начинать с одной,а не с другой, то может оказаться, что лучше сформировать логический вывод в прямом направлении. В частности, прямой логический вывод является более естественным в задачах текущего контроля, в которых непрерывно поступают новые данные и система должна определить, не возникла ли аномальная ситуация; любое изменение во входных данных может распространяться в системе в форме прямого логического вывода для проверки того, не указывает ли данное изменение на некоторое нарушение в контролируемом процессе или на снижение уровня производительности. В выборе между прямым и обратным логическим выводом может также помочь анализ даже самой формы сети правил. Если узлов данных (на левом фланге сети) мало, а целевых узлов (на правом фланге) много, то прямой логический вывод, по-видимому, является более приемлемым, а если количество целевых узлов гораздо меньше по сравнению с узлами данных, то верно обратное.
Реальные экспертные задачи обычно гораздо сложнее по сравнению с описанной и требуют сочетания логического вывода, осуществляемого в обоих направлениях. Например, в медицине некоторые начальные результаты наблюдений над пациентом обычно вызывают формирование рассуждений врача в прямом направлении для выработки некоторых начальных диагностических гипотез. Эти первоначальные гипотезы необходимо подтвердить или опровергнуть с помощью дополнительных фактов, а определение состава требуемых фактов осуществляется в форме обратного логического вывода. В примере, приведенном на рис. 15.2, тот факт, что в гостиной есть вода, может вызвать выполнение этапов логического вывода, показанных на рис. 15.3.