- •Ахметова Наиля Абдулхамитовна
- •Введение
- •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. Задачи по алгебре высказываний
- •Список литературы
Пример 2.
Рассмотрим несколько функций двух переменных
-
x1
x2
(x1x2)
f3
f15
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
1
1
1
1
Покажем, что (х1x2) существенно зависит отх1. Рассмотрим наборы (0,1) и (1,1), здесь2=1,f(0,2)=0 и не равноf(1,2)=1. Покажем, чтох2тоже существенная переменная. Рассмотрим наборы (1,0) и (1,1). Здесь1=1,f(1,0)=0 и не равноf(1,1)=1. Для функцииf3(x1,x2) покажем , чтох2 – иктивная переменная, т.е. надо показать, что не существует наборов(1,0) и (1,1) таких, чтоf3(1,0)f3(1,1). Пусть1=0, т.е. рассмотрим наборы (0,0) и (0,1),f(0,0)=f(0,1)=0. Пусть1=1, ноf(1,0)=f(1,1)=1.
Для функции f15иx1иx2являются фиктивными переменными.x1 – фиктивная переменная, если не существует наборов (0,2) и (1,2), таких, чтоf(0,2)f(1,2). Если2=0, тоf(0,0)=f(1,0)=1. Пусть2=1, тогдаf(0,1)=f(1,1)=1.
Пусть хiявляется фиктивной переменной для функцииf(x1, ...,xi, ...,xn). Тогда ее можно удалить из таблицы истинности, вычеркнув все строки вида: (1, ...i–1, 1,i+1, ...n) или, наоборот, все строки вида: (1, ...,i–1, 0,i+1, ...n) и столбец для переменнойхi. При этом получим таблицу для некоторой функцииg(x1, ...,xi–1, xi+1, ...xn). Будем говорить, что функцияg(x1, ...xi–1,xi+1, ...xn) получена из функцииf(x1, ...,xi, ...xn) путем удаления фиктивной переменнойхi илиfполучена изgпутем введения фиктивной переменной хi.
Определение 4.Функцииf1иf2называются равными, еслиf2можно получить изf1путем добавления или удаления фиктивной переменной.
Пример 3.
-
x1
x2
f3
0
0
1
1
0
1
0
1
0
0
1
1
Вычеркнули строки типа (,1), т.е. (0,1) и (1,1) и столбец для х2.
Получили f3(x1x2) =g(x1) =x1.
Пример 4.
-
x1
x2
g
0
0
1
1
0
1
0
1
0
0
0
1
Пусть функция g(x1x2) задана таблицей и существенно зависит от обеих переменных. Построим функциюf(x1,x2,x3), которая получается изg(x1,x2) введением фиктивной переменнойх3:
-
x1
x2
x3
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
0
0
0
0
0
0
1
0
К наборам (х1,х2) мы добавимх3=0, получим наборы вида: (1,2,0), на этих наборах функциюfположим равнойg(,), затем добавим наборы вида (,,1), функциюf(,,1) положим равнойg(,).
Особую роль играют константы 0 и 1, которые не имеют существенных переменных и которые можно рассматривать как функции от пустого множества переменных.
2.2. Формульное задание функций алгебры логики
Дадим индуктивное определение формулы над множеством. Это определение несколько сложное по форме, но будет полезно в дальнейшем. С индуктивным определением мы встречались в математическом анализе при определении n-го дифференциалаdnf(x) : было введено понятие первого дифференциалаdf(x), а затемn-й дифференциал определялся как первый дифференциал отd(n–1)f(x).
Определение 1.ПустьМP2, тогда:
1) каждая функция f(x1, ...,xn)называется формулой над;
2) пусть g(x1, ...,xm)G1, ...,Gm – либо переменные, либо формулы над. Тогда выражениеg(G1...Gn) – формула над.
Формулы будем обозначать заглавными буквами: N[f1, ...,fs], имея в виду функции, участвовавшие в построении формулы, илиN(х1, ...,xk) имея в виду переменные, вошедшие в формулу.Gi – формулы, участвовавшие в построенииg(G1, ...,Gn), называются подформулами.
Пример 1.ПустьN={(x1x2),(x1x2),(x)}, тогда ((х1х2)х3) – формула над.
Сопоставим каждой формуле N(x1, ...,xn) функциюf(x1, ...,xn)P2. Сопоставление будем производить в соответствии с индуктивным определением формулы.
1) Пусть N(x1, ...,xn)=f(x1, ...,xn), тогда формулеN(x1, ...,xn) сопоставим функциюf(x1, ...,xn).
2) Пусть N(x1, ...,xn)=g(G1, ...,Gm), где каждоеGi – либо формула надM, либо переменная, тогда по индуктивному предположению каждомуGi сопоставлена либо функцияfiP2, либо переменнаяхi , которую можно считать тождественной функцией. Таким образом, каждой формулеGiсопоставлена функцияfi(), причем:{}{x1, ...,xn}, т.к. в формулеN(x1, ...,xn) перечислены все переменные, участвовавшие в построении формулы. Можно считать, что все функцииfiзависят от переменных (x1, ...,xn), причем какие-то переменные могут быть фиктивными. ТогдаN(x1, ...,xn) =g(G1, ...,Gm) =g(f1(x1, ...,xn), ...,fm(x1,..,xn)). Сопоставим этой формуле функциюh(x1, ...,xn) следующим образом: пусть (1, ...,n) – произвольный набор переменных (x1, ...,xn). Вычислим значение каждой функцииfiна этом наборе, пустьf(1, ...,n)=i, затем найдем значение функцииg(x1, ...,xm) на наборе (1, ...,m) и положимh(1, ...,n) =g(1, ...,m) =g(f1(1, ...,n), ...,fm(1, ...,n)). Так как каждоеfi(x1, ...,xn) есть функция, то на любом наборе (1, ...,n) она определяется однозначно,g(x1, ...,xm) – тоже функция, следовательно, на наборе (1, ...,n) она определяется однозначно, гдеh(x1, ...,xn) есть функция, определенная на любом наборе (1, ...,n).
Множество всех формул над Mобозначим через <M>.
Определение 2.Две формулыNиDиз <M> называются равнымиN=Dили эквивалентнымиND, если функции, реализуемые ими, равны.
Пример 2. Доказать эквивалентность формул:
(&(х2x3))~( ) .
-
x1
x2
x3
x2x3
&
x2x3
x3x2
&
x1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0