- •Предисловие
- •§1.2. Функции алгебры логики
- •§1.3. Формулы. Реализация булевых функций формулами
- •§1.4. Специальные представления булевых функций
- •§1.5. Полнота, замкнутость. Теорема Поста о полноте
- •§1.6. Дизъюнктивная нормальная форма
- •§1.7. Схемы из функциональных элементов
- •Глава 2. Графы
- •§2.1. Основные определения
- •§2.2. Способы задания графов
- •§2.3. Связность
- •§2.4. Раскраски графов. Планарность
- •§2.5. Потоки в сетях
- •Глава 3. Автоматы
- •§3.1. Определение и примеры автоматов
- •§3.2. Диаграмма Мура и таблица автомата
- •§3.4. Приведённый автомат
- •§3.6. Теоремы Мура
- •§3.7. Ограниченно-детерминированные функции. Информационное дерево
- •§3.8. Синтез автоматов
- •§3.9. Алгебраический подход к теории автоматов
- •Глава 4. Алгоритмы и машины Тьюринга
- •§4.1. О понятии алгоритма. Тезис Чёрча
- •§4.2. Машина Тьюринга
- •§4.3. Рекурсивные функции
- •§4.4. Алгоритмически неразрешимые задачи
- •Содержание
~ 4 |
|
|
|
|
|
|
|
|
|
) = x1 x2 x3 x2 x3 x4 |
x1 x4 . f (x1 , 0, 0, x4 ) = x1 x4 и |
||||||||
f (x |
|||||||||
f (1, 0, 0,1) =1 . Следовательно, |
B3 также может не участвовать. |
9. а) фиктивные переменные x1 и x2 ; б) фиктивная переменная x1 ; в) фиктивные переменные x1 и x3 . 10. а) x1 & x2 , x1 x2 , x1 x2 ,
x1 ~ x2 , x1 → x2 , x2 → x1 , x1 → x2 , x2 → x1 , x1 ↓ x2 , x1 | x2 ;
б) 218.
§1.3. Формулы. Реализация булевых функций формулами
Определение. Функция f называется суперпозицией булевых функций f1 , K, fk , если она получается некоторой подстановкой этих
булевых функций друг в друга. Выражение, описывающее результат этой подстановки, называется формулой, задающей функцию f .
Определение. Пусть U =U (g1 , K, gk ) и V =V ( f1 , K, fk ) – две формулы. Говорят, что формулы U и V имеют одинаковое строение, если формула U может быть получена из формулы V заменой каждого функционального символа gi на символ fi (i =1, K, k) .
Пусть B ={¬x, x & y, x y, x → y, x ↔ y, x ~ y, x y, x ↓ y,
x | y} . Формулой над B является всякое (и только такое) выражение вида:
(1)xi – любая переменная из множества X ={x1 , K, xn , K}.
(2)(¬U ), (U & V ), (U V ), (U V ), (U ~ V ), (U →V ), (U ↔V ),
(U ↓V ), (U |V ), где U и V − ранее построенные формулы над B .
Обычно принимаются следующие соглашения для сокращения записи формул над множеством связок B :
а) внешние скобки у формул опускаются; б) формула (¬U ) записывается в виде U ;
в) формула (U & V ) записывается в виде (U V ) или (UV ) ;
г) считается, что связка ¬ сильнее любой двухместной связки из множества B ;
д) связка & считается сильнее любой другой двухместной связки из множества B .
На множестве переменных X ={x1 , K, xn } введем функцию
Iin (x1 , K, xn ) = xi .
Определение. О формуле U , задающей функцию f говорят также, что формула U реализует функцию f . Две формулы U и V эквивалентны (U ~ V ), если реализуемые ими функции fU и fV
равны.
В справедливости формул часто можно убедиться, построив таблицы соответствующих им функций.
Пример. Построив таблицы функций, выяснить эквивалентны ли формулы
U = (x1 → x2 ) (x3 x2 ) и V = (x1 x3 ) x2 .
Решение. Построим векторы значений функций |
fU и fV . |
Табл. 1.7 |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
x2 |
x3 |
|
x |
|
|
x |
→ x |
2 |
x3 x2 |
fU |
|
x1 x3 |
|
x |
2 |
|
fV |
|
|
|
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|||
0 |
0 |
0 |
|
1 |
|
0 |
|
0 |
0 |
|
0 |
|
1 |
|
0 |
|||
0 |
0 |
1 |
|
1 |
|
0 |
|
1 |
1 |
|
1 |
|
1 |
|
1 |
|||
0 |
1 |
0 |
|
1 |
|
1 |
|
1 |
0 |
|
0 |
|
0 |
|
0 |
|||
0 |
1 |
1 |
|
1 |
|
1 |
|
1 |
0 |
|
1 |
|
0 |
|
0 |
|||
1 |
0 |
0 |
|
0 |
|
1 |
|
0 |
1 |
|
1 |
|
1 |
|
1 |
|||
1 |
0 |
1 |
|
0 |
|
1 |
|
1 |
0 |
|
0 |
|
1 |
|
0 |
|||
1 |
1 |
0 |
|
0 |
|
1 |
|
1 |
0 |
|
1 |
|
0 |
|
0 |
|||
1 |
1 |
1 |
|
0 |
|
1 |
|
1 |
0 |
|
0 |
|
0 |
|
0 |
|||
Из |
таблицы |
1.7. |
видно |
, что fU = |
fV . Следовательно, формулы U |
и V |
||||||||||||
эквиваленты. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
Основные свойства элементарных функций |
|
|
|
|
||||||||||||
1. Коммутативность: |
x o y = y o x , где o {&, , , ~, ↓, |}. |
|
|
|
|
2. Ассоциативность: (x o y) o z = x o ( y o z) , где o {&, , , ~}.
3. Дистрибутивность |
|
|
|
|
|
|
|
||||||
(x y)z = xz yz , |
(xy) z = (x y)( y z) , |
||||||||||||
(x y)z = xz yz . |
|||||||||||||
4. Законы де Моргана: а) |
|
= |
|
|
|
; |
б) |
|
= |
|
|
|
. |
xy |
x |
y |
x y |
x |
y |
5. Закон двойного отрицания x = x .
Для упрощения формул часто используются тождества:
6. Законы поглощения: |
а) x xy = x ; |
б) x(x y) = x . |
||||||||||||||||||
7. а) x & x = x & 0 = x x = 0 ; |
|
|
|
|||||||||||||||||
б) x x = x 1 = x ~ x = x → x = x x =1 ; |
||||||||||||||||||||
в) x x = x & x = x & 1 = x 0 = x 0 = x ; |
||||||||||||||||||||
г) x 1 = x → 0 = x ~ 0 = x ↓ x = x | x = x . |
|
|
|
|||||||||||||||||
8. а) x | y = |
|
|
= |
|
|
|
; |
|
|
б) x ↓ y = |
|
= |
|
|
|
. |
||||
xy |
x |
y |
x y |
x |
y |
|||||||||||||||
9. а) xy x |
|
= x (склеивание); |
|
|
|
|||||||||||||||
y |
|
|
|
|||||||||||||||||
б) xz y |
|
xy = xz y |
|
|
(обобщенное склеивание); и т.д. |
|||||||||||||||
z |
z |
Для проверки всех приведенных равенств достаточно воспользоваться таблицей истинности.
Определение. Функция [ f (x1 , K, xn )] * , равная f (x1 , K, xn ) , называется двойственной к функции f (x1 , K, xn ) и обозначается
f * (x1 , K, xn ) .
Табл. 1.8
x1 |
x2 |
x3 |
~ 3 |
) |
~ 3 |
)] * |
f (x |
[ f (x |
|||||
0 |
0 |
0 |
1 |
|
1 |
|
0 |
0 |
1 |
0 |
|
0 |
|
0 |
1 |
0 |
1 |
|
0 |
|
0 |
1 |
1 |
0 |
|
0 |
|
1 |
0 |
0 |
1 |
|
1 |
|
1 |
0 |
1 |
1 |
|
0 |
|
1 |
1 |
0 |
1 |
|
1 |
|
1 |
1 |
1 |
0 |
|
0 |
|
Замечание. Таблица двойственной функции получается из таблицы
функции f (x1 , K, xn ) инвертированием столбца значений функции и его переворачиванием (см. табл. 1.8).
Из определения двойственности следует, что f * * = ( f *)* = f ,
т.е. функция f является
двойственной к f * (свойство взаимности).
Определение. Функция f (~x ) называется самодвойственной, если f (~x ) = f * (~x ) . Например, самодвойственными являются функции x, x и x1 x2 x3 .
Обозначим через x1 , K, xn все различные символы переменных,
встречающихся в множествах (x11 , K, x1p1 ), K, (xm1 , K, xmpm ) .
Теорема. Если
F(x1 , K, xn ) = f ( f1 (x11 , K, x1 p1 ), K, fm (xm1 , K, xmpm )) , то F * (x1 , K, xn ) = f * ( f1 * (x11 , K, x1p1 ), K, fm * (xm1 , K, xmpm )) .
Доказательство. F * (x1, K, xn ) = F (x1, K, xn ) =
=f ( f1 (x11, K, x1p1 ), K, fm (xm1 , K, xmpm )) =
=f ( f1 (x11 , K, x1p1 ), K, fm (xm1 , K, xmpm )) =
=f ( f1 * (x11, K, x1p1 ), K, fm * (xm1, K, xmpm )) =
=f * ( f1 * (x11 , K, x1p1 ), K, fm * (xm1 , K, xmpm )) .
Следствие. (Принцип двойственности.) Если формула
U = F ( f1 , K, fn ) |
реализует функцию |
f (x1 , K, xn ) , то формула |
F * ( f1*, K, fm *) |
реализует функцию |
f * (x1 , K, xn ) . Эту формулу |
называют формулой, двойственной к U , и обозначают U * .
Задачи для самостоятельного решения
1. Построив таблицы соответствующих функций, выяснить, эквивалентны ли формулы U и V :
а) U = (x → y) (( y → z) → xy) и V = yz → x ; б) U = (x y) ↓ (x → ( y → z)) и V = y → (x z) ;
в) U = (x ↓ y) (x ~ z) | (x yz) и V = x yz x → z ;
г) U = (((x | y) ↓ z) | y) ↓ ( y → z) и V =((x | y) ↓ ( y | z)) &
&(x → ( y → z)) .
2.Построив таблицы соответствующих функций, убедиться в справедливости следующих равенств:
а) x y = (x → y) → y ; б) x ~ y = (x → y) ( y → x) ; в) x | y = x y = x y ; г) x ↓ y = x y = x y ;
д) xz yz xy = xz yz .
3. Используя свойства элементарных функций, доказать эквивалентность формул U и V :
а) U = (x → y) → (xy ~ (x y)) и V =(xy → x) → y ;
б) U = (xy (x → yz)) ~ ((x → y) → z) и V =(x → y) ( y z) ;
в) U = (x yz) → (x → ( y → z)) и V = x → (( y → z) → x) .
4. Найти пары двойственных функций и все самодвойственные функции в множестве:
а) f1 = x y, f2 = x & y, f3 = x → y, f4 = x ~ y, f5 = x y, f6 = x ↓ y , f7 = x | y ;
б) f1 = x → y, f2 = (x → y) → ( y → x), f3 = x y z, f4 = xy xz yz, f5 = xy xz yz, f6 = x y z,
f7 = (x → y) ( y → x), f8 = x y .
5. Проверить, является ли g двойственной к f :
а) f = x 1 y (z 0) x y z , g = x ( y z) ;
б) f = (x y) ((x | y) ↓ (x ~ yz) , g = x y x y y z ; в) f = (x y ( y z 1)) ↓ z , g = x y z ;
г) f = xy y z y z и g = x y z yz .
6. Функция ~ n называется симметрической, если f (x )
f (x1 , K, xn ) = f (xi1 , K, xin ) , где (i1 , K, in ) − произвольная перестановка чисел 1, 2, K, n . Определить число симметрических
функций от n переменных.
Ответы
1. а), б), в), да; г) нет. 5. 2n+1