
Дискретная математика / Основные / Матлогика_Лекции
.pdfтаблица 2.4.1.
|
y |
|
0 |
0 |
1 |
1 |
|
|
|
|
z |
|
0 |
1 |
1 |
0 |
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
0 |
|
000 |
001 |
011 |
010 |
|
||
|
1 |
|
100 |
101 |
011 |
010 |
|
||
|
|
|
таблица |
2.4.2. |
|
|
|
||
|
|
|
0 |
0 |
|
1 |
|
1 |
|
|
Z |
|
0 |
1 |
|
1 |
|
0 |
|
|
w |
|
|
|
|
|
|
|
|
|
x y |
|
|
|
|
|
|
|
|
|
00 |
|
0000 |
0001 |
|
0011 |
|
0010 |
|
|
01 |
|
0100 |
0101 |
|
0011 |
|
0010 |
|
|
11 |
|
1100 |
1101 |
|
1111 |
|
1110 |
|
|
10 |
|
1000 |
1001 |
|
1011 |
|
1010 |
|
Для построения минимальной ДНФ производится процедура склеивания "1". Склеивающимся значениям "1" соответствуют соседние клетки, т.е. клетки отличающиеся лишь значением одной переменной (на графическом изображении разделенных вертикальной или горизонтальной линией с учетом соседства противоположных крайних клеток).
Процесс склеивания "1" сводится к объединению в группы единичных клеток карты Карно, при этом необходимо выполнять следующие правила;
1.Количество клеток, входящих в одну группу, должно выражаться числом кратным 2, т.е. 2m где m=0,1,2,...
2.Каждая клетка, входящая в группу из 2m клеток, должна иметь m соседних в группе.
3.Каждая клетка должна входить хотя бы в одну группу.
4.В каждую группу должно входить максимальное число клеток, т.е. ни одна группа не должна содержаться в другой группе.
5.Число групп должно быть минимальным.
Считывание функции f по группе склеивания производится следующим образом: переменные, которые сохраняют одинаковые значения в клетках группы склеивания, входят в конъюнкцию, причем значениям 1 соответствуют сами переменные, а значениям 0 их отрицания.
Приведем шаблоны, которые помогают строить покрытия 1 (переменные считаем теми же, но их писать не будем). Для
20
упрощения записи мы не будем отмечать переменные, хотя сохраним их обозначения как и в таблицах 2.4.1,2.4.2.
|
А) n=3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
F=z |
|
|
|
f=¬x |
|
|
|
|
F=¬y |
|
||||||
|
|
1 |
|
1 |
|
1 |
1 |
1 |
|
1 |
|
1 |
|
|
|
|
1 |
|
|
1 |
|
1 |
|
|
|
|
|
|
|
1 |
|
|
|
|
1 |
F=¬z&¬y |
|
|
|
f=¬x&y |
|
|
|
|
F=¬y&x |
|
|||||||
1 |
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
1 |
|
B) n=4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
F=w |
|
|
|
f=¬y |
|
|
|
|
F=¬z |
|
||||||
|
|
1 |
|
1 |
|
1 |
1 |
1 |
|
1 |
|
1 |
|
|
|
|
1 |
|
|
1 |
|
1 |
|
|
|
|
|
|
|
1 |
|
|
|
|
1 |
|
|
1 |
|
1 |
|
|
|
|
|
|
|
1 |
|
|
|
|
1 |
|
|
1 |
|
1 |
|
1 |
1 |
1 |
|
1 |
|
1 |
|
|
|
|
1 |
|
F=¬x&z |
|
|
|
f=y&w |
|
|
|
F=¬x&¬y |
|
|||||||
|
|
1 |
|
1 |
|
|
|
|
|
|
|
1 |
|
1 |
1 |
|
1 |
|
|
1 |
|
1 |
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F=¬y&¬w |
|
|
|
f=¬y&¬z |
|
|
|
F=¬z&¬x |
|
||||||||
1 |
|
|
|
1 |
|
1 |
1 |
|
|
|
|
1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
1 |
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
F=y&z&w |
|
|
f=¬y&¬z&¬w |
|
|
F=x&y&¬z |
|
||||||||||
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
Пример 2.4.1. Построить МДНФ. |
|
|
|
|
|
|
|
|
21

Z |
0 |
0 |
1 |
1 |
w |
0 |
1 |
1 |
0 |
x y |
|
|
|
|
00 |
1 |
1 |
|
1 |
01 |
1 |
1 |
1 |
|
|
|
|
|
|
11 |
|
1 |
1 |
|
10 |
|
|
|
1 |
Сначала смотрим, есть ли покрытия_1 из 16 клеток покрывающих хотя бы одну непокрытую 1. Таких покрытий нет. Переходим к покрытиям из 8 клеток. Смотрим, есть ли покрытия 1 из 8 клеток покрывающих хотя бы одну непокрытую 1. Таких покрытий нет. Переходим к покрытиям из 4 клеток. Смотрим, есть ли покрытия 1 из 4 клеток покрывающих хотя бы одну непокрытую 1. Таких покрытий два. Переходим к покрытиям из 2 клеток. Такое покрытие одно. Таким образом, все 1 стали покрытыми. Далее, смотрим можно ли убрать некоторые покрытия, так чтобы все единицы остались
покрытыми. В конце выписываем МДНФ: f =x z y w y z w. Замечание. Для построения минимальной КНФ функции f,
достаточно построить минимальную ДНФ для функции f , а затем использовать f =f и законы де Моргана.
Глава III. Алгебра Жегалкина.
Множество булевых функций, заданный в базисе Жегалкина S4={ ,&,1} называется алгеброй Жегалкина.
Основные свойства. 1. .коммутативность
H1 H2=H2 H1, H1&H2=H2&H1;
2. ассоциативность
H1 (H2 H3)=(H1 H2) H3, H1&(H2&H3)=(H1&H2)&H3; 3. дистрибутивность
H1&(H2 H3)=(H1&H2) (H1&H3); 4. свойства констант
H&1=H, H&0=0, H 0=H; 5. H H=0, H&H=H.
Утверждение 3.1.1. Через операции алгебры Жегалкина можно
выразить все другие булевы функции: |
|
|
¬x=1 x, |
x y=x y xy, |
x y=1 x y, |
x→y=1 x xy, x↓y=1 x y xy, |
x|y=1 xy. |
Определение. Полиномом Жегалкина (полиномом по модулю 2) от n переменных x1 ,x2 ,…,xn называется выражение вида
c0 с1 x1 c2 x2 … cnxn c1 2 x1 x2 … c12…nx1 x2 …xn,
22
где постоянные ск могут принимать значения 0 ли 1.
Если полином Жегалкина не содержит произведений отдельных переменных, то он называется линейным ( линей ная функция).
Например, f=x yz xyz и f1=1 x y z–полиномы, причем второй является линейной функцией.
Теорема 3.1.1. Каждая булева функция представляется в виде полинома Жегалкина единственным образом.
Приведем основные методы построения полиномов Жегалкина от заданной функции.
1. Метод неопределенных коэффициентов. Пусть P(x1 ,x2 ,…,xn) -
искомый полином Жегалкина, реализующий заданную функцию f(x1 ,x2 ,…,xn). Запишем его в виде
P= c0 с1 x1 c2 x2 … cnxn c1 2 x1 x2 … c12…nx1 x2 …xn.
Найдем коэффициенты ск. Для этого последовательно придадим переменным x1 ,x2 ,…,xn значения из каждой строки таблицы истинности. В итоге получим систему из 2n уравнений с 2n неизвестными, имеющую единственное решение. Решив ее, находим коэффициенты полинома P(x1 ,x2 ,…,xn).
2. Метод, основанный на преобразовании формул над множеством связок {¬,&}. Строят некоторую формулу Ф над
множеством |
связок{¬,&}, |
реализующую |
данную |
|
функцию |
f(x1 ,x2 ,…,xn). |
Затем заменяют |
всюду подформулы вида |
|
на A 1, |
|
A |
раскрывают скобки, пользуясь дистрибутивным законом (см. свойство 3), а затем применяют свойства 4 и 5.
Пример 3.1.1. Построить полином Жегалкина функции f(x,y)=x→y.
Решение. 1. (метод неопределенных коэффициентов). Запишем искомый полином в виде
P= c0 с1 x c2 y c1 2 xy
Пользуясь таблицей истинности
x |
0 |
0 |
1 |
1 |
y |
0 |
1 |
0 |
1 |
x→y |
1 |
1 |
0 |
1 |
получаем, что |
|
|
|
f(0,0)=P(0,0)= c0 |
=1, |
f(0,1)=P(0,1)= c0 |
c2 =1, |
f(1,0)=P(1,0)= c0 |
c1 =0, |
f(1,1)=P(1,1)= c0 |
с1 c2 c12 =1 |
Откуда последовательно находим, c0 =1, с1 =1, c2 =0, c12 =1. Следовательно
x→y=1 x xy (сравните с утверждением 3.1).
2.(Метод преобразования формул.) Имеем
23

x → y = x y = x y = (x (y 1)) 1 = 1 x x y .
Заметим, что преимущество алгебры Жегалкина (по сравнению с другими алгебрами) состоит в арифметизации логики, что позволяет выполнять преобразования булевых функций довольно просто. Ее недостатком по сравнению с булевой алгеброй является громоздкость формул.
Глава IV. Высказывания. Предикаты.
§ 4 . 1 . Высказывания.
При построении алгебры логики мы использовали функциональный подход. Однако, можно было бы построить эту алгебру конструктивно. Сначала определить объекты изучения (высказывания), ввести операции над этими объектами и изучить их свойства. Дадим формальные определения.
Высказыванием назовем повествовательное предложение относительно которого можно однозначно сказать истинно оно (значение И или 1) или ложно (значение Л или 0) в конкретный момент времени. Например, «5-простое число», «нажата клавиша «Esc»» и т.д. При помощи связок «не», «и», «или», «если,… то», «если и только если» (им отвечают операции «¬», «&», « », «→», « » соответственно) можно построить более сложные высказывания (предложения). Так строится алгебра высказываний.
Для упрощения записи сложных высказываний вводится старшинство связок: «¬», «&», « », «→», « », что помогает опустить лишние скобки.
Простые высказывания назовем пропозициональными переменными.
Введем понятие формулы.
1.Пропозициональные переменные являются формулами.
2.Если А, В формулы, то выражения ¬А, А В, А В, А→В, А В являются формулами.
3.Формулами являются только выражения построенные в
соответствии с пп.1 и 2.
Формула, принимающая значение И при всех значениях пропозициональных переменных называется тавтологией (или общезначимой), а формула, принимающая значение Л при всех значениях пропозициональных переменных называется
противоречием (или невыполнимой)
Описание свойств алгебры высказываний аналогично описанию соответствующих функций в булевой алгебре и мы их опускаем.
24

§ 4 . 2 . Предикаты. Логические операции над предикатами.
Предметом изучения в этой главе будут предикаты — отображения произвольных множеств во множество высказываний. Фактически, мы совершаем переход на новый уровень абстракции, переход такого типа, какой был совершен в школе — от арифметики вещественных чисел к алгебре числовых функций.
Определение 2.1 Пусть x1 ,x2 ,…,xn — символы переменных произвольной природы. Эти переменные будем называть предметными. Пусть наборы переменных (x1 ,x2 ,…,xn) принадлежат множеству M=(M1,M2,…Mn), которое будем называть предметной областью (т.е. xi Mi, где Мi называются областью определения переменной хi). Предикатом местности n (n-местным предикатом), определенным на предметной области M, называют логическую функцию принимающую либо значение И либо значение Л.
Пример 4.2.1. D(x1,x2) = «Натуральное число х1 делится (без остатка) на натуральное число х2.» — двуместный предикат, определенный на множестве пар натуральных чисел M=N N.
Очевидно, D(4,2) = И, D(3,5) = 0.
Пример 4.2.2. Q(x) ==«x2 <-1, х R» — одноместный предикат, определенный на множестве действительных чисел М=R. Ясно, что Q(- 1) = Л, Q(5) = Л, и вообще предикат Q(x) — тождественно ложен, т. е. Q(x) = Л для всех х R.
Пример 4.2.3. В(x,у,z) =«х2 +y2 <z; х,у,z R.» — трехместный предикат, определенный на R3 . В(1,1,-2)=Л, В(1,1,2)=И.
Предикат Р, определенный на M, называется тождественно истинным, если он принимает значение И при любых значениях предметных переменных; Предикат Р называется тождественно ложным, если он принимает значение Л при любых значениях предметных переменных. Предикат Q из примера 4.2.2. является тождественно ложным.
Поскольку предикаты — это функции со значениями во множестве высказыраний, где введены логические операции, то эти операции естественно определяются и для предикатов. Пусть P и Q — предикаты, определенные на M. Тогда
1.¬P (x1 , x 2 ,…, x n ) = P(x1 , x 2 ,…, x n )
2.(P Q)(x1, x2,…, xn ) = P(x1, x2,…, xn ) Q(x1, x2,…, xn )
3.(P Q)(x1, x2,…, xn ) = P(x1, x2,…, xn ) Q(x1, x2,…, xn )
4.(P → Q)(x1, x2 ,…, xn ) = P(x1, x2,…, xn ) → Q(x1, x2,…, xn )
25
Предикаты Р и Q, определенные на M, называются равносильными (пишут Р=Q), если P(x1 ,x2 ,…,xn)=Q(x1 ,x2 ,…,xn) для любого набора (x1 ,x2 ,…,xn) предметных переменных из M.
Теорема 4.2.1 Множество n-местных предикатов, определенных на M, образует булеву алгебру предикатов. Т.о., для них справедливы основные эквивалентности (см. §1.6).
§ 4 . 3 . Кванторы, их свойства.
Пусть P(x1 ,x2 ,…,xn) — n-местный предикат, определенный на M. Зафиксируем xi =a. Определим (n-1)-местный предикат Q(x1 ,x2 ,…,xk-1, xk+1,xn) следующим образом: Q(x1 ,x2 ,…,xk-1,xk+1,xn)=P(x1 ,x2 ,…,xk- 1,a,xk+1,xn). Говорят, что предикат Q(x1 ,x2 ,…,xk-1, xk+1,xn) получен из предиката P(x1 ,x2 ,…,xn) фиксацией значения i-й переменной: xi =a.
Определение 4.3.1. Пусть Р(х) — одноместный предикат. Поставим ему в соответствие высказывание, обозначаемое xP(x) (читается «для любого х Р(х)»}, которое истинно тогда и только тогда, когда Р(х) — тождественно истинный предикат. О высказыванииxP(x) говорят, что оно получено из предиката Р навешиванием квантора всеобщности по переменной х.
Определение 4.3.2. Пусть Р(х) — одноместный предикат. Поставим ему в соответствие высказывание, обозначаемое xP(x) (читается «существует х Р(х)»), которое ложно тогда и только тогда, когда Р(х) — тождественно ложный предикат. О высказывании xP(x) говорят, что оно получено из предиката Р навешиванием квантора существования по переменной х.
Замечание 1. Обозначения и для кванторов — это перевернутые латинские буквы А и Е соответственно, которые являются первыми буквами в английских словах All — все, Exist — существовать.
Замечание 2. Высказывания можно считать предикатами, не содержащими переменных, т. е. 0-местными предикатами (или предикатами любой местности).
Пусть P(x1 ,x2 ,…,xn) — n-местный предикат, определенный на M. Зафиксируем в нем значения переменных x1 ,x2 ,…,xk-1,xk+1,xn. На полученный одноместный предикат Q(xк) навесим квантор всеобщности (существования), получим высказывание. Тем самым фиксированному набору значений переменных x1 ,x2 ,…,xk-1,xk+1,xn с помощью квантора всеобщности (существования) поставлено в соответствие высказывание. Говорят, что этот (n-1)-местный предикат переменных x1 ,x2 ,…,xk-1,xk+1,xn получен из исходного предиката P(x1 ,x2 ,…,xn) навешиванием квантора всеобщности (существования) по
26
k-й переменной. Этот предикат обозначают: xкP(x1 ,x2 ,…,xn) ( xк P(x1 ,x2 ,…,xn)). Об к-й переменной (которой уже нет) говорят, что она связана квантором всеобщности (существования).
Пример 4.3.1. Пусть D(x1,x2) = «Натуральное число х1 делится (без остатка) на натуральное число х2.» — двухместный предикат. Навесим последовательно на его переменные кванторы. Ясно, что
1) |
x1 x2D(x1,x2)=0 |
2) |
x2 |
x1D(x1,x2)=0 |
3) |
x1 |
x2D(x1,x2)=1 |
|
4) |
x2 |
x1D(x1,x2)=1 |
5) |
x1 |
x2D(x1,x2)=1 |
6) |
x2 |
x1D(x1,x2)=1 |
7) |
x1 |
x2D(x1,x2)=0 |
8) |
x1 |
x2D(x1,x2)=1. |
|
|
|
Таким образом (сравнением 7 и 8 в последнем примере) мы доказали теорему:
Обычно, связки и кванторы упорядочиваются по приоритету следующим образом ¬, , , &, , →, .
Теорема 4.3.1. Разноименные кванторы, вообще говоря, не коммутируют.
Теорема 4.3.2. (основные равносильности, содержащие кванторы) Имеют место следующие равносильности:
1. |
Законы де Моргана |
|
|
|
|
|
|
|
||||
|
|
xP ( x ) |
= x |
P ( x ) |
|
, |
|
xP ( x ) |
= x |
P ( x ) |
|
|
2. |
Коммутативность |
|
|
|
|
|
|
|
||||
|
x yP(x, y) = y xP(x, y) |
, |
x yP(x, y) = y xP(x, y) |
|||||||||
3. |
Дистрибутивность |
|
|
|
|
|
|
|
||||
|
x(P(x) & Q(x)) = xP(x) & xQ(x) , |
x(P(x) Q(x)) = xP(x) xQ(x) |
||||||||||
4. |
Ограничение действия кванторов |
|
|
|
|
|||||||
|
x(P(x) Q(y)) = xP(x) Q(y) , |
x(P(x) & Q(y) = xP(x) & Q(y) |
5.Для любого двухместного предиката
y xP(x, y) → x yP(x, y) =1
Глава V. Формальные теории.
§ 5 . 1 . Определение формальной теории.
Формальная теория (или исчисление) Ψ— это: 1. множество A символов, образующих алфавит;
1. множество F слов в алфавите A, F A, которые называются
формулами;
3.подмножество B формул, B F, которые называются аксиомами;
4.множество отношений R на множестве формул, которые называются
правилами вывода.
27
Множество символов A может быть конечным или бесконечным. Обычно для образования символов используют конечное множество букв, к которым, если нужно, приписываются в качестве индексов натуральные числа.
Множество формул F обычно задается индуктивным определением, например, с помощью формальной грамматики. Как правило, это множество бесконечно. Множества A и F в совокупности определяют язык, или сигнатуру, формальной теории.
Множество аксиом B может быть конечным или бесконечным. Если множество аксиом бесконечно, то, как правило, оно задается с помощью конечного множества схем аксиом и правил порождения конкретных аксиом из схемы аксиом.
Множество правил вывода R, как правило, конечно. Итак, исчисление Ψ есть четверка (A, F, B, R).
Выводом в исчислении Ψ называется последовательность формул F1 ,F2 ,…,Fn такая, что для любого k (1≤k≤n) формула Fk есть либо аксиома исчисления Ψ, либо непосредственное следствие каких-либо предыдущих формул, полученное по правилу вывода.
Формула G называется теоремой исчисления Ψ (выводимой в Ψ или доказуемой в Ψ), если существует вывод F1 ,F2 ,…,Fn,G который называется выводом формулы G или доказательством теоремы G. Записывается это следующим образом:
F1 ,F2 ,…,Fn├ G.
Исчисление Ψ называется непротиворечивым, если не все его формулы доказуемы. Можно дать другое определение непротиворечивости: Исчисление Ψ называется непротиворечивым, если в нем не являются выводимыми одновременно формулы F и ¬F (отрицание F).
Исчисление Ψ называется полным (или адекватным), если каждому истинному высказыванию М соответствует теорема теории Ψ.
Формальная теория Ψ называется разрешимой, если существует алгоритм, который для любой формулы теории определяет, является ли эта формула теоремой теории Ψ или нет.
§ 5 . 2 . Исчисление высказываний.
Используя понятие формального исчисления, определим
исчисление высказываний (ИВ). |
|
|
|
Алфавит ИВ состоит из |
|
|
|
1. букв А, В, Q, |
R, |
Р и других, |
возможно с индексами |
(которые |
называются |
пропозициональными |
|
переменными}, |
|
|
|
2.логических символов (связок) ¬, &, , →,
3.вспомогательных символов (,).
28
Множество формул ИВ определяется индуктивно:
1.все пропозициональные переменные являются формулами ИВ;
2.если A, B —.формулы ИВ, то¬A, A B, A B, A→B —
формулы ИВ;
3.выражение является формулой ИВ тогда и только тогда, когда это может быть установлено с помощью пунктов "1" и
"2".
Таким образом, любая формула ИВ строится из пропозициональных переменных с помощью связок ¬, , , →, .
В дальнейшем при записи формул будем опускать некоторые скобки, используя те же соглашения, что и в предыдущей главе.
Аксиомами ИВ являются следующие формулы (для любых формул
A,B,C)
1.A→(B→A);
2.(A→B)→((A→(B→C))→(A→C));
3.(A B)→A;
4.(A B)→B;
5.(A→B)→((A→C)→(A→(B C)));
6.A→(A B);
7.A→(B A);
8.(A→C)→((B→C)→((A B)→C));
9.(A→B)→((A→¬B)→¬A);
10.¬¬A→A.
Указанные формулы называются схемами аксиом ИВ. При подстановке конкретных формул в какую-либо схему получается частный случай схемы аксиом.
Правилом вывода в ИВ является правило заключения {modus ponens):
если A и A→B — выводимые формулы, то B — также выводимая формула.
Символически это записывается так: |
A , A → B |
. |
|
||
|
B |
Например, если высказывания А В и А В→(А→С) выводимы, то высказывание А→С также выводимо согласно правилу заключения.
Говорят, что формула G выводима из формул F1 ,F2 ,…,Fn (обозначается F1 ,F2 ,…,Fn├G), если существует последовательность формул F1 ,F2 ,…,Fk,G, в которой любая формула является либо аксиомой, либо принадлежит списку формул F1 ,F2 ,…,Fn (называемых гипотезами), либо получается из предыдущих формул по правилу вывода. Выводимость формулы G из (обозначается ├G) равносильно тому, что G — теорема ИВ.
29