Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискретка / Книги / Галиев Ш.И. Математическая логика и теория алгоритмов (2002).pdf
Скачиваний:
2274
Добавлен:
25.02.2016
Размер:
7.49 Mб
Скачать

105

Потомки третьего уровня (правнуки Пам) выявятся в результате следующих преобразований

родитель(пам,Z) ANS(Z),

(3.31)

получено из (3.26) и (3.24),

(3.32)

предок(боб,X) ANS(X),

получено из (3.31) и (3.10),

(3.33)

родитель(боб,Y) предок(Y,Х) ANS(X),

получено из (3.32) и (3.25),

(3.34)

родитель(X,Y) родитель(боб,X) ANS(Y),

получено из (3.33) и (3.24),

(3.35)

родитель(пат,Y) ANS(Y),

получено из (3.34) и (3.14). Затем из (3.35) и (3.15) получим: ANS(джим).

Отметим, что в каждом из рассмотренных случаев выполняется следующее:

1)в первой выполняемой резолюции используется дизъюнкт, построенный для вопроса;

2)в каждой последующей резолюции должна участвовать резольвента предыдущей резолюции.

§ 15. Особенности ПРОЛОГа

Целью данного пособия не является изложение языка ПРОЛОГ. Эти параграфы только иллюстрируют, как работает логика в многообещающем языке ПРОЛОГ. Этот язык некоторые исследователи считали языком будущего.

Язык ПРОЛОГ находит существенное использование:

-при описании и решении задач на графах;

-в экспертных системах (системы испытаний, медицинская диагностика, нахождение неисправностей в технических системах);

-в системах искусственного интеллекта (решение задач, доказательство теорем, различные игры, такие, как шахматы, кубики);

-при создании динамических реляционных баз данных;

-при создании систем перевода с одного языка на другой;

-в системах управления производственными процессами;

-при создании пакетов символьных вычислений для решения уравнений, дифференцирования и интегрирования;

-при создании специализированных и общих вопросно-ответных

систем.

Метод резолюций используется не только в языке ПРОЛОГ, но и в некоторых системах управления базами данных, и некоторых

106

специализированных экспертных системах. Программа на ПРОЛОГе состоит из:

фактов типа: родитель(том,боб).

родитель(боб,лиз).

правил: предок(X,Y):

родитель(X,Z) предок(Z,Y).

целей: ?-предок(X,том).

Механизм ПРОЛОГа состоит в том ,чтобы доказать истинность цели и (или) найти значение переменного цели при котором цель истинна.

Вычисления всегда начинаются с цели и рассматриваются возможные варианты нахождения резольвент. Вычисления в ПРОЛОГе можно интерпретировать как нисходящие вычисления, см. Рис. 3.3.

Вычисления продолжаются насколько возможно вглубь. При выяснении невыполнимости (на этом пути) осуществляется возврат до основания ветви дерева и продолжается обход слева от просмотренной ветви. Этот процесс называется бэктрекингом (backtracking). Бэктрекинг позволяет обойти все ветви возможного дерева выводов. Ясно, что если цель достигается в самой левой ветви, то тратится много времени на обход ненужных участков. Для управления бэктрекингом (изменения порядка обхода) в Прологе вводятся нелогические примитивы: сut, retract, assert и т. д. Они позволяют управлять процедурой обхода.

Рис. 3.3. Схема нисходящих вычислений в Прологе

В настоящее время разработаны различные модификации Пролога,

например: Coustraint ПРОЛОГ, Mпролог, PRO-SQL, EDUCE, Deitalog и др.

107

Существует много работ по связыванию ПРОЛОГа с базами данных. В принципе программу на ПРОЛОГе можно уже рассматривать как некоторую базу данных.

Соберись и действуй.

Билл Гейтс (Бизнес со скоростью мысли)

§16. Вопросы и темы для самопроверки

1.Определение логического следствия из данной пропозициональной формы (формулы логики высказываний), из множества данных форм.

2.Свойства логического следования.

3.Критерий логического следствия из множества формул логики высказываний.

4.Проблема дедукции логики высказываний. Решение проблемы дедукции с использованием противоречивости специальной формулы.

5.Литералы, контрарные литералы, дизъюнкты.

6.Бинарные резольвенты дизъюнктов логики высказываний.

7.Теорема о полноте метода резолюций.

8.Метод резолюций в логике высказываний.

9.Метод насыщения уровня.

10.Стратегии вычёркивания.

11.Лок-резолюция. Теорема о полноте метода лок-резолюций. Зависит ли результат лок-резолюции от изменения индексов литералов?

12.Метод резолюций для хорновских дизъюнктов.

13.Определение логического следствия для формул логики предикатов.

14.Определение сколемовских стандартных форм. Для каждой ли формулы логики предикатов существует сколемовская стандартная форма?

15.Единственна ли сколемовская стандартная форма для заданной формулы логики предикатов?

16.Алгоритмы нахождения сколемовских стандартных форм.

17.Когда формула равносильна своей сколемовской стандартной форме?

18.Унификация. Алгоритмы унификации.

19.Метод резолюции в логике предикатов, отличия от метода резолюций

влогике высказываний.

20.Приложение метода резолюций для анализа силлогизмов Аристотеля.

21.Использование метода резолюций в ПРОЛОГе при работе с фактами.

22.Для каких задач вводится ANS-предикат?

23.Приведите примеры введения правил в ПРОЛОГе.

24.Рекурсивное задание правил в ПРОЛОГе.

 

108

 

§ 17. Упражнения

1.

Доказать, что АВ&C тогда и только тогда, когда ╞ А В&C1.

2.

Доказать, что

 

а) А12,…,АnВ тогда и только тогда, когда А12,…,Аn-1(Аn В);

б) А12,…,АnВ тогда и только тогда, когда

(А1 (А2 (…(Аn В)…)));

в) А12,…,АnВ тогда и только тогда, когда А1&А2&&АnВ.

3.Докажите, что если АС и ВС, то А ВС (доказательство разбором случаев).

4.Докажите, что если АВ, то для произвольной пропозициональной

формы С имеет место А&СВ.

 

5. Докажите, что

 

а) А,А ВВ (правило заключения);

б) А,ВА&В;

в) А,ВА В;

г) АА В;

д) А В, ВА (правило отрицания);

 

е) А В, В СА С (правило силлогизма); ж) А ВВ А (правило контрапозиции);

з) А (В С)В (А С) (правило перестановки посылок); и) А (В С)А&В С (правило соединения посылок); к) А&В СА (В С) (правило разъединения посылок);

л) А&ВВ;

м) В1&В2&&ВkВi для каждого i(1ik).

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

(А В)&(А В)&( А В).

Искомые следствия суть:

 

А В;

А В;

А В;

(А В)&(А В)=А;

(А В)&( А В)=В;

(А В)&( А В)=АВ;

(А В)&(А В)&( А В)=А&В.

 

6. Найти все следствия в с.к.н.ф. для следующих форм:

а) А&В, В;

б) А В, А;

в) А В, В А, А;

г) А В, В А;

д) В С, В А, В С;

е) А В, В С, С А.

1 В упражнениях 1-14 рассматриваются формулы логики высказываний (пропозициональные формы).

109

Логическое следствие называется простым следствием, если оно является элементарной суммой, не содержащей повторяющихся слагаемых, а также не является тавтологией и является минимальной, т.е. после отбрасывания какого-нибудь из ее членов перестает быть логическим следствием из данных форм. Так, в разобранном выше примере простыми следствиями из А и А В являются следствие А и следствие В.

Конъюнкция всех простых следствий данной форты А оказывается сокращенной к.н.ф.

7.Найти все простые следствия для пропозициональных форм задачи 6.

8.Для заданных посылок найти все их простые следствия. (Указание: найти сначала сокращенные к.н.ф. для конъюнкции посылок):

а) А В, А С, (В&С);

б) &В) С, В, С;

в) (А В)&С, В С;

г) АВ, А С В;

д) А В, В С, В.

Рассмотрим пример использования сокращенных к.н.ф.

В совершении некоторого поступка подозревается только одно из четырех лиц: Л1, Л2, Л3 и Л4. Л1 утверждает, что поступок совершил Л2; Л2 утверждает, что поступок совершил Л4; Л3 говорит, что он не совершал этого поступка, и Л4 тоже говорит, что он этого поступка не совершал. Кто же совершил поступок, если известно, что только одно из этих утверждений истинно?

Через А, В, С и D обозначим соответственно высказывания «поступок совершил Л1, Л2, Л3 и Л4». Тогда условие, что поступок мог совершить только один из четырех, запишется в виде пропозициональной формы:

А= (A&B)& (A&C)& (A&D)& (B&C)& (B&D)& (C&D).

которая означает, что никакие два из четырех высказываний не могут быть оба истинными. Заявление каждого из четырех означает: B, D, C и D. Но так как истинно только одно из них, то, значит, никакие два из этих заявлений не являются одновременно истинными. Это условие запишется в следующем виде:

B= (B&D)& (D& C)& (B& D)& ( D& C)& (D& D)& ( C& D).

Берем конъюнкцию посылок А и В, находим для A&B сокращенную к.н.ф.: B& D&C& A, которая означает, что высказывания А, В, D ложны, а высказывание С: « Поступок совершил Л3» истинно.

9.Используя условия из рассмотренного примера, узнать, кто совершил поступок, если известно, что только один из них говорит ложь.

10.С помощью метода резолюций доказать, что следующее

множество дизъюнктов невыполнимо: P Q R, P R, Q R, R. 11. Методом резолюций, используя метод исчерпания уровней,

доказать, что следующее множество дизъюнктов невыполнимо: a) P Q R, P R, Q, R;

б) P Q, Q R, P Q, R.

110

12.Пусть S ={P,Q,R,W, P Q R W}. Сколько резольвент будет порождено из S методом насыщения уровня до того как будет получен пустой дизъюнкт?

13.Для S ={P,Q,R,W, P Q R W} получить пустой дизъюнкт, используя лок-резолюцию.

14. Для S ={ P Q R, P R, Q, R} получить пустой дизъюнкт, используя лок-резолюцию.

15.Найти сколемовские стандартные формы для следующих формул:

а) х у z(P(x,y) Q(x,z)); б) х у z(P(x,y) Q(x,z)); в) х у z(P(x,y) Q(x,z)); г) х у z(P(x,y) Q(x,z));

16.Найти сколемовские стандартные формы для следующих формул:

а) х у( zP(x,y) Q(x,z)); б) xQ(x) xР(x);

в) x у( z(P(x,y)&P(y,z)) vQ(x,y,v)); г) x(P(x) yQ(x,y));

д) x(P(x) yQ(x,y));

е) x( ( уP(x,у)) ( zQ(z) R(x)));

ж) x у( zР(x,y,z)&( uQ(x,u) vQ(y,v))).

17. Определить унифицируемо ли каждое ли из следующих множеств:

а) {P(a), P(b)};

б) {P(x), P(f(x))};

в) {P(a), P(f(x))};

г) {P(а,x), P(а,а)};

д) {P(а,f(x)), P(x,y)};

e) {Q(f(а),g(x)), Q(y,y)};

ж) {P(x,z,y), P(w,u,w), P(a,u,u)}.

18.Найти общий унификатор для следующего множества формул:

{P(a,x,f(g(y))), P(z,f(z),f(u))}.

19.Дано множество формул:

{ x(P(x) (Q(x)&R(x))), x(P(x)&S(x))}.

Методом резолюций выяснить будет ли формула x(S(x)&R(x)) логическим следствием из заданного множества формул.

20. Дано множество дизъюнктов

{P(a), E(a), S(a,y) P(y), P(x) R(x), P(x) C(x), E(x) R(x) S(x,f(x)),E(x) R(x) C(f(x))}.

Лок-резолюцией показать, что данное множество дизъюнктов не выполнимо. 21. Дано множество формул:

{ x(P(x)& y (Q(x) R(x,y))), x(P(x) y(S(y) R(x,y)))}.

Методом резолюций выяснить будет ли формула x(Q(x) S(x)) логическим следствием из заданного множества формул.

22. Методом резолюций показать, что формула

x( yS(y)&V(x,y)) z(C(z)&V(x,z)))

является логическим следствием формулы y(S(y) C(y)).

111

23.С помощью метода резолюций установить правильность следующих силлогизмов (модусов) Аристотеля: Barbari, Ferio, Baroco. Напомним, что гласные участвующие в приведенных названиях силлогизмов определяют вид силлогизма, см. параграф 11.

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

1). Некоторые А суть В. Ни одно В не есть не С. Следовательно, некоторые А суть С.

2). Все А суть В. Ни один С не есть не В. Следовательно, ни один С не есть А.

3). Некоторые А суть не В. Все не С суть В. Следовательно, некоторые

Асуть С.

4). Все А суть В. Ни один С не есть В. Следовательно, все А суть не С. 5). Некоторые не В суть не А. Ни одно не В не есть С. Следовательно, некоторые не А суть не В.