Программирование на языке Пролог для искусственного интеллекта




Процесс рассуждений


Наш интерпретатор будет принимать вопрос и искать на него ответ. Язык правил допускает, чтобы в условной части правила была И / ИЛИ-комбинация условий. Вопрос на входе интерпретатора может быть такой же комбинацией подвопросов. Поэтому процесс поиска ответов на эти вопросы будет аналогичен процессу поиска в И / ИЛИ-графах, который мы обсуждали в гл. 13.

Ответ на заданный вопрос можно найти несколькими способами в соответствии со следующими принципами:

line();

Для того, чтобы найти ответ  Отв  на вопрос  В,  используйте одну из следующих возможностей:

  • если  В  найден в базе знаний в виде факта, то  Отв  -  это "В  это правда"
  • если в базе знаний существует правило вида

            "если  Условие

      то  В",

    то для получения ответа  Отв   рассмотрите  Условие

  • если вопрос В  можно задавать пользователю, спросите пользователя об истинности В
  • если в имеет вид  В1  и  В2,  то рассмотрите  В1,  а затем,

            если  В1  ложно, то положите  Отв  равным  "В

      это ложь",  в противном случае рассмотрите  В2  и получите  Отв

      как соответствующую комбинацию ответов на вопросы  В1  и  В2

  • если  В  имеет вид  В1  или  В2,   то рассмотрите  В1,  а затем,

            если  В1   истинно, то положите  Отв  равным   "В1 это правда",  в противном случае рассмотрите  В2  и получите  Oтв

      как соответствующую комбинацию ответов на вопросы  В1  и  В2.

  • line();

    Вопросы вида

            не  В

    обрабатываются не так просто, и мы обсудим их позже.




    Содержание  Назад  Вперед