Требования к организации работы программы

Как было описано в главе 15, правила вывода, подобные приведенным в листин­гах 16.1 и 16.2, можно перезаписать в виде правил Prolog и в качестве командного интерпретатора экспертной системы непосредственно использовать собственный ин­терпретатор Prolog. Но в результате этого организация работы программы будет не


Глава 16.Командный интерпретатор экспертной системы



 


совсем удовлетворительной с точки зрения пользователя экспертной системы по двум приведенным ниже причинам.

1. Пользователю не предоставляется удобного способа запрашивать объяснения, например, чтобы узнать, как получен данный ответ.

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

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

Question, please: peter isatiger. Is it true: peter has hair? yes .

Is it true: peter eats meat? no.

Is it true: peter has pointed teeth? У«-

Is it true; peter has claws?

why. 4 Пользователь просит объяснить, для чего нужна эта информация То investigate, by rule3, peter isa carnivore To investigate, by rule3, peter isa tiger This was your question Is it true: peter has claws? yes.

Is it true: peter has forward pointing eyes? yee.

Is it true: peter has tawny colour? yes.

Is it true: peter has black stripes? yes.

(peter isa tiger) is true Would you like to see how? yes. peter isa tiger

was derived by tuleS from peter isa carnivore

was derived by rule3 from peter isa mm m al

was derived by rulel from peter has hair was told and peter has pointed teeth

was told and peter has claws

was told and peter has forward pointing eyes

was told and



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


peter has tawny colour was told

f

and peter has black stripes was told

Этот диалог показывает, что система задает пользователю вопросы, касающиеся
"простейших" сведений, например, следующим образом::
Is it true: peter eats meat? % Правда ли, что Питер питается мясом?

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

1. Передать в качестве ответа на запрос необходимую информацию.

2. Спросить систему, для чего потребовалась эта информация (вводя вопрос
"Why?").

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

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