Файл: В. Ф. Пономарев математическая логика.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 312

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
, ограничивающих области определения, наличие сколемовских функций не позволяет использовать таблицы истинности.

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


2.4 Логическое программирование

Типичным представителем языка программирования для описания последовательности действий в процессе логического вывода является Prolog.

Пролог-программа состоит из предложений, которые бывают трех типов: факты, правила и вопросы.

  • Факты есть повествовательные предложения, имеющие значение только “истина” (см. 1.5). Множество фактов формирует так называемую экстенсиональную базу знаний о предметной области.Правила это условные предложения, истинность заключения которых зависит от истинности условий, поэтому в структуру правила включены предметные переменные, имена которых начинаются с прописной буквы и предметные постоянные, имена которых начинаются со строчной буквы. Множество правил формирует интенсиональную базу знаний о предметной области и определяет механизм достижения цели при заданных условиях.

Левая часть правила - <голова> - есть формализованное описание заключения, а правая часть правила – <тело> - формализованное описание условий, определяющих истинность вывода заключения, т.е.

<голова>:-<тело>”.”

Символ “:-“ соответствует символу обратной импликации ””.

Если множество условий имеют между собой конъюнктивную связь, то между ними ставится запятая, т.е.

<заключение>:-<условие>{“,”<условие>}”.”.

Если условия имеют между собой дизъюнктивную связь, то между ними ставится точка с запятой, т.е.

<заключение>:-<условие>{“;”<условие>}”.”.

На языке Prolog эти правила записывают так:

<заключение>:-

<условие_1>”,”

<условие_2>”;”

<условие_3>”.”

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

Смысл этого правила таков:“если истинны условия 1 и 2 или 3, то истинно и заключение ”.


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

Если тело пусто, то голова есть истинное утверждение или аксиома. Факты –это предложения, имеющие пустое тело.

<заключение>”.”.

Если голова пуста, то тело продставляет вопрос, т.е.

? - <тело>”.”.

С помощью вопросов пользователь может спрашивать систему о том, какие утвреждения являются истинными или ложными. Предметные переменные, включаемые в вопросы, сравниваются с помощью правил с предметными постоянными, вкючаемыми в факты, и система формирует ответ.

Например, множество правил для определения степени родства:

дед(X, Y):-

родитель(X, Z),

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

брат(X, Y):-

родитель(Z, X),

потомок(X; U; Z, Y):-

родитель(Y, Z),

родитель(Z, U),

родитель(U, X).

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

можно применить к родословной русских князей X века:

отец(игорь, святослав).

отец(святослав,владимир).

отец(владимир, борис).

отец(владимир,глеб).

?-дед(святослав, Y).

Y=борис.

Y=глеб.

?-брат(X, Y).

X=борис.

Y=глеб.

?-потомок(X; Y; Z, игорь).

Z=святослав.

U=владимир.

X=борис.

X=глеб.

Предметные переменные заключения, как правило, связаны квантором общности, а для условий - квантором существования. Например, правило “дед(X, Y):- родитель(X, Z), родитель(Z, Y)” утверждает, что если для всех X и Y существует Z, то X -дед для Y.

Правило “брат(X, Y):-родитель(Z, X), родитель(Z, Y)” утверждает, что если для всякого X и Y существует общий Z, то X брат Y.

Рассмотренный метод обобщает механизм унификации. Аргументы вызова это имена переменных, которые подставляют на место формальных параметров. Формальными параметрами могут быть термы. Поэтому процесс вызова включает совмещение термов, яляющихся аргументами вызова с термами иззаголовка.

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



Контрольные_вопросы.

1) Запишите символически следующие суждения:

a) "все судьи - юристы, но не все юристы – судьи”;

б) "лица, проходившие ранее подготовку в аспирантуре, ис -пользовавшие отпуск для завершения диссертации как соискатели или бывшие в творческом отпуске для завершения диссертации, правом поступления в аспирантуру не пользуются".

в) “Судья, являющийся родственником потерпевшего, не может участвовать в рассмотрении дела. Судья X - родственник потерпевшего. Следовательно, судья X не может участвовать в рассмотрении дела.”[5]

г) “К уголовной ответственности привлекаются лица, совершившие тайное похищение личного имущества граждан. Обвиняемый X не совершал тайного похищения личного имущества граждан. Следовательно, обвиняемый X не может быть привлечен к уголовной ответственности”.

д) “Если иск предъявлен недееспособным лицом, то суд оставляет иск без рассмотрения. Иск предъявлен недееспособным лицом. Следовательно, суд оставляет иск без рассмотрения”.

2) Привести к предваренной нормальной форме:

a) (xy(P21.(x; y))(xy(P22.(x; y)));

б) (xy(P21.(x; y))(xy(P22.(x; y)));

в) (xy(P21.(x; y))(xy(P22.(x; y)));

г) xyzu(P(x, y, u, z).

3) Привести к сколемовской стандартной форме:

a) (xy(P21.(x; y))(xy(P22.(x; y)));

б) (xyzw(P4.(x; y; z; w));

в) (xy(P21.(x; y))(xy(P22.(x; y)))).

  1. Какие из нижеприведенных формул являются тождестивенно истинными:

  1. x(P1(x))x(P2.(x))x(P1(x)P2.(x));

б) y(P1.(x))y (P2.(x))y(P1.(x)(P2.(x));

в) x(P1(x)P2.(x))x(P1(x))x(P2.(x));

г) y(P1.(x)(P2.(x))y(P1.(x))y (P2.(x))

5) Докажите выводимость заключения методом дедукции:

a) x(P1.(x) P2.(x)); x(P3.(x)P1.(x))

x(P3.(x) P2.(x));
б ) x(y(P21.(x; y)P2.(y) y(P3.(y)P24.(x; y)))


 x(P3.(x)xy(P21.(x; y) P2.(y)));
в ) x(P1.(x)P2.(x) P3.(x)); x(P1.(x) P4.(x))

x(P4.(x)P3.(x)).

6) Докажите выводимость заключения по принципу резолюции:
a) x(P1.(x)y(P2.(y) P23.(x; y)));

x(P1.(x)y(P4.(y)  P23.(x; y)))

y(P2.(y)P4.(y)).
б ) y(P1 (y)P2.(y))

x(y(P1.(y) P23.(x; y)) y(P2.(y) P23.(x; y))).

в) x((P1.(x)P2.(x))y(P3.(y)P24.(x;y)));

x(P5.(y) P1.(x) y(P24.(x;y)P5.(y)));

x(P3.(x) P5.(x)).

Расчетно-графическая работа

Найти формулы ПНФ и ССФ, выполнить унификацию атомов дизънктов.

Вариант

Формула

1

x(A(x) B(y))y(B(y) A(x))

2

x( A(x)x( C(x)))x((C(x)A(x))

3

x(A(x)x(B(x)))y( A(x) C(y)C(y)B(x))

4

x(A(x)x(B(y)))x( A(x) B(y))

5

x(A(x)B(y))y(A(x)(B(y)C(z))z(A(x)C(z))

6

x(A(x)y(B(y)C(z)))z(A(x)B(y)C(z))

7

x(A(x)B(z))y(C(y)A(x))z(C(y)B(z))

8

x(A(x)B(y))y((C(y)A(x))(C(y)y(B(y)))

9

x(A(x)B(y))y(A(x)(B(y)C(z)))(A(x)z(C(z)))

10

x(A(x)B(y)A(x)y(B(y)C(z)))(A(x)z(C(z)))

11

x(A(x)z(B(y)C(z)))y(B(y)(A(x)C(z)))

12

(x(A(x))x(B(x)))z((B(x)C(z))(A(x)C(z)))

13

(x( A(x))x( B(x)))( B(x)A(x))

14

(x(A(x)))(x(B(x)))y(C(y)A(x)C(y)B(x))

15

x( A(x)y(B(y)))( B(y)A(x))

16

(x(B(x))x(A(x)))y((A(x)C(y))( C(y)B(x)))

17

x( A(x)y(B(y)))(B(y)A(x))

18

x( A(x)y( B(y)))(B(y)A(x))

19

x(A(x)B(x))y(B(x)C(y)z(C(y)D(z)))

20

(x(A(x)B(x))z(C(z)A(x)))y(C(z)B(y))

21

(x(B(x)y(A(y)))(y(B(y)(A(x)C(z))))z(C(z))

22

x(B(x))y(A(y)B(x))

23

x(A(x)B(x))(y(C(y)A(x))z(C(z)B(x)))

24

x(B(x)A(y))(B(x)y(A(y)C(z)))z(C(z)))

25

x(A(x)B(z))y(C(y)A(x)z(C(y)B(z)))

26

(x(B(x))x(A(x)))(A(y)yC(y))( A(x)C(y))

27

(x(A(x))x(B(x)))y((A(x)C(y))(B(x)C(y)))

28

x(A(x)y(B(y)))( A(x)y(B(y)))B(y)

29

x(A(x)y(B(y)))( A(x)B(x))B(x)

30

x( A(x))(A(x)y(B(y)))

31

(x(B(x))x(A(x)))( B(x)A(x))A(x)

32

(x(B(x))x(C(x)))(A(y)B(x)A(y)C(x))

33

x(A(x)B(y))yz((C(z)A(x))(C(z)B(y)))

34

(x(A(x))x(C(x)))y(C(x)B(y))(A(x)B(y))

35

x(A(x))y(B(y))y(C(y)xD(x))(A(x)C(y)) D(y))

36

x(A(x))( A(x)y(B(y)))

37

x(B(x))y(A(y)B(x))

38

x(B(x)y(A(y)))y(B(y)(A(x)C(z)))z(B(z) C(z))

39

x(B(x)A(y))(B(x)y(A(y)C(z)))z(B(x)C(z))

40

x(A(x)B(x))y((C(y)A(x))(C(y)B(x)))

41

(x( A(x)y( C(y)))(C(x)A(x))

42

x(A(x) B(y))y(B(y) A(x))

43

x(A(x)B(z))y((C(y)A(x))z(C(y)B(z)))

44

x(A(x)B(y))z(C(z)A(x))y(C(z)B(y))

45

x(A(x)B(x))y(B(x)C(y))z(C(y)D(z)))

46
46

x( A(x)y( B(y)))(B(x)A(x))

47

x( A(x)x(B(x)))(B(x)A(x))

48

(x(B(x)y(A(y))))y(A(x)C(y)) C(y)B(x)

49

(x( A(x)y(B(y))))( B(x)A(x))

50

x(A(x)B(y))y(A(x)(B(y)C(z)))z(A(x)C(z))



Литература


  1. Вагин В.Н. Дедукция и обобщение в системах принятия решений.- М.: Наука, 1988г. – 384 с.

  2. Войшвилло Е.К., Дектярев М.Г. Логика как часть теории познания и научной методологии. кн.1. Учебное пособие. –М.: Наука, 1994г. –312с.

3. Зегет В. Элементарная логика. - М.: Высшая школа, 1985г..- 256 с.

4. Кириллов В.И., Старченко А.А. Логика. - М.: Высшая школа, 1987г.– 271с.

5. Kузнецов О.П., Андельсон-Вельский Г.М. Дискретная матема­тика. для инженера.- М.: Энергоатомиздат, 1988г.—480 с.

6. Лавров И.А., Максимова Л.Л. Задачи по теории множеств, матeмaтичecкoй логике и теории алгоритмов 240с.

7. ЛихтарниковЛ.М., Сукачева Т.Г. Математическая логика /курс лекций/ - СПб.: “Лань”, 1998г..-288с.

8. Першиков В.И., Савинков В.М. Толковый словарь по информатике – М.: Финансы и статистика, 1991г. –543с.

9. Пономарев В.Ф. Математические методы и модели в обработке информации и управлении. Методические разработки по разделу “Формальные системы”- Калининград: КГТУ, 1992г..

10. Роберт P. Столл. Множества. Логика. Аксиоматические теории.- М.: Просвещение, 1968. – 231 с.


Предметный указатель

Аксиомы исчисления высказываний, 45, 49

Алгебра высказываний, 7

Алгебра предикатов, 92