
- •Ахметова Наиля Абдулхамитовна
- •Введение
- •1. Элементы комбинаторики
- •1.1. Перестановки. Размещения. Сочетания
- •Теорема.
- •1.2. Задачи по комбинаторике
- •2. Функции алгебры логики
- •2.1. Элементарные функции алгебры логики
- •Пример 2.
- •2.2. Формульное задание функций алгебры логики
- •Упрощение записи формул:
- •Теорема о замене подформул на эквивалентные
- •Некоторые свойства элементарных функций
- •Следствия из свойств элементарных функций
- •Пример 3:
- •2.3 Принцип двойственности
- •Пример 1. Покажем с помощью таблицы истинности, что константа 0 двойственна к 1:
- •Пример 3. Покажем, что функция х1х2 двойственна к x1&x2, функция х1х2 двойственна к функции x1|x2.
- •Принцип двойственности
- •Лемма о несамодвойственной функции
- •2.4 Разложение булевой функции по переменным
- •Теорема о разложении функции по переменным
- •2.5. Полнота, примеры полных систем
- •Полные системы
- •Представление функции в виде полинома Жегалкина
- •Теорема Жегалкина
- •2.6. Замыкание и замкнутые классы
- •Важнейшие замкнутые классы в р2
- •Теорема Поста о полноте
- •Примеры использования теоремы Поста.
- •3. Составим критериальную таблицу для другой полной системы функций из р2: {0, 1,x1x2,x1x2}.
- •Теорема о достаточности четырех функций.
- •2.7. Функции k - значной логики
- •Теорема о полной в Рk системе функций
- •2.8. Задачи и упражнения по функциям алгебры логики
- •1. Построить таблицы соответствующих функций, выяснить, эквивалентны ли формулы и :
- •2. Построив таблицу для соответствующих функций, убедитесь в справедливости следующих эквивалентностей:
- •3. Минимизация булевых функций
- •3.1. Минимизация нормальных форм
- •Алгоритм Квайна построения сокращенной днф.
- •Метод Блейка
- •Алгоритм построения сокращенной днф с помощью кнф (метод Нельсона)
- •Построение всех тупиковых днф.
- •Алгоритм минимизации функций в классе днф
- •Алгоритм минимизации функций в классе кнф
- •Алгоритм минимизации функций в классе нормальных форм
- •3.2 Минимизация частично определенных функций
- •Алгоритм минимизации частично определенных функций в классе днф
- •Алгоритм минимизации частично определенных функций в классе кнф
- •Метод минимизирующих карт Карно
- •3.3 Задачи по минимизации и доопределению булевых функций
- •4. Логика высказываний
- •4.1. Введение в логику высказываний
- •4.2. Задачи по алгебре высказываний
- •Список литературы
Пример 3. Покажем, что функция х1х2 двойственна к x1&x2, функция х1х2 двойственна к функции x1|x2.
-
x1x2
f=х1х2
f*
g=x1|x2
g*=x1
x2
0 0
0 1
1 0
1 1
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
Теорема о двойственных функциях
Если f* двойственна кf, тоfдвойственна кf*.
Доказательство.f*(x1,
...,xn) =
(
1,
...,
n).
Найдем двойственную функцию кf*,
т.е. (f*(x1, ...,xn))*
= (
(
1,
...,
n))*
=
(
1,
...,
n)
=f(x1, ..,xn).
Предположим, что функция задана формулой. Можно ли найти по этой формуле двойственную функцию? Ответ на этот вопрос дает следующая теорема.
Принцип двойственности
Теорема: Пусть функцияh(x1, ...,xn) реализована формулойh(x1, ...,xn) = =g(G1, ...,Gm) =g(f1(x1, ...,xn), ...,fm(x1, ...,xn)), где какие-то переменные могут быть фиктивными. Тогдаh*( x1, ...,xn) =g*(f1*(x1, ...,xn), ...,fm*(x1, …,xn)), это означает, что если функция задана некоторой формулой, то чтобы получить двойственную функцию, надо в этой формуле все знаки функций заменить на двойственные, 0 на 1, 1 на 0.
Доказательство.h*(x1,
...,xn) =
(
1,
...,
n)
=
(f1(
1,
...,
n),
...,fm(
1,
...,
n))
=
..
n.
.
ng
..
g*(f1*(x1, ...,xn), ...,fm*(x1, ...,xn)), что и
требовалось доказать.
Если функция h(x1, ...,xn) реализуется формулойN[f1, ...,fn], то формулу, полученную изNзаменойfi, входящих в нее, наfi* и реализующую функциюh*(x1, ...,xn), будем называть двойственной и обозначатьN*(x1, ...,xn).
Пример 4.Построить формулу, реализующуюf*,
еслиf= ((xy)z) (y
(xyz)).
Покажем, что она эквивалентна формулеN=z(xy).
Найдем (xy)*
и (xy)*.
-
x y
xy
(xy)*
x
y
(x
y)*
0 0
0 1
1 0
1 1
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
Из таблиц видно, что
(xy)*
= x ~ y
=
=
x
y
1,
x
y
=
y
x
,
(xy)*
=
y
x
y
=
y.
По принципу двойственности:
f*
=
yz
(
(x
(y
z)
1))
=
yz
z(x
(y
z)
1)
=z(
y(
x
z
))
=z(
y
(xz1))
=z(
y
(x
))
=z
y(z
xz
)
=z(
yx
)
=z(xy).
Тогда f= (f*)* = [z(xy)]* =z(x~y).
Пример 5.Найти формулу для
f* и показать, что она эквивалентна
формулеN= (x(zt)),
еслиf= (xyz~(tx
))
t.
f* =
((xyz)t(y))(
t)
= (
t(
y)(xyz)
)(
t)
=
= (t(xyz)(
x
))(
t)
=
t(xyz)(
x
tx
)
=
=
t(xyz)(
x
)
=
(
x
t
zxxz)
=
(
tx
zxz)
=
(x(zt)).
Лемма о несамодвойственной функции
Подстановкой
функций
и
в несамодвойственную функцию можно
получить одну из констант.
Доказательство.
Пусть– несамодвойственная функция. Тогда
существует набор
,
для которого
.
Построим функцию
,
заменив единицы в
на
,
а нули – на
.
Так как
,
то
.
Заметим, что
.
Тогда
,
т.е.
.
Следовательно, функция
есть одна из констант.
2.4 Разложение булевой функции по переменным
Обозначим
x=
Посмотрим, чему равно xпри разных значенияхxи.
x\ |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
Из таблицы следует: x=1 тогда и только тогда, когда x=.
Теорема о разложении функции по переменным
Пустьf(x1,
..., xn)
P2.
Тогда для любого m:
1 ≤ m
≤ n
допустимо представление:
f(x1,
..., xm,
xm+1,
..., xn)
=
,
где дизъюнкция берется по всем наборам из 0 и 1, которое называется разложением функции f по переменным x1, ...,xn.
Прежде чем доказать утверждение, рассмотрим примеры.
Пример 1.m= 1, запишем разложение по переменнымх:
f(x1, ...,xn) =
=
f(0,x2 , …,xn)x1f(1,x2, ...,xn). (1)
Пример 2. m=2, запишем
разложение по переменнымхи:
f(x1,x2,…xn)
=
=
.
Если f(x,x) =xx,
то последняя формула даетxx=
xx
.
Доказательство.Для доказательства возьмем произвольный
набор,,n)
и покажем, что левая и правая части
формулы (1) принимают на этом наборе
одинаковые значения. Слева имеемf.n.
Cправа :.
Дизъюнкция
берется по всевозможным наборам (,
...,m).
Если в этих наборах хотя бы одноii
(1≤i≤m),
то=
0 и
,
следовательно, ненулевой член будет
только на наборе (,
...,m)
= (,
...,m),
тогда
f.n.
Следствие
1.
Любую
функцию f(x1,
..., xn)
не равную тождественно нулю можно
представить в виде:
,
причём единственным образом. Этот вид
называется совершенной
дизъюнктивной нормальной формой
функции f(x1,
..., xn)
и записывается СДНФ.
Доказательство.
Существование СДНФ для функции не
равной тождественно нулю вытекает из
предыдущей теоремы. Покажем, что эта
СДНФ единственная. В самом деле, имеетсяn-местных
функций, не равных нулю тождественно.
Подсчитаем число различных СДНФ отnпеременных. Путь
означает число сочетаний изnэлементов поk. Тогда
число одночленных СДНФ
равно
.
Числоk-членных СДНФ
равно
.
Числоn-членных СДНФ
равно
.
Число всех различных СДНФ
Итак,
функций реализуются посредством
СДНФ, т.е. каждой функции соответствует
единственная СДНФ.
Замечание.
–
элементарная конъюнкция ранга n по числу
входящих переменных, предполагается,
что приij,хi хj. СДНФ дляf(x1, ..., xn)–дизъюнкция элементарных конъюнкций
рангаn. Если функция представлена
в виде дизъюнкций элементарных конъюнкций,
где ранг хотя бы одной элементарной
конъюнкции меньшеn, то такая форма
называетсядизъюнктивной нормальной
формой(ДНФ).
Cледствие 2.Любая функция алгебры логики может быть представлена в виде формулы через отрицание, & и.
а) Если
f≡ 0, тоf(x1,
...,xn) =&
.
б) Если
f(x1, ...,xn)0 тождественно, тогда ее можно представить
в виде СДНФ, где используются только
связки
,
&,. СДНФ дает
алгоритм представления функции в виде
формулы через &,,
.
Пример 3.Пусть функцияf(x1,x2,x3) задана таблицей истинности. Запишем ее в виде СДНФ. Наборов, на которых функция равна 1, три: (0, 1, 0), (1, 0, 0) и
(1, 1, 1), поэтому f(x1,x2,x3) =x10 &x21 &x30 x11 &x20 &x30 x11&x21 &x31=
=&x2&
x1&
&
x1&x2&x3.
x1 |
x2 |
x3 |
f | |||
0 0 0 0 1 1 1 1 |
0 1 1 1 0 0 1 1 |
0 1 0 1 0 1 0 1 |
0 0 1 0 1 0 0 1 |
Следствие
3. Мы
умеем представлять функцию в виде
.
Нельзя
ли представить ее в виде
.
Пусть функция f(x1,
..., xn)
1
тождественно. Тогда функция f*
0
тождественно, и ее можно представить в
виде СДНФ:
.
По принципу двойственности заменим & на и наоборот, получим
(2)
называется элементарной дизъюнкцией
ранга n. Представление функции в виде
(2) называетсясовершенной конъюнктивной
нормальной формой или в краткой записи
–СКНФ. СКНФ дляf(x1,
...,xn) – конъюнкция
элементарных дизъюнкций рангаn.
КНФ дляf(x1, ...,xn)
– конъюнкция элементарных дизъюнкций,
где ранг хотя бы одной элементарной
дизъюнкции меньшеn.
Пример
4.Пустьf(x1,x2,x3) =x1
(x2
(x3
~x1)). Представим ее в виде
СКНФ, для этого получим таблицу истинности.
x1 |
x2 |
x3 |
x3~x1 |
x |
f |
0 0 0 0 1 1 1 1 |
0 0 1 1 0 0 1 1 |
0 1 0 1 0 1 0 1 |
1 0 1 0 0 1 0 1 |
1 1 1 0 1 1 0 1 |
1 1 1 1 1 1 0 1 |
Функция равна нулю только на наборе (1, 1, 0), поэтому
f(x1x2x3)=x1x2
x3
=x10x20x31=
x3.