Обозначим через B двухэлементное множество {0,1}.
Тогда$$B^n=\underbrace{B\times B \times \ldots \times B}_{n}$$
это множество всех двоичных последовательностей (наборов, векторов)
длины n. n
переменных (аргументов) называется любая функция f(x1, xn): Bn -> B
.
Каждый из ее аргументов xi, 1 <= i <= n
, может принимать
одно из двух значений 0 или 1 и значением функции на любом наборе из Bn
также может быть 0 или 1. Обозначим через $$\codecal{P}_n$$ множество всех n переменных. Нетрудно
подсчитать их число.
Теорема 3.1. $$|\codecal{P}_n | = 2^{2^n}$$.
Доказательство.Действительно, по теореме 1.1 число функций из k -элементного
множества A в m -элементное множество B
равно mk
. В нашем случае B={0, 1}, а A = Bn
. Тогда m=2 и k= |Bn| = 2n
. Отсюда следует утверждение теоремы.
Имеется несколько
различных способов представления и интерпретации
Bn
можно рассматривать как n задает вершину
этого куба. На рис. 3.1 представлены Bn
при n=3,4.
(рис 3.1) Единичные кубы B3 и B4
При этом существует естественное взаимно однозначное
соответствие между подмножествами вершин n переменных: подмножеству $$A \subseteq B_{n}$$ соответствует его характеристическая функция
Например, верхней грани куба B3
(ее вершины выделены на рисунке)
соответствует функция f: f(0,0,1)=f(0,1,1)=f(1,0,1)=f(1,1,1) =1 и f(0,0,0)=f(0,1,0)=f(1,0,0)=f(1,1,0) =0.
Очевидно, что указанное соответствие действительно взаимнооднозначное:
каждая f от n переменных задает
подмножество Af={(x1, ..., xn)|f(x1, ..., xn)=1}
вершин Bn
. Например, функция, тождественно равная 0,
задает пустое множество $$\varnothing \subset B^{n}$$, а функция,
тождественно равная 1, задает множество всех вершин Bn
.
f(x1, ..., xn)
имеет n+1 столбец.
В первых n столбцах указываются значения аргументов x1, ..., xn
, а в (n+1) -ом столбце значение функции на этих аргументах - f(x1, ..., xn)
.
x1
|
. | . | . | xn-1
|
xn
|
f(x1, ..., xn)
|
|---|---|---|---|---|---|---|
| 0 | . | . | . | 0 | 0 | f(0, ..., 0,0) |
| 0 | . | . | . | 0 | 1 | f(0, ..., 0,1) |
| 0 | . | . | . | 1 | 0 | f(0, ..., 1,0) |
| . | . | . | . | . | . | $$\dots$$ |
| 1 | . | . | . | 1 | 1 | f(1, ..., 1,1) |
Наборы аргументов в строках обычно располагаются в лексикографическом порядке:
$$(\alpha _{1}, \dots , \alpha _{n}) < (\beta _{1}, \dots , \beta _{n}) \Leftrightarrow$$ существует такое $$i \in [1,n]$$, что при $$j < i \alpha _{j} = \beta _{j}$$, а $$\alpha _{i} < \beta _{i}$$.
Если эти наборы рассматривать как записи чисел в 2n-1
.
При больших n n
оно достаточно наглядно.
Представим вначале в
x1
|
f1
|
f2
|
f3
|
f4
|
|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 1 | 0 |
В этой таблице представлены следующие функции:
f1(x1)= 0
- константа 0;f2(x1)= 1
- константа 1;f3(x1)= x1
- тождественная функция;x1
(используется также обозначение x
1
,
а в языках программирования эта функция часто обозначается как NOTx1
).В следующей
x1
|
x2
|
f1
|
f2
|
f3
|
f4
|
f5
|
f6
|
f7
|
f8
|
f9
|
f10
|
f11
|
f12
|
f13
|
f14
|
f15
|
f16
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
Многие из этих функций часто используются в качестве "элементарных" и имеют собственные обозначения.
f1(x1,x2)= 0
- константа 0;f2(x1,x2)= 1
- константа 1;f3(x1,x2)= x1
- функция, равная 1-му аргументу ;x1
;f5(x1,x2)= x2
- функция, равная 2-му аргументу ;x2
;x1
и x2
"
(используются также обозначения (x1 x2)
, (x1x2)
, min(x1,x2)
и (x1 AND x2)
);x1
или x2
"
(используются также обозначения $$(x_{1} \vee x_{2})$$, (x1 + x2)
, max(x1,x2)
и (x1 OR x2)
);f9(x1,x2)= (x1 -> x2)
- x_1 влечет x_2 "
или "из x1
следует x2
"
(используются также обозначения ( $$x_{1} \supset x_{2}$$ ), и ( IF x1 THEN x2
));f10(x1,x2)= (x1 + x2)
- x1
плюс x2
"
(используется также обозначение $$(x_{1} \oplus x_{2})$$ );f11(x1,x2)= (x1 ~ x2)
- x1
эквивалентно (равносильно) x2
"
(используется также обозначение $$(x_{1} \equiv x_{2})$$ );f12(x1,x2)= (x1 | x2)
- x1
и x2
";x1
или x2
".В качестве элементарных функций будем также рассматривать 0-местные функции-константы 0 и 1.
Отметим, что функции f1(x1,x2) и f2(x1,x2)
фактически не зависят от значений обоих аргументов, функции f3(x1,x2) и f4(x1,x2) не зависят от значений аргумента x2, а функции f5(x1,x2) и f6(x1,x2) не зависят от значений аргумента x1.
Определение 3.1.
Функция f(x1,..., xi,..., xn) не зависит от аргумента xi, если для любого набора значений $$\sigma _{1},\dots ,\sigma _{i-1}> \sigma _{i+1},\dots , \sigma _{n}$$
остальных аргументов f имеет место равенство
Такой аргумент xi
называется фиктивным. Аргументы, не являющиеся фиктивными, называются существенными.
Функции f1(x1,..., xn)
и f2(x1,...,xm)
называются равными, если функцию f2
можно получить из функции f1
путем добавления и
удаления фиктивных аргументов.
Например, равными являются f3(x1)
и
двухместная функция f3(x1,x2)
,
так как вторая получается из первой добавлением фиктивного аргумента x2
.
Мы не будем различать равные функции и, как правило, будем использовать для обозначения равных функций
одно и то же имя функции. В частности, это позволяет считать, что во всяком конечном
множестве функций все функции зависят от одного и того же множества переменных.
Как мы видели,
Пусть $$\codecal{B}$$ - некоторое (конечное или бесконечное)
множество V={X1, X2, ...}
.
Определим по индукции множество формул над $$\codecal{B}$$ с
переменными из V. Одновременно будем определять числовую характеристику $$dep(\Phi )$$ формулы $$\Phi,$$ называемую ее
Определение 3.2.
dep (Xi)= dep (c)=0
. Множество ее A1, ... , Am
- формулы, и max {dep (Ai) | i = 1,..., m} = k
.
Тогда выражение $$\Phi = f(A_{1},\dots , A_{m})$$
является формулой, ее k+1, а
множество A1, ..., Am.Каждой формуле $$\Phi (X_{1},\dots , X_{n})$$ сопоставим
c.
A1, ..., Am
- формулы,
для которых max1 <= i <= m{. Предположим (по
индукции), что этим формулам уже сопоставлены функции g1(X1,..., Xn), ... , gm(X1,..., Xn)
. Тогда
формула $$\Phi$$ задает функцию $$f_{\Phi }(X_{1},\dots , X_{n}) = f_{i}(g_{1}(X_{1},\dots , X_{n}), \dots , g_{m}(X_{1},\dots , X_{n}))$$.
Далее мы будем рассматривать формулы над множеством элементарных функций $$\codecal{B}_e=\{ 0, 1, \neg, \wedge, \vee, \rightarrow, +, \sim,\ |, \downarrow \} $$. Все эти функции, кроме констант, называются логическими связками или логическими операциями. При этом для 2-местных функций из этого списка будем использовать инфиксную запись, в которой имя логической связки помещается между 1-ым и 2-ым аргументами. Тогда определение формулы над $$\codecal{B}_e$$ имеет следующий вид.
Определение 3.3.
Тогда выражения $$\neg \Phi _{1}$$ и $$(\Phi _{1} \hat{} \Phi _{2})$$ являются формулами. При этом $$dep(\neg \Phi _{1})=1 + dep( \Phi _{1})$$, а $$dep((\Phi _{1} \hat{} \Phi _{2}))= 1 + max \{ dep(\Phi _{1}), dep(\Phi _{2})\}$$.
В соответствии с этим определением выражения $$\Phi _{1}(X_{1},X_{2}) = \neg (X_{1} \wedge \neg X_{2})$$ и $$\Phi _{2}(X_{1},X_{2},X_{3}) = ( (X_{1} \vee \neg \neg X_{2})\to$$ $$(X_{3} \sim (X_{1} \downarrow \neg X_{2})))$$
являются формулами. (X1 + X2 + X3)
формулами не являются (почему?).
Для определения
X1
|
X2
|
X3
|
((X1
|
$$\vee$$ | $$\neg$$ | $$\neg$$ | X2)
|
$$\to$$ | (X3
|
~
|
(X1
|
$$\downarrow$$ | $$\neg$$ | X2)))
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
Как мы уже отметили, Дж. Буль ввел
Каждую переменную можно рассматривать как некоторое элементарное
высказывание,
принимающее одно из двух значений: 1 (истина) или 0 (ложь). Сложным
высказываниям сооответствуют формулы, построенные из элементарных
высказываний с помощью логических связок. Вычисляя значения задаваемых
ими функций, можно устанавливать зависимости
Пример 3.1.Пусть известно, что в дорожном проишествии участвовали
три автомобиля с водителями A, B и C.
Свидетели проишествия дали следующие показания:
A виновен, то из остальных B и C хоть один не виновен;C не виновен, то виновен кто-то один из пары A, B но не оба вместе;Опишите показания свидетелей в виде C является виновником проишествия?
Можно ли однозначно определить второго виновника?
Для ответа на эти вопросы введем три переменные, соответствующие следующим
высказываниям: X1
: " виновен A ", X2
: " виновен B " и X3
: " виновен C ". Тогда показания 1-го свидетеля описываются формулой $$\Phi _{1}=(X_{1} \to (\neg X_{2} \vee \neg X_{3}))$$,
показания 2-го свидетеля - $$\Phi _{2}= (\neg X_{3} \to (( X_{1} \vee X_{2}) \wedge \neg (X_{1} \wedge X_{2})))$$,
а 3-го свидетеля - $$\Phi _{3}= ((X_{1} \wedge X_{2})\setminus vee ((X_{1} \wedge X_{3}) \vee ( X_{2} \wedge X_{3})))$$.
Показаниям всех трех свидетелей соответствует
X1
|
X2
|
X3
|
(X1
|
$$\to$$ | $$(\neg$$ | X2
|
$$\vee$$ | $$\neg$$ | X3))
|
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
| 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
X1
|
X2
|
X3
|
$$(\neg$$ | X3
|
$$\to$$ | ((
X1
|
$$\vee$$ | X2)
|
$$\wedge$$ | $$\neg$$ | (X1
|
$$\wedge$$ | X2)))
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
| \ 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
X1
|
X2
|
X3
|
((X1
|
$$\wedge$$ | X2)
|
$$\vee$$ | ((X1
|
$$\wedge$$ | X3)
|
$$\vee$$ | (
X2
|
$$\wedge$$ | X3)))
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
X1
|
X2
|
X3
|
(\Phi1
|
$$\wedge$$ | (\Phi2
|
$$\wedge$$ | \Phi3))
|
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
Из этой (X1=0, X2=1, X3=1)
и (X1=1, X2=0, X3=1)
(строки с этими наборами подчеркнуты).
Поскольку в обоих случаях X3=1
, можно сделать вывод, что С является одним из виновников
проишествия. Однозначно определить второго виновника полученная от свидетелей информация не позволяет,
так как в одном случае им является А, а в другом - В.
Важную роль в логике играют понятия тождественно истинной и выполнимой формулы.
Определение
Как проверить тождественную истинность или выполнимость формулы $$\Phi?$$
На первый взгляд кажется, что ответ прост - построим по $$\Phi$$ 290
превосходит количество атомов во всей видимой
вселенной.
В математической логике построены аксиоматические системы, позволяющие формализовать
человеческие рассуждения о выводимости одних
В теории сложности алгоритмов имеется ряд результатов (они выходят за рамки нашего
курса), которые свидетельствуют о том, что эффективных алгоритмов для проверки выполнимости или тождественной
истинности произвольной
Задача 3.1. Какие подмножества вершин B4
соответствуют следующим
+ - арифметическое сложение);x3x4 = 1
.Задача 3.2. Построить
(X1 +X2 + X3)
четна;X1 совпадает со значением X2 или со значением X3.f4(X1,X2,X3) =
если X1=1
, то X2
, иначе X3
.Задача 3.3. Построить
$$\Psi _{1}= ((X_{1} \to \neg X_{3}) \vee (X_{2} + X_{3}))$$ ;
$$\Psi _{2} =(\neg (X_{1} | X_{2}) ~ (\neg X_{1} \wedge X_{2}))$$ ;
$$\Psi _{3} = ((X_{2} + \neg X_{3}) \wedge ((X_{1} \vee X_{2}) \to (X_{1} \sim \neg X_{3})))$$.
Задача 3.4. Назовем два набора $$\alpha =(\alpha _{1}, \dots , \alpha _{n})\in B^{n}$$ и $$\beta =(\beta _{1}, \dots , \beta _{n})\in B^{n}$$ соседними}, если они находятся в соседних строках n переменных, т.е. представляют двоичные записи чисел $$i_{\alpha }$$ и $$i_{\beta }$$, для которых $$| i_{\alpha } - i_{\beta }| = 1$$.
Найти число функций в $$\codecal{P}_n $$, которые на любой паре соседних наборов принимают
Задача 3.5. Назовем два набора $$\alpha =(\alpha _{1}, \dots , \alpha _{n})\in B^{n}$$ и $$\beta =(\beta _{1}, \dots , \beta _{n})\in B^{n}$$
противоположными}, если для всякого i $$\alpha _{i}= 1 \Leftrightarrow \beta _{i}=0$$ (и, следовательно, $$\alpha _{i}= 0 \Leftrightarrow \beta _{i}=1$$ ).
Найти число функций в $$\codecal{P}_n $$, которые на любой паре противоположных наборов принимают разные значения.
Задача 3.6. Пусть n =2k. Назовем набор $$\alpha =(\alpha _{1}, \dots , \alpha _{n})\in B^{n}$$
парным,} если для любого i=1, ..., k $$\alpha _{i} = \alpha \_ \{ k+i\}$$,т.е. $$\alpha =\alpha ^{\wedge} ' \alpha ^{\wedge}'$$ для некоторого набора $$\alpha ^{\wedge} '$$ размера k.
Найти число функций в $$\codecal{P}_n$$, которые на всех парных Наборах принимают одинаковое значение.
Задача 3.7. A, B и C ошибочна.
Он установил, что
B корректна, то A ошибочна;B, C корректна и хотя бы одна запись из пары A, C корректна;A ошибочна, то хотя одна из записей B, C корректна (но не обе вместе).Опишите знания администратора в виде B ошибочна? Можно ли достоверно утверждать, что ошибочная запись единственна?
Задача 3.8. Программист Петр использовал в своей программе три целочисленные переменные x, y и z. В определенном месте программы он
поместил условный оператор:
IF (x*y >= 0)OR (x*z >= 0) THEN x=1 ELSE x=2;
Проанализировав свою программу, Петр установил, что перед выполнением этого Оператора выполнены следующие условия:
z < 0, то x < 0 или y >= 0 ;x >= 0 или y < 0 ;y < 0, то хотя бы одна из переменных x, z отрицательна, но не обе вместе.Опишите знания Петра в виде x=1 или на
присвоение x=2? Если "да", то на какое?
Задача 3.9. Комитет состоит из пяти членов. Решения принимаются большинством
голосов,
однако, если председатель голосует "против", то решение не принимается.
Постройте формулу, зависящую от 5 переменных X1, X2,X3, X4, Y
( $$X_{i}=1 \Leftrightarrow i$$ -ый член комитета голосует "за", $$Y=1 \Leftrightarrow$$ председатель "за"),
значение которой равно 1 тогда и только тогда, когда в результате голосования
решение принимается.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.