- •Логические функции
- •Логические функции одной переменной
- •Логические функции от двух переменных
- •Булева алгебра
- •Разложение функций по переменным СДНФ
- •Булева алгебра функций и эквивалентные преобразования в ней
- •Основные свойства булевых операций
- •Упрощение формул
- •Приведение к ДНФ (в том числе СДНФ)
- •Приведение к конъюнктивной нормальной форме (КНФ)
- •Нахождение минимальной ДНФ методом Квайна
- •Полнота и замкнутость
- •Функционально полные системы (ф.п.с.)
- •Двойственность
- •Алгебра Жегалкина и линейные функции
- •Замкнутые классы. Монотонные функции
- •Две теоремы о функциональной полноте
- •Предметный указатель
Тема ¹2. Логика
Содержание
Логические функции |
2 |
Логические функции одной переменной . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
3 |
Логические функции от двух переменных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
4 |
Булева алгебра |
6 |
Разложение функций по переменным СДНФ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
6 |
Булева алгебра функций и эквивалентные преобразования в ней . . . . . . . . . . . . . . . . . . |
8 |
Основные свойства булевых операций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
9 |
Упрощение формул . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
11 |
Приведение к ДНФ (в том числе СДНФ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
12 |
Приведение к конъюнктивной нормальной форме (КНФ) . . . . . . . . . . . . . . . . . . . . . . |
13 |
Нахождение минимальной ДНФ методом Квайна . . . . . . . . . . . . . . . . . . . . . . . . . . . |
13 |
Полнота и замкнутость |
16 |
Функционально полные системы (ф.п.с.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
16 |
Двойственность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
18 |
Алгебра Жегалкина и линейные функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
20 |
Замкнутые классы. Монотонные функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
22 |
Две теоремы о функциональной полноте . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
24 |
Предметный указатель |
28 |
•Назад •Первая •Предыдущая •Следующая •Последняя •Перейти •Предметный указатель
Логические функции
Пусть B — двухэлементное множество {0, 1}.
Двоичные переменные, это переменные, принимающие значения из B.
Алгебра, образованная множеством B вместе со всеми возможными операциями на нем, называется алгеброй логики. Функцией алгебры логики (или логической функцией) от n переменных называется n-арная операция на B.
Итак, логическая функция f(x1, . . . , xn) — это функция, принимающая значения 0, 1, аргументы которой тоже принимают значения 0, 1. Множество всех логических функций обозначается P2, множество всех логических функций от n переменных — P2(n).
Алгебра, образованная k-элементным множеством вместе со всеми операциями на нем, называется алгеброй k-значной логики, а n-арные операции на k-элементном множестве называются K-значными логическими функциями. Множество всех K-значных логических функций обозначается Pk.
Будем рассматривать логические функции от P2. Всякая логическая функция n переменных может быть задана таблицей, в левой части которой перечислены все 2n наборов значений переменных (т.е. двоичных векторов длины n), а в правой части — значения функции на этих наборах. Например,
x1 |
x2 |
x3 |
f |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|
|
•Назад •Первая •Предыдущая •Следующая •Последняя •Перейти •Предметный указатель
Наборы, на которых f = 1, называются единичными наборами функции f, а множество единичных наборов — единичным множеством f. Там, где f = 0, нулевые наборы f.
Наборы расположены по возрастанию соответствующих двоичных чисел. Логическая функция при этом полностью определяется вектор-столбцом своих значений, размерность которого равна числу наборов, т.е. 2n. Поэтому число |P2(n)| различных функций n-переменных равно числу различных двоичных векторов длины 2n, т.е. 22n.
Переменная xi в функции f(x1, . . . , xi−1, xi, xi+1, . . . , xn) называется несущественной (или фиктив-
ной), если f(x1, . . . , xi−1, 0, xi+1, . . . , xn) = f(x1, . . . , xi−1, 1, xi+1, . . . , xn) при любых значениях остальных переменных. В этом случае функция f(x1, . . . , xn) по существу зависит от (n − 1) переменной, т.е. пред-
ставляет собой функцию g(x1, . . . , xi−1, xi+1, . . . , xn) от (n −1) переменной. Говорят, что функция g получена из функции f удалением фиктивной переменной, а функция f получена из g введением фиктивной переменной, причем эти функции считаются равными.
Логические функции одной переменной
x |
ϕ0 |
ϕ1 |
ϕ2 |
ϕ3 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
|
|
|
|
|
Функции ϕ0 и ϕ3 — константы 0 и 1 они не зависят от значений переменной и, следовательно, переменная x для них несущественна. Функция ϕ1 повторяет значения x : ϕ1(x) = x; ϕ2(x) называется отрицанием x (или функцией НЕ) и обозначается x, ex, ¬x.
•Назад •Первая •Предыдущая •Следующая •Последняя •Перейти •Предметный указатель
Логические функции от двух переменных
x1 x2 |
Ψ0 Ψ1 Ψ2 Ψ3 Ψ4 Ψ5 Ψ6 Ψ7 Ψ8 Ψ9 Ψ10 Ψ11 Ψ12 Ψ13 Ψ14 Ψ15 |
||||||||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Функция Ψ1(x1, x2) называется конъюнкцией x1&x2, x1 x2, x1 · x2, x1x2(и).
Ψ7 |
(x1 |
, x2) — дизъюнкция; x1 x2, x1 + x2 (или). |
Ψ6 |
(x1 |
, x2) — сложение по модулю 2; x1 x2, x1 x2, x1 ≡ x2 (еще называется неравнозначностью) |
Ψ9(x1, x2) — эквивалентность или равнозначность; x1 x2, x1 ≡ x2.
Ψ13(x1, x2) — импликация; x1 → x2, x1 x2. Ψ8(x1, x2) — стрелка Пирса; x1 ↓ x2.
Ψ14(x1, x2) — штрих Шеффера; x1|x2.
В функциях Ψ3 и Ψ12 переменная x2 фиктивна. Ψ3(x1, x2) = x1; Ψ12(x1, x2) = x1.В функциях Ψ5 и Ψ10
фиктивна x1, Ψ5(x1, x2) = x2, Ψ10(x1, x2) = x2
ϕ0 и ϕ15 — константы 0 и 1 с двумя несущественными переменными.
Суперпозицией функций f1, . . . , fm называется функция f, полученная с помощью подстановок этих функций друг в друга и переименования переменных, а формулой называются выражения, описывающие эту суперпозицию.
Пусть дано множество (конечное или бесконечное) исходных функций Σ = {f1, . . . , fm, . . .}. Символы переменных x1, . . . , xn, . . . будем считать формулами глубины 0. Формула F имеет глубину k + 1,
если F имеет вид fi(F1, . . . , Fri), где fi Σ, n — число аргументов fi, a F1, . . . Fri — формулы, максимальная из глубин которых равна k. F1, . . . , Fri называются подформулами F ; fi называется внешней или
главной операцией формулы F . Все подформулы формул F1, . . . , Fri также называются подформулами
•Назад •Первая •Предыдущая •Следующая •Последняя •Перейти •Предметный указатель
F . Например, f2(x1, x2, x3) — это формула глубины 1, а f3(f1(x3, x2), f2(x1, f3(x1,x2))) — глубины 3. Одна формула глубины 2 и две подформулы глубины 1.
В дальнейшем, конкретные формулы, как правило, будут иметь более привычный вид, при котором знаки функций стоят между аргументами (такую запись называют инфиксной). Например, если f1 обозначает дизъюнкцию, f2 — конъюнкцию, а f3 — сложение по модулю 2, то приведенная ранее формула примет вид
(x3 x2) (x1&(x1 x2)) |
(2.1) |
Все формулы, построенные описанным ранее образом, т. е. содержащие только символы переменных, скобки и знаки функций из множества Σ, называются формулами над Σ.
Всякая формула, выражающая функцию f как суперпозицию других функций, задает способ ее вычисления (при условии, что известно, как вычислить исходные функции). Этот способ определяется следующим очевидным правилом: формулу можно вычислить, только если уже вычислены значения всех ее подформул.
Вычислим, например, формулу (2.1) на наборе x1 = 1, x2 = 1, x3 = 0. Получим x3 x2 = 1; x1(x1
x2) = x1&0 = 0; (x3 x2) (x1(x1 x2)) = 1 0 = 1.
Т.о., формула каждому набору значений аргументов ставит в соответствие значение функции, и, следовательно, может служить наряду с таблицей способом задания и вычисления функции. О формуле, задающей функцию, говорят также, что она реализует или представляет эту функцию.
В отличие от табличного задания представление данной функции формулой не единственно. Например, если в качестве исходного множества функций зафиксировать множество {Ψ1, Ψ7, Ψ2}, т.е. функции и, или, не, то функцию «штрих Шеффера» можно представить формулами
|
1 |
|
2 и |
|
(2.2) |
x |
x |
x1x2 |
•Назад •Первая •Предыдущая •Следующая •Последняя •Перейти •Предметный указатель