НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

4.9. Использование Пролога для реализации правил де Моргана

В программе 4.4 функции а, Ь, с, d, q и h представлены в трех различных вариантах, иллюстрирующих применение правил де Моргана. Различным вариантам соответствуют отношения, обозначенные разным числом букв. Например, отношение а - первый вариант функции а из табл. 4.8, аа - второй вариант той же функции и ааа - третий. Теперь, если три варианта представляют одну и ту же функцию, реакция Пролог-системы в случае одних и тех же переменных будет одинаковой.

Программа 4.4

а Т if

(either p true or p false)

аа Т if

not (p true and p false)

ааа Т if

not not (either p true or p false)

b T if

(either p true or q true)

bb T if

not (p false and q false)

bbb T if

not not (either p true or q true)

с Т if

(either p true or q false)

cc T if

not (p false and q true)

ссс Т if

not not (either p true or q false)

d T if

p true

dd T if

not (p false and p false)

ddd T if

not not (either p true or p true)

g T if

(either p true or q true or p false and q false))

gg T if

not not (p true or q true) and not (p false and q false)

ggg T if

not not (either not (either p false or q false) or not (either p true or q true))

h T if

p true and

q true

hh T if

not not (p true and q true)

hhh T if

not (either p false or q false)

X true if

(X true) is-told

X false if

not X true

X F if

not X T

В данной программе енова используется модуль TOLD, позволяющий организовать диалог пользоваться с Пролог-системой. Ниже приводится пример такого диалога:

is (h T)

[верно (h Т)]

р true ? yes

[р истинно? да]

a true ? yes

[q истинно? да]

YES

[ДА]

& is (hh T)

[верно (hh T)]

р true ? yes

[р истинно? да]

q true ? yes

[q истинно? да]

YES

[ДА]

& is (hhh T)

[верно (hhh T)]

p true ? yes

[р истинно? да]

q true ? yes

[q истинно? да]

YES

[ДА]

Указанный диалог показывает, что первая строка таблицы истинности для высказываний h, hh и hhh одна и та же. Аналогичным образом могут быть проверены и остальные строки и таблицы.

Ниже приводится программа 4.5, полученная в результате модификации программы 4.3. Эта программа позволяет проверять таблицы истинности для различных вариантов представления функций алгебры логики.

Программа 4.5

Т true

X true (Y Z x) if

X true (Y Z) and

x true

b true (X Y) if

(either X true or Y true)

bb true (X Y) if

X val and

Y val and

not (X false and Y false)

bbb true (X Y) if

X val and

Y val and

not not (either X true or Y true)

с true (X Y) if

(either X true or Y false)

cc true (X Y) if

X val and

Y val and

not (X false and Y true)

ccc true (X, Y) if

X val and

Y val and

not not (either X true or Y false)

h true (X Y) if

X true and

Y true

hh true (X Y) if

X val and

Y val and

not not (X true and Y true)

hhh true (X Y) if

X val and

Y val and

not (either X false or Y false)

X val if

(either X true or X false)

X tab (Y Z x) if

(either X true (Y Z x) or X false (Y Z x))

F false

X false (Y Z) if

Y val and

Z val and

not (X true (Y Z))

X false (Y Z x) if

X false (Y Z) and

x false

Для получения с помощью программы 4.5 таблицы истинности для функции b необходимо ввести запрос типа all (x y z : b tab (x y z)). Затем после ввода аналогичных запросов для функций bb и bbb получаем соответствующие им таблицы.

Ниже приводится диалог, возникающий после ввода трех указанных запросов.

& all (х у z : b tab (xyz))

TXT

XTT

FFF

& all (x у z : bb tab (x у z))

TTT

TFT

FTT

FFF

& all (x у z : bbb tab (x у z))

TFT

FTT

FFF

No (more) answers

По полученным таблицам можно убедиться в идентичности функций b, bb и bbb.

предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь