6.8 KiB
Линейные функции. Замкнутость класса 𝐿. Сокращённая ДНФ линейной функции. Лемма о нелинейной функции
Линейные функции
- Линейная функция (класс L) - функция, которая может быть представлена формулой
a_0 \oplus a_1x_1 \oplus a_2x_2 \oplus \dots \oplus a_nx_n
, гдеa_i
- коэф., равные 1 или 0 - Общий вид линейной функции – это частный случай 1 курс/2 семестр/Дискретка/Билеты/6#Полином Жегалкина: в нём нет произведений переменных.
Примеры
- 0
- 1
- x
\bar x = x \oplus 1
Замкнутость класса 𝐿
Теорема
Класс 𝐿 замкнут.
Доказательство
Пусть f(x_1, x_2, \dots, x_n) \in L
и g(y_1, y_2, \dots, y_m) \in L
Рассмотрим h = f(x_1, x_2, \dots, x_{n-1}, g(x_1, y_2, \dots, y_m), x_{k+1}, \dots, x_n)
Пусть
f = a_0 \oplus a_1x_1 \oplus a_2x_2 \oplus \dots \oplus a_nx_n
,
g = b_0 \oplus b_1y_1 \oplus b_2y_2 \oplus \dots \oplus b_ny_n
,
тогда h =
= a_0 \oplus a_1x_1 \oplus a_2x_2 \oplus \dots \oplus a_{n-1}x_{n-1} \oplus a_ng(y_1, y_2, \dots, y_m) =
= a_0 \oplus a_1x_1 \oplus a_2x_2 \oplus \dots \oplus a_{n-1}x_{n-1} \oplus a_n(b_0 \oplus b_1y_1 \oplus b_2y_2 \oplus \dots \oplus b_ny_n) =
= a_0 \oplus a_1x_1 \oplus a_2x_2 \oplus \dots \oplus a_{n-1}x_{n-1} \oplus a_nb_o \oplus a_nb_1y_1 \oplus a_nb_2y_2 \oplus \dots \oplus a_nb_ny_n \in L
Сокращённая ДНФ линейной функции
Теорема
1 курс/2 семестр/Дискретка/Билеты/4#Сокращённая ДНФ любой линейной функции совпадает с 1 курс/2 семестр/Дискретка/Билеты/3#^809b89, построенной на её существенных переменных.
Доказательство
Пусть f \in L
, значит можно записать формулой f(x_{i_1}, x_{i_2}, \dots, x_{i_k}) = x_{i_1} \oplus x_{i_2} \oplus \dots \oplus x_{i_k} \oplus \alpha_0
, где \alpha_o \in \{0, 1\}
, а x_{i_1}..x_{i_k}
- все существенные переменные f
Рассмотрим 1 курс/2 семестр/Дискретка/Билеты/4#Импликанта A = x^{\alpha_1}_{i_2} x^{\alpha_2}_{i_2} \dots x^{a_k}_{i_k}
функции f (очевидно, входящую в СДНФ)
Пусть A'
- элементарная конъюнкция отличная от A ровно в одной позиции. НУО, можно предположить, A' = x^{\overline{\alpha_1}}_{i_1} x^{\alpha_2}_{i_2} \dots x^{a_k}_{i_k}
Т.к. A - импликанта f, то f(\alpha_1, \alpha_2, \dots, \alpha_k) = \alpha_1 \oplus \alpha_2 \oplus \dots \oplus \alpha_k \oplus \alpha_0 = 1
Но тогда f(\overline{\alpha_1}, \alpha_2, \dots, \alpha_k) = \overline{\alpha_1} \oplus \alpha_2 \oplus \dots \oplus \alpha_k \oplus \alpha_0 = \alpha_1
==$\oplus 1$== \oplus \alpha_2 \oplus \dots \oplus \alpha_k \oplus \alpha_0 = 1 \oplus 1 = 0
Т.е. A'
не является импликантой f. Таким образом, любые 2 импликанты, входящие в СДНФ функции f, отличаются не менее, чем в 2х позициях и, следовательно, являются простыми
Т.е. сокращённая ДНФ совпадает с СДНФ
Лемма о нелинейной функции
Лемма
Если функция 𝑓 нелинейна, то функция 𝑥𝑦 является суперпозицией функций f, 0, 1
и \bar x
. То есть если f \notin L
, то xy \in [\{f, 0, 1, \bar x\}]
.
Доказательство
Пусть f(x_1, x_2, \dots, x_n) \notin L
, тогда в 1 курс/2 семестр/Дискретка/Билеты/6#Полином Жегалкина этой функции входит конъюнкция каких-нибудь переменных. НУО, предположим, что это конъюнкция x_1
и x_2
Вынесем x_1x_2
за скобку, тогда в скобках останется полином остальных переменных. Обозначим p_{1,2}(x_3, \dots, x_n)
В оставшийся части выражения вынесем отдельные x_1
и x_2
за скобку. Полиномы в скобках обозначим p_1(x_3, \dots, x_n)
и p_2(x_3, \dots, x_n)
соответственно
Все слагаемые без x_1
и x_2
тоже образуют полином - p_0(x_3, \dots, x_n)
Итак, f(x_1, x_2, \dots, x_n) = x_1x_2p_{1,2}(x_3, \dots, x_n) \oplus x_1p_1(x_3, \dots, x_n) \oplus x_2p_2(x_3, \dots, x_n) \oplus p_0(x_3, \dots, x_n)
p_{1,2}(x_3, \dots, x_n) \neq 0
, иначе f эквивалентна полиному без x_1x_2
, что противоречит 1 курс/2 семестр/Дискретка/Билеты/6#Единственность полинома Жегалкина
Таким образом, существуют такие \alpha_3, \dots, \alpha_n
, что p_{1,2}(\alpha_3, \dots, \alpha_n) = 1
Пусть p_1(\alpha_3, \dots, \alpha_n) = \alpha_1
, p_2(\alpha_3, \dots, \alpha_n) = \alpha_2
, p_0(\alpha_3, \dots, \alpha_n) = \alpha_0
Подставим \alpha_3, \dots, \alpha_n
в f вместо x_3, \dots, x_n
:
f(x_1, x_2, \alpha_3, \dots, \alpha_n) = x_1x_2 \oplus x_1\alpha_1 \oplus x_2\alpha_2 \oplus \alpha_0
Теперь подставим вместо x_1
функцию x \oplus \alpha_2
, вместо x_2
- y \oplus \alpha_1
:
f(x \oplus \alpha_2, y \oplus \alpha_1, \alpha_3, \dots, \alpha_n) =
= (x \oplus \alpha_2)(y \oplus \alpha_1) \oplus (x \oplus \alpha_2)\alpha_1 \oplus (y \oplus \alpha_1)\alpha_2 \oplus \alpha_0 =
= xy \oplus \alpha_2y \oplus \alpha_1x \oplus \alpha_1\alpha_2 \oplus \alpha_1x \oplus \alpha_1\alpha_2 \oplus \alpha_2y \oplus \alpha_1\alpha_2 \oplus \alpha_0 =
= xy \oplus \alpha_1\alpha_2 \oplus \alpha_0
Введём функцию h(x, y) = f(x \oplus \alpha_2, y \oplus \alpha_1, \alpha_3, \dots, \alpha_n) \oplus \alpha_1\alpha_2 \oplus \alpha_0
h(x, y) = xy
Прибавление констант эквивалентно отрицанию или тождественной функции, следовательно, xy = h(x, y) \in [\{f, 0, 1, \bar x\}]