Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

КН Лекции 1-9

.pdf
Скачиваний:
15
Добавлен:
23.02.2015
Размер:
2.64 Mб
Скачать

Алгоритмический анализ. Лекция 1.

Логика высказываний

§1. Высказывания и операции над ними

Определение. Высказывание – это повествовательное предложение, о котором можно сказать истинно оно или ложно.

Примеры:

A = “Число 2 является иррациональным”.

B = “Неверно, что число 2 является иррациональным”. C = “Число 2+1 является иррациональным”.

D = “Если число 2 является иррациональным, то число 2 +1 также является иррациональным”.

E = “Число x является иррациональным ”.

F= “Который час?”

G= “Идите решать задачу к доске!”

Определение. Пусть X и Y – некоторые высказывания. Тогда высказывание

1)“X & Y” называется конъюнкцией высказываний X и Y;

2)“X Y” называется дизъюнкцией высказываний X и Y;

3)¬ X” называется отрицанием высказывания X;

4)“X → Y” называется импликацией высказываний X и Y;

5)“X ↔ Y” называется эквиваленцией высказываний X и Y.

Т а б л и ц а 1. (Таблица истинности логических операций)

X

Y

X&Y

X Y

¬X

X→Y

X↔Y

1

1

1

1

0

1

1

1

0

0

1

0

0

0

0

1

0

1

1

1

0

0

0

0

0

1

1

1

§2. Формулы логики высказываний, интерпретация

Определение. Атомарными формулами логики высказываний называются выбранные буквы латинского алфавита с индексами и без них. В качестве выбранных букв мы будем использовать U, V, W, X, Y, Z.

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

1)атомарные формулы;

2)символы истины 1 и лжи 0; (также используют “И” и “Л”);

3)выражения вида (F) & (G), (F) (G), ¬ (F), (F)→(G), (F)↔(G), где F и G –

формулы логики высказываний.

Примеры.

Буквы X,Y,Z – атомарные формулы.

Формулу ((X)& (Y)) → (Z) можно записать так: X&Y → Z.

Но выражение X&Y Z без скобок не является формулой. Возможны две формулы (X&Y) Z и X & (Y Z).

Определение. Подформулой атомарной формулы является она сама. Подформулами формулы ¬F являются формула ¬F и все ее подформулы. Подформулами формул F&G, F G, F→G, F↔G являются они сами и все подформулы формул F и G.

Например, формула F = X&Y → X Z имеет шесть подформул: X, Y, Z, X&Y,

X Z, X&Y → X Z.

Введем понятие интерпретации. В качестве примера рассмотрим формулу F = X&Y → Z. Поставим вместо X, Y и Z соответственно высказывания A1 = “четырехугольник ABCD является параллелограммом”,

A2 = “в четырехугольнике ABCD смежные стороны равны”,

A3 = “в четырехугольнике ABCD диагонали перпендикулярны”, то получим высказывание

A4 = “если четырехугольник ABCD является параллелограммом и его смежные стороны равны, то диагонали перпендикулярны”.

Обозначим через А множество атомарных, а через F – множество всех формул логики высказываний. Зафиксируем некоторую совокупность высказываний P, удовлетворяющую следующим условиям:

1)какие бы два высказывания из P мы ни взяли , P содержит их конъюнкцию, дизъюнкцию, импликацию и эквиваленцию,

2)P содержит отрицание каждого из высказываний, принадлежащих P.

Определение. Интерпретацией в широком смысле мы будем называть произвольную функцию φ: A → P.

В нашем примере совокупность P содержала высказывания А1–А4, а интерпретация φ на атомарных формулах X, Y, Z действовала так: φ (X) = A1,

φ (Y) = A2 , φ (Z) = A3, φ (F) = A4.

Определение. Интерпретацией в узком смысле (или просто интерпретацией)

называется функция φ: A → {0, 1}.

Пример. Пусть φ (X) = 1, φ (Y) = 0, φ (Z) = 1, F = X Y → Z, G = X&Y ↔ X&Z. Тогда φ (F) = 1, φ (G) = 0.

§3. Равносильность и законы логики высказываний

Определение. Формулы F и G называются равносильными, если для любой интерпретации φ выполняется равенство φ (F) = φ (G).

Убедимся в том, что формулы F = X→Y и G = ¬X Y равносильны. Достаточно составить совместную таблицу истинности формул F и G.

Т а б л и ц а 2

X

Y

F = X→Y

¬X

G = ¬X Y

1

1

1

0

1

1

0

0

0

0

0

1

1

1

1

0

0

1

1

1

Определение. Формула F называется тождественно истинной, если для любой интерпретации φ выполняется равенство φ (F) = 1.

Например, формула F = X&Y → X является тождественно истинной. Т а б л и ц а 3

X

Y

X & Y

F = X&Y→X

1

1

1

1

1

0

0

1

0

1

0

1

0

0

0

1

Теорема 1. Формулы F и G равносильны тогда и только тогда, когда формула F↔G является тождественно истинной.

Доказательство. Предположим, что формулы F и G равносильны и рассмотрим интерпретацию φ. Ясно, что φ(F↔G) = φ(F)↔φ(G). Поскольку значения истинности φ(F) и φ(G) совпадают, по таблице истинности эквиваленции имеем равенство φ(F)↔φ(G) = 1. Это означает, что формула F↔G тождественно истинна.

Предположим теперь, что формула F↔G тождественно истинна и рассмотрим интерпретацию φ. Имеем 1 = φ(F↔G) = φ(F)↔φ(G). Но из таблицы истинности эквиваленции следует, что если φ(F)↔φ(G) = 1, то φ(F) = φ(G).

Приведем список законов логики высказываний. Следующие формулы

равносильны:

 

законы упрощения:

 

1) F&1 и F;

2) F 1 и 1;

3) F&0 и 0;

4) F 0 и F;

5) F&F и F;

6) F F и F;

7) F & (F G) и F;

8) F (F&G) и F;

законы коммутативности:

 

9) F&G и G&F;

10) F G и G F;

законы ассоциативности:

 

11) F & (G&H) и (F&G) & H;

12) F (G H) и (F G) H;

законы дистрибутивности:

 

13) F & (G H) и (F&G) (F&H);

14) F (G&H) и (F G) & (F H);

15)F&¬F и 0; – закон противоречия;

16)F ¬F и 1; – закон исключенного третьего;

17)¬¬F и F; – закон двойного отрицания;

18) F→G и ¬F G; – закон импликации;

19) F↔G и (F→G) & (G→F); – закон эквиваленции;

законы де Моргана:

20) ¬(F&G) и ¬F ¬G; 21) ¬(F G) и ¬F & ¬G;

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

§4. Нормальные формы в логике высказываний

Определение. Литералом называется атомарная формула, кроме 1 и 0, или ее отрицание. Элементарной конъюнкцией называется литерал или конъюнкция литералов.

Определение. Формула G имеет дизъюнктивную нормальную форму (сокращенно ДНФ), если она является элементарной конъюнкцией или дизъюнкцией элементарных конъюнкций.

Например, формулы X, ¬Y, X&¬Y, (X&¬Y) (¬X&Z) имеют ДНФ, а формулы ¬ (X&Y), X Y 1, X→Y не имеют.

Теорема 2. Для всякой формулы F существует формула G, равносильная F и имеющая дизъюнктивную нормальную форму.

Определение. Формула G имеет совершенную дизъюнктивную нормальную форму (сокращенно СДНФ) относительно атомарных формул X1,…,Xn, если выполнены следующие условия:

1)F = F(X1, …, Xn), т. е. в записи формулы участвуют только X1 , …, Xn;

2)F имеет дизъюнктивную нормальную форму, т.е. F = C1 C2 … Ck , где C1, …, Ck – элементарные конъюнкции;

3)каждая элементарная конъюнкция содержит один и только один из литералов Xi или ¬Xi для любого i = 1, …, n;

4)F не содержит одинаковых элементарных конъюнкций.

Например, формулы X, ¬X&Y, (¬X&Y) (X&¬Y) имеют СДНФ относительно содержащихся в них атомарных формул. Формулы ¬ (X&Y), (X&¬Y) (¬X&Z), (X&Y&X) & (¬X&¬Y), (X&Y) (X&¬Y) (Y&X) не имеют СДНФ

(относительно содержащихся в них атомарных формул). Для первой формулы не

выполняется второе условие, для второй и третьей – третье условие, для четвертой формулы не выполняется последнее условие из определения СДНФ.

Теорема 3. Для любой выполнимой формулы F существует равносильная ей формула G, имеющая совершенную дизъюнктивную нормальную форму.

Имеется еще один способ приведения к СДНФ, основанный на построении таблицы истинности исходной формулы.

Например, рассмотрим формулу F = X & (Y→Z). Составим для нее таблицу истинности.

Т а б л и ц а 4.

 

X

 

Y

Z

 

Y→Z

F = X & (Y→Z)

 

 

1

 

1

1

 

1

1

 

 

1

 

1

0

 

0

0

 

 

1

 

0

1

 

1

1

 

 

1

 

0

0

 

1

1

 

 

0

 

1

1

 

1

0

 

 

0

 

1

0

 

0

0

 

 

0

 

0

1

 

1

0

 

 

0

 

0

0

 

1

0

 

Выделим строки, в которых в столбце F стоит 1. Рассматривая эти строки,

получим элементарные конъюнкции:

 

 

 

X&Y&Z,

X&¬Y&Z,

X&¬Y&¬Z.

 

 

 

Формула G = (X&Y&Z) (X&¬Y&Z) (X&¬Y&¬Z) имеет СДНФ относительно X, Y, Z. В то же время G имеет ту же таблицу истинности, что и F. Это означает, что G равносильна F. Следовательно , G – искомая формула.

Аналогичным образом определяется конъюнктивная нормальная форма (КНФ). Она получается из ДНФ заменой & на и наоборот: на &.

Определение. Элементарной дизъюнкцией (или дизъюнктом) называется литерал или дизъюнкция литералов.

Определение. Формула G имеет конъюнктивную нормальную форму (сокращенно КНФ), если она является элементарной дизъюнкцией или конъюнкцией элементарных дизъюнкций.

Например, формулы X, ¬Y, X ¬Y, X&¬Y, (X ¬Y) & (X Z) имеют КНФ, а формулы X→Y, ¬ (X Y), (X&¬Y) (X&¬Z) не имеют.

Теорема 4. Для всякой формулы F существует формула G, равносильная F и имеющая конъюнктивную нормальную форму.

Алгоритмический анализ. Лекция 2.

Логика предикатов

§5. Понятие предиката

Рассмотрим утверждение: «Число делится на 3». Является ли оно высказыванием?

Уточним: «Натуральное число делится на 3 нацело».

Введем переменную x: «Натуральное число х делится на 3 нацело». Получилось утверждение с переменной. Если вместо переменной подставить

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

Определение. Предикат – это функция, всюду определенная на некотором множестве М, для которой значения принадлежат двухэлементному множеству

{1, 0}.

Вот другой предикат: «Окружность х вписана в треугольник у». Здесь уже две переменных. Одна из них пробегает множество М1 всех окружностей на данной плоскости, другая – множество М2 всех треугольников на той же плоскости. Значит, наш предикат – это функция из М1 М2 в {1, 0}.

Количество переменных в предикате называют его арностью или местностью. Данный предикат бинарный (если говорить по-иностранному) или, что то же самое, двуместный (если по-русски).

Будем считать, что высказывания являются нульместными предикатами.

Из имеющихся предикатов с помощью связок (логических операций) можно строить новые предикаты.

Примеры.

На множестве натуральных чисел рассмотрим предикаты: «число x – простое»

«x больше y» «число x – четное»

«существует число y такое, что x = 2y»

§ 6. Отождествление, специализация и связывание переменных

Пусть имеется, например, предикат Р(x, y, z) от трех переменных. Тогда можно построить, по крайней мере, еще четыре предиката: Р(x, x, z), Р(x, y, x), Р(x, y, y), Р(x, x, x). Первые три – это предикаты от двух переменных, а последний

– уже от одной. Например, если S(x, y, z) – предикат, истинный только в том

случае, когда число z равно сумме чисел х и у, то предикат S1(x, z):= S(x, x, z) истинен тогда и только тогда, когда число z ровно в 2 раза больше числа x. Такой способ получения новых предикатов называется отождествлением переменных.

Упражнение. Выяснить, когда предикаты S(x, y, x) и S(x, x, x) принимают значение «Истина».

Можно поступить по-другому: вместо переменной подставить какой-либо элемент из того множества, которое пробегает данная переменная. Например, S2(x, z):= S(x, 1, z). Предикат S2(x, z) имеет значение «Истина» тогда и только тогда, когда z = x + 1. Такой способ получения новых предикатов называется

специализацией переменной.

Упражнение. Выяснить, когда предикаты S(x, y, 1), S(x, 1, 1) и S(1, 1, 1) принимают значение «Истина».

В логике предикатов первого порядка вводятся и две новые операции. Называются они навешиванием квантора всеобщности и навешиванием квантора существования. Эти операции рассмотрим сначала на примерах.

Снова возьмем введенный выше предикат S(x, y, z) и рассмотрим его на множестве натуральных чисел. Построим предикат S3:= «существует y такой, что

S(x, y, z)». По-русски это звучит так: для натуральных чисел x и z

x

z

S3

найдется натуральное число y, для которого x + y = z. Посмотрим

 

 

 

1

3

И

на значения этого предиката при различных наборах

 

 

 

3

8

И

переменных:

 

 

 

5

3

Л

Как видите, для вычисления значения предиката S3 мы не

 

 

 

4

4

Л

имели право переменной у придавать произвольное значение.

 

 

 

6

12

И

Иногда такое значение найти удавалось, и тогда предикат

 

 

 

 

 

 

принимал значение «Истина»; иногда не удавалось – тогда предикат принимал значение «Ложь», но важно, что значение переменной у связано со значениями переменных x и z. Поэтому такую переменную называют связанной. А реальных аргументов, которые могут независимо принимать какие угодно значения из своей области определения, только два: x и z. Так что S3 – двуместный предикат.

Такое преобразование предиката мы будем кратко записывать так:

S3(x, z) = y S(x, y, z). Знак называется квантором существования.

Рассмотрим другой пример.

Выражение «для всех х справедливо, что y ≥ –х2» определяет на множестве целых чисел одноместный предикат Q(y). Если предикат «y ≥ –х2» обозначить через T(x, y), то Q(y) можно записать так: «для всех x справедливо T(x, y)». В таком случае говорят, что предикат Q(y) получен из предиката T(x, y) навешиванием квантора всеобщности на х и пишут Q(y) = x T(x, y).

Дадим определения кванторов в общем виде.

Определение. Пусть P(x1, …, xn) – предикат, заданный на множестве M, y – переменная . Тогда выражение «для всякого y выполняется P(x1, …, xn)» –

предикат , полученный из P навешиванием квантора всеобщности на переменную y, а выражение «существует y такой, что выполняется P(x1, …, xn)” – предикат,

полученный из P навешиванием квантора существования на переменную y.

Определение. Вхождение переменной в формулу называется связанным, если переменная стоит непосредственно за квантором или входит в область действия квантора по этой переменной. В противном случае вхождение называется

свободным.

Например, в формуле

F = t(x) & y [s(x, y) → ( x)(r(x, y) t(y))]

Первое и второе вхождение переменной x свободны, третье и четвертое связаны. Все вхождения переменной y связаны.

Определение. Переменная называется свободной в формуле, если существует хотя бы одно свободное вхождение переменной в формулу.

Формула F из предыдущего примера имеет одну свободную переменную x. Количество свободных переменных в формуле определяет местность предиката. В нашем примере F – одноместный предикат.

§7. Равносильность

Вернемся к упомянутым выше примерам предикатов: «число x – четное»

«существует число y такое, что x = 2y» Это одинаковые предикаты.

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

1+tg2 x и

1

 

, задающие функции из R в R.

 

 

 

cos

2

x

 

 

 

Определение. Две формулы называются равносильными, если они принимают одинаковые значения для одинаковых наборов значений переменных.

Равносильность формул будем обозначать знаком .

Пусть имеется некоторая формула, составленная из высказываний. Заменим каждое высказывание некоторым предикатом, соблюдая естественное правило, что одинаковые выказывания заменяются одним и тем же предикатом (назовем для дальнейших ссылок это правило правилом подстановки). Получится некая формула, определяющая новый предикат.

Теорема 5. Если две формулы, составленные из высказываний, равносильны, то формулы, полученные подстановкой предикатов вместо высказываний с соблюдением правила подстановки, тоже равносильны.

Определение. Формула называется тождественно истинной, если при любых значениях переменных соответствующий ей предикат имеет значение «Истина».

Теорема 6. Формулы F1 и F2 равносильны тогда и только тогда, когда формула F1 F2 является тождественно истинной.

Доказательство аналогично теореме 1.

Следствие 1. Если формула, составленная из высказываний, тождественно истинна, то и формула, полученная подстановкой предикатов вместо высказываний (с соблюдением правила подстановки), тоже тождественно истинна.

Следствие 2. Формула F тождественно истинна тогда и только тогда, когда тождественно истинна формула И F.

Как и в случае логики высказываний, приведем список основных равносильностей – законов логики предикатов.

По теореме 5, получим законы логики предикатов из законов 1 – 21 логики высказываний. Дополним полученный список законами, специфичными для логики предикатов.

22)( x)(F(x)&G(x)) равносильна ( x)F(x) & ( x)G(x),

23)( x)(F(x) G(x)) равносильна ( x)F( x) ( x)G(x),

24)( x)( y)F(x, y) равносильна ( y)( x)F(x, y),

25)( x)( y)F(x, y) равносильна ( y)( x)F(x, y),

26) ¬ ( x)F(x)

равносильна

( xF(x),

27) ¬ ( x)F(x)

равносильна

( xF(x).

Естественно подобно парам 22, 23 поставить вопрос о равносильности

следующих пар формул

 

 

( x)(F(x) G(x))

и ( x)F(x) ( x)G(x),

( x)(F(x)&G(x))

и ( x)F(x) & ( x)G(x).

Докажем их неравносильность. Пусть на множестве натуральных чисел F(x)

– предикат «x – четное число», G(x) – предикат «x – нечетное число». Обозначим эту интерпретацию буквой φ.

Тогда φ[( x)(F(x) G(x))] = 1, но φ[( x)F(x) ( x)G(x) ] = 0. Аналогично, φ[( x)(F(x)&G(x))] = 0 и φ[( x)F(x) & ( x)G(x) ] = 1.

Обычно это записывают в виде:

В законах 23 и 24 утверждается, что одноименные кванторы можно менять местами. Можно ли переставлять местами разноименные кванторы, т.е. равносильны ли формулы

( x)( y)F(x, y)

и ( y)( x)F(x, y)?

Оказывается, тоже нет. На множестве натуральных чисел F(x, y) – предикат «x меньше . Тогда левая формула будет истинной , правая – ложной.

В дальнейшем нам потребуется следующая теорема:

Теорема 7. Если формула xi Р(х1, x2, …, xi , … xn) тождественно истинна, то и формула Р(х1, x2, …, xi , …, xn) тождественно истинна. Если формула xi Р(х1, x2, …, xi, …, xn) тождественно истинна, то существует такой элемент а, для которого специализация Р(х1, x2, …, а, …, xn) является тождественно истинной формулой.

§ 8. Аксиоматический метод

Примеры математических утверждений.

«Треугольник T со сторонами a, b, c – прямоугольный» «a2+b2=c2»«T – треугольник с вершинами в точках A, B, C»

«точка D» [Dist(A, D)=Dist(B, D) & Dist(A, D)=Dist(C, D)]

ε>0 ( N) [ n>N |xn – x|< ε]

Для любой теории необходимы аксиомы – утверждения, истинность которых нам дается изначально и не требует доказательства.

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

Во-вторых, нужен какой-то механизм, позволяющий по данным нам аксиомам узнавать, является ли предъявленное нам утверждение истинным. Вы знаете, что такой механизм называют доказательством. Но что такое доказательство?

Итак, у нас есть некоторое количество аксиом А1, А2, … Аn. Что может служить механизмом получения новых истинных утверждений?

Теорема 8. Пусть F1 и F2 такие формулы, для которых истинными являются

сама F1 и формула F1 F2. Тогда формула F2 тоже является истинной.

Сформулированный в этой теореме механизм получения истинных формул из других истинных формул называется правилом вывода или modus ponens. В дальнейшем мы будем обозначать его MP.