
Дискретка / 4 - БФ (часть 1) - Упрощение формул
.pdf
БУЛЕВЫ ФУНКЦИИ
Основные понятия и определения
Булевой переменной называется переменная, принимающая одно из двух возможных значений. Формально булевы переменные чаще всего обозначаются строчными латинскими буквами, а принимаемые значения – через 0 и 1, т.е., например,
0 , x
1.
Булевой функцией называется функция от булевых переменных, принимающая одно из двух возможных значений, т.е. обычно эта функция является отображением из {0, 1}n в {0, 1}. Их будем обозначать привычным образом: f (x), G(x,y,z) и т.д.. Они, как и любые
функции могут быть простыми либо сложными (зависеть от других функций). |
|
|
|||||
Поскольку булева функция зависит от конечного числа |
|
|
|
|
|
Таблица 1 |
|
переменных, |
а переменные в свою очередь могут принимать |
x1 |
x2 |
|
|
xn |
f (x1, x2, …, xn) |
только два значения, то любую булеву функцию можно задать |
0 |
0 |
|
|
0 |
0 |
|
0 |
0 |
|
|
1 |
1 |
||
таблично (см. табл. 1). |
|
|
|||||
|
|
|
|
|
|
||
Таблица |
истинности содержит n столбцов – для |
1 |
1 |
|
|
1 |
0 |
переменных – и один столбец результата со значениями описываемой булевой функции. Каждая строка таблицы (кроме шапки) описывает каждый возможный набор значений переменных, таким образом, количество строк таблицы – 2n. Входные наборы значений переменных (x1, x2, …, xn) записываются в лексикографическом порядке. Таким образом, первым записывается нулевой набор – (0, …, 0) и соответствующая строка считается нулевой, а последняя строка, нумеруемая – (2n – 1)-й, является единичным набором – (1, …, 1). Можно также заметить, что набор, записываемый в i-й строке, представляет собой двоичную запись числа i.
Но таблицы чаще бывает удобнее строить не построчно, а по столбцам. Так, первый столбец будет содержать в первых 2n–1 строках нули, а в оставшихся 2n–1 строках – единицы. В каждом следующем столбце значения нулей и единиц будут чередоваться в два раза чаще, чем в предыдущем. Таким образом, в последнем, n-м, столбце значения 0 и 1 будут чередоваться построчно.
Кроме того, поскольку возможных значений функции – два, то количество функций от
n переменных – конечно и составляет 2 |
2 |
n |
. |
|
|
||||
|
|
|||
Любая булева функция также |
|
|
может быть задана с помощью формулы, т.е. |
|
аналитически. Для этого используются |
следующие операции, также называемые связками. |
Основные операции
1. Отрицание – унарная операция. Обозначается: ¬x, ~x, x . Читается: «не x».
1, |
x 0, |
f x x |
x 1. |
0, |
|
|
|
Остальные операции являются бинарными. 2. Конъюнкция.
Обозначается: x˄y, x∩y, x∙y, xy, x&y. Читается: «x и y».
1, |
x 1 и |
y 1, |
f x, y x & y |
|
|
0, |
иначе. |
|
x |
¬x |
0 |
1 |
1 |
0 |
x |
y |
x&y |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1

3. Дизъюнкция. |
|
|
|
Обозначается: x˅y, |
x y , x + y. |
Читается: «x или y». |
|
0, |
x 0 |
и |
y 0, |
f x, y x y |
иначе. |
|
|
1, |
|
|
|
|
|
|
|
x |
y |
x˅y |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
4. Импликация (следование). |
|
|
Обозначается: x y , x → y, |
x y . |
|
0, |
x 0 и |
y 1, |
f x, y x y |
иначе. |
|
1, |
|
|
|
|
|
Читается: «если x, то y», «из x следует y»
x |
y |
x y |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
5. Эквивалентность. |
|
Обозначается: x y , x ↔ y, |
x y , x ~ y. |
Читается: «x эквивалентно y», «и x, и y»,
«x тогда и только тогда, когда y»
1, |
x y, |
f x, y x y |
x y . |
0, |
|
|
|
6.Сложение по модулю 2.
Обозначается: x y , x + y. Читается: «x плюс y по модулю два»
«или x, или y»
|
0, |
x y, |
|
|
|
|
f x, y x y |
x y. |
|
|
|
|
1, |
|
|
|
|
|
|
|
|
|
|
7. |
Штрих Шеффера. |
|
|
|
|
|
Обозначается: x | y. |
|
|
|
|
|
|
0, |
x 1 |
и |
y 1, |
|
f x, y x y x & y |
иначе . |
|
|
|
|
|
1, |
|
|
|
|
|
|
|
|
|
8. |
Стрелка Пирса. |
|
|
|
|
|
Обозначается: x ↓ y. |
|
|
|
|
|
|
1, |
x 0 |
и |
y 0, |
|
f x, y x y x y |
иначе . |
|
||
|
|
0, |
|
||
|
|
|
|
|
|
x |
y |
x ≡ y |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
x |
y |
x y |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
|
|
|
x |
y |
x | y |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
|
|
|
x |
y |
x ↓ y |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
Символы ¬, &, ˅, , ≡, , |, ↓ называются связками.
Приведены простейшие булевы функции. Но через них посредством формул могут быть заданы другие, более сложные функции.
Формулы алгебры логики
Понятие формулы в теории булевых функций вводится следующим образом:
1.булевы переменные x, y, z, … и константы 0, 1, a, b, … являются простейшими формулами;
2.если F и G – формулы, то формулами также являются записи: (¬F), (F&G), (F˅G),
(F
G), (F ≡ G), (F
G), (F | G), (F ↓ G);
3.формулами являются только те записи, которые следуют из пп. 1 и 2. Примеры формул:
|
y |
|
x y & z |
|
x |
|
x | y & z y |
2
Записи некоторых формул можно упростить. При этом руководствуются следующими правилами сокращённой записи формул:
пара внешних скобок может быть опущена;
если в формуле имеются бинарные связки только одного типа, то будем опускать пару скобок при формуле, стоящей слева от связки; это означает, что операции одного типа выполняются слева направо, например:
|
1) F G H |
|
2) F G H |
||
|
F G H |
|
F G H |
||
|
F G H |
|
|
□ |
|
операции выполняются в следующем порядке: |
|||||
|
1) ¬ |
2) & |
3) ˅ |
4) |
5) ≡; |
|
для операций |
, |, ↓ приоритет не определён. |
|||
|
Таким образом, при записи формулы будем опускать все скобки, которые можно |
||||
восстановить обратно указанным правилам. |
|
||||
|
Рассмотрим пару примеров. |
|
|
||
|
Пример 1. Опустить лишние скобки: |
|
|||
а) |
x | y z y & x z . |
|
Решение.
1) Будем опускать скобки в порядке, обратном выполнению операций. Поэтому первыми
опустим внешние скобки:x | y z y & x z .
2) Следующие по указанному правилу скобки, как видно, заключают дизъюнкцию, но она и без скобок будет выполняться в первую очередь по отношению к внешней импликации, поэтому данные скобки можно опустить:
x | y z y & x z .
3) Первым дизъюнктом является формула с основной операцией – штрих Шеффера, для которого приоритет не определён, поэтому пара скобок, заключающих его должна остаться. Пару скобок, заключающих формулу справа от дизъюнкции опустить также не можем, поскольку иначе изменится порядок выполнения операций и дизъюнкция будет отнесена лишь к z, а не к образуемой с помощью этой импликации формуле.
4) Продолжим рассмотрение связок в неопускаемых скобках. Отрицание имеет наивысший приоритет, поэтому, замечая, что обе операции отрицания и так относятся непосредственно к одной стоящей после них переменной, окружающие их скобки можем опустить, не нарушив при этом заданный порядок выполнения операций:
x | y z y & x z .
На самом деле, если мы в изначально данном выражении видим отрицание, относящееся к отдельной переменной, скобки, окружающие его можем сразу опустить.
5) В последней формуле мы можем опустить лишь внутренние скобки, поскольку конъюнкция и так будет выполнена перед импликацией:
x | y z y & x z .
Итак, это самая «облегчённая» запись заданной формулы: оставшиеся две пары скобок отброшены быть не могут, поскольку иначе содержащиеся операции будут выполняться в ином порядке, следовательно, мы бы получили совершенно другую функцию.
3
Пример 2. Восстановить все скобки, чтобы был чётко ясен порядок выполнения действий:
а)
y x y & z x y.
1)Сначала заключим в скобки отрицания вместе со следующими за ними одиночными
переменными:
y x y & z x y.
2)Следующей выполняется конъюнкция:
yx y & z x y.
3)Затем должна быть выполнена операция «или»:
yx y & z x y .
4)Далее – импликация:
y x y & z x y .
5)Чтобы исходная формула была записана так, как это вводится в определении, заключим
вскобки и последнюю самую внешнюю эквивалентность:
y x y & z x y .
Необходимо выполнить аналогичные задания:
Пример 1.
б) x y z y x y
в) x y z x y ; г) x y z z ;
д) x y & y z x ;
е) x x y z & x y ж) x y z t .
Пример 2.
б) x y z & x x ; в) y y z z & t ; г) x y x y & x ;
д) x y x & y z ;
е) x y z x & y x ;
ж) x & y & z x x x y .
;
;
Равносильность формул
Формулы называются равносильными, если для каждого набора значений переменных, в них входящих, описываемые ими функции принимают одинаковые значения.
То, что формула F равносильна G, обозначают, как F ~ G. Пример 3. Показать, что следующие формулы равносильны:
x
y ~ x
y
.
Построим таблицы истинности для обеих формул:
x |
y |
¬x |
¬x˅y |
|
x |
|
y |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
|
0 |
1 |
1 |
1 |
0 |
0 |
0 |
|
1 |
0 |
0 |
1 |
1 |
0 |
1 |
|
1 |
1 |
1 |
4

Видим, что в построенных таблицах истинности столбцы результатов совпадают, следовательно указанные формулы равносильны. □
Существует понятие функций, тождественно равных нулю, т.е. принимающих значение 0 на любом наборе переменных, (их иногда, подобно логике высказываний,
называют противоречиями):
0 = f (x1, x2, …, xn) = 0, xi , i 1, n ;
и тождественно равных единице, принимающих значение 1 на каждом наборе переменных, (их называют также тавтологиями):
1 = f (x1, x2, …, xn) = 1, xi , i 1, n .
Важнейшие пары равносильных формул (основные законы алгебры логики)
1) |
Закон двойного отрицания: |
|
x ~ x . |
|
Законы коммутативности: |
2) |
x & y ~ y & x ; |
3) |
x y ~ y x . |
|
Законы ассоциативности: |
4) |
x & y & z ~ x & y & z ~ x & y |
5) |
x y z ~ x y z ~ x y |
|
Законы дистрибутивности: |
6) |
x & y z ~ x & y x & z ; |
7) |
x y & z ~ x y & x z . |
|
Законы де Моргана: |
8) |
x & y ~ x y ; |
9) |
x y ~ x & y . |
|
Законы идемпотентности: |
10) |
x & x ~ x ; |
11) |
x x ~ x . |
|
Закон противоречия; |
12) x & x ~ 0. |
|
|
Закон исключённого третьего: |
13) |
x x ~ 1 . |
Свойства 0 и 1:
14)x & 0 ~ 0 ;
15)x & 1 ~ x ;
16)x 0 ~ x ;
17)x 1 ~ 1 .
Законы поглощения:
18) x & x y ~ x ; 19) x x & y ~ x .
& z z .
;
5

|
20) |
Закон исключения импликации: |
|
|
|
|||
|
|
x y ~ x y . |
|
|
|
|
||
|
21) |
Закон исключения эквивалентности: |
|
|
||||
|
|
x y ~ x y & y x . |
|
|
|
|
||
|
22) |
Закон исключения суммы по модулю 2: |
|
|
||||
|
|
x y ~ x y ~ x y ~ x y . |
|
|
|
|
||
|
23) |
Закон исключения штриха Шеффера: |
|
|
||||
|
|
x | y ~ x & y . |
|
|
|
|
||
|
24) |
Закон исключения стрелки Пирса: |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
x y ~ x y . |
|
|
|
|
||
|
|
Примеры. Упростить формулы: |
|
|
|
|||
а) |
x x y y . |
|
|
|
|
|||
|
Решение. |
|
|
|
|
|||
|
x x y y ~ x x y y |
~ |
x x & y y ~ x x & x y y ~ |
|||||
|
|
(20) |
(1,5,9) |
(7) |
|
(13) |
||
|
|
|
|
~ 1 & x y y |
~ x y y |
~ |
1 . |
|
|
|
(5,15) |
|
(13,17) |
|
□
Докажем правильность проведённых преобразований построением таблицы истинности для исходной формулы:
|
|
|
3) |
|
1) |
|
2) |
|
x |
y |
x |
|
(x |
|
y |
|
y) |
0 |
0 |
|
1 |
|
1 |
|
0 |
|
0 |
1 |
|
1 |
|
1 |
|
1 |
|
1 |
0 |
|
1 |
|
0 |
|
1 |
|
1 |
1 |
|
1 |
|
1 |
|
1 |
|
б) в) г) д) е)
x & x y ; x & x & y y x & y x & y y z x ; x x & y ; x x x x & y & z
;
y
x & x & z
;
ж) з) и) к)
л)
x y z x & y z ; x z & y z z ;
x x & y z ; x & y y z ;
x y z x | x & y z .
6