|
|
|
Junior Member
      
участник
Last Login: 20.10.2006 17:44
Сообщ.: 19,
Visits: 201
|
|
Добрый день, уважаемые программисты!
Разбираюсь с языком Пролог. Пытаюсь обучить его считать логические выражения. Для начала самые простейшие.
Научился определять операции. Операции определил как
:- op( 500, xfy, &). % это "Логическое И"
:- op( 600, xfx, <===>). % это эквивалентность
Подскажите как грамотно задать таблицу истинности (это у меня получилось, но не уверен что правильно)
и самое гланое - что ему (прологу всмысле) еще нужно сказать, чтобы он научился считать составные выражения типа 1 & 1 & 1 <===> 1.
Таблицу истинности я задал так:
1 & 1 <===> 1.
1 & 0 <===> 0.
0 & 1 <===> 1.
0 & 0 <===> 0.
Соответственно на вопрос 1 & 1 <===> X. получаю законное X = 1.
А вот на вопрос 1 & 1 & 1 <===> X. получаю сразу No.
Понимаю, что он просто не наодит у себя в базе соответствующего факта, но не могу сообразить, как в данном случае задать рекурсию для любого числа "слагаемых".
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Маловероятно, что здесь найдется человек хорошо знакомый с Прологом. Попробуй привлечь к этой теме внимание Игоря Лобанова. Может он сможет помочь.
|
|
|
|