Сравнение прямого и обратного логического вывода

Как показано на рис. 15.2, правила вывода образуют цепочки, по которым пере­ход осуществляется слева направо. Элементы в левой части этих цепочек представ­ляют собой входную информацию, а в правой части - производную информацию:

вкодная информация -►...-> производная информация



Часть II. Применение языка Prolog в области искусственного интеллекта


Эти два вида информации могут иметь разные названия, в зависимости от кон­текста, в котором они используются. Входная информация может называться дан­ными (например, данные намерений), или фактами, или проявлениями. Производ­ная информация может называться доказываемыми гипотезами, или причинами проявлений, или диагнозами, или объяснениями, которые позволяют трактовать имеющиеся факты. Поэтому цепочки этапов вывода соединяют информацию различ­ных типов следующим образом:

данные -►...-> цели свидетельства ->..,-* гипотезы

факты, наблюдения -* ... -* объяснения, диагнозы проявления -^ . . . -» диагнозы, причини

И прямой, и обратный логический вывод требуют поиска, но они отличаются друг от друга по направлению поиска. При обратном логическом аыводе поиск происхо­дит от целей к данным, от диагнозов к фактам и т.д. В отличие от этого, при прямом логическом выводе поиск осуществляется от данных к целям, от фактов к объясне­ниям или диагнозам и т.д. Поскольку обратный логический вывод начинается с целей, принято считать, что он управляется целями. Аналогичным образом, поскольку пря­мой логический вывод начинается с данных, говорят, что он управляется данными.

Возникает резонный вопрос о том, что лучше, - прямой или обратный логиче­ский вывод. Этот вопрос аналогичен выбору между прямым и обратным поиском в пространстве состояний (см. главу 11). Как и в том случае, ответ на данный вопрос также зависит от конкретной задачи. Если необходимо проверить, является ли ис­тинной некоторая определенная гипотеза, то более естественно формировать логиче­ский вывод в обратном направлении, начиная от рассматриваемой гипотезы. С дру­гой стороны, если имеется много конкурирующих гипотез и нет причин начинать с одной,а не с другой, то может оказаться, что лучше сформировать логический вывод в прямом направлении. В частности, прямой логический вывод является более есте­ственным в задачах текущего контроля, в которых непрерывно поступают новые данные и система должна определить, не возникла ли аномальная ситуация; любое изменение во входных данных может распространяться в системе в форме прямого логического вывода для проверки того, не указывает ли данное изменение на некото­рое нарушение в контролируемом процессе или на снижение уровня производитель­ности. В выборе между прямым и обратным логическим выводом может также по­мочь анализ даже самой формы сети правил. Если узлов данных (на левом фланге сети) мало, а целевых узлов (на правом фланге) много, то прямой логический вывод, по-видимому, является более приемлемым, а если количество целевых узлов гораздо меньше по сравнению с узлами данных, то верно обратное.

Реальные экспертные задачи обычно гораздо сложнее по сравнению с описанной и требуют сочетания логического вывода, осуществляемого в обоих направлениях. На­пример, в медицине некоторые начальные результаты наблюдений над пациентом обычно вызывают формирование рассуждений врача в прямом направлении для вы­работки некоторых начальных диагностических гипотез. Эти первоначальные гипоте­зы необходимо подтвердить или опровергнуть с помощью дополнительных фактов, а определение состава требуемых фактов осуществляется в форме обратного логического вывода. В примере, приведенном на рис. 15.2, тот факт, что в гостиной есть вода, мо­жет вызвать выполнение этапов логического вывода, показанных на рис. 15.3.