Участник:Fad Oleg — различия между версиями
Fad Oleg (обсуждение | вклад) м (→Теоремы о числе функций в базисе) |
Fad Oleg (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| + | == Представление функции формулой == | ||
| + | |||
| + | {{Определение | ||
| + | |definition= | ||
| + | Если выбрать некоторый набор [[Определение булевой функции|булевых функций]] <tex>A</tex>, то с использованием выбранных функций можно записать некоторые другие булевы функции. Такая запись булевой функции называется '''формулой'''. | ||
| + | }} | ||
| + | Например, если <tex>A = \left\{\land,\neg\right\}</tex>, то функция <tex>a \lor b</tex> представляется в виде <tex>\neg(\neg a \land \neg b)</tex> | ||
| + | |||
| + | ==Тождественные функции. Выражение функций друг через друга.== | ||
| + | |||
| + | {{Определение | ||
| + | |definition = '''Тождественные функции''' — функции, которые при любых одинаковых аргументах принимают равные значения. | ||
| + | }} | ||
| + | |||
| + | Приведение тождественной функции есть '''выражение булевой функции через другие'''. | ||
| + | |||
| + | '''Примеры выражения функций через функции <tex>\{\land, \lor, \lnot \} </tex>.''' | ||
| + | |||
| + | <tex> x \oplus y = \left ( x \land \lnot y \right ) \lor \left ( \lnot x \land y \right ) = \left ( x \lor \lnot y \right ) \land \left ( \lnot x \lor y \right )</tex> | ||
| + | |||
| + | <tex> x \downarrow y = \lnot \left ( x \lor y \right) = \lnot x \land \lnot y</tex> | ||
| + | |||
| + | <tex>\langle x, y, z \rangle = \left ( x \land y \right ) \lor \left ( y \land z \right ) \lor \left ( x \land z \right ) = \left ( x \lor y \right ) \land \left ( y \lor z \right ) \land \left ( x \lor z \right )</tex> | ||
| + | |||
| + | == Подстановка одной функции в другую == | ||
| + | |||
| + | {{Определение | ||
| + | |definition = | ||
| + | '''Подстановкой''' (англ. ''substitution'') функции <tex>g</tex> в функцию <tex>f</tex> называется замена <tex>i</tex>-того аргумента функции <tex>f</tex> значением функции <tex>g</tex>: | ||
| + | |||
| + | <center><tex>h(x_{1}, \ldots, x_{n+m-1}) = f(x_{1}, \ldots, x_{i-1}, g(x_{i}, \ldots, x_{i+m-1}), x_{i+m}, \ldots, x_{n+m-1})</tex></center> | ||
| + | }} | ||
| + | |||
| + | Допускается также не только подстановка одной функции в другую, но и подстановка функции в саму себя. | ||
| + | |||
| + | При подстановке функции <tex>g</tex> вместо <tex>i</tex>-того аргумента функции <tex>f</tex>, результирующая функция <tex>h</tex> будет принимать аргументы, которые можно разделить на следующие блоки: | ||
| + | |||
| + | {| | ||
| + | |1. <tex> x_{1}, \ldots, x_{i-1}</tex> | ||
| + | |{{---}} аргументы функции <tex>f</tex> до подставленного значения функции <tex>g</tex> | ||
| + | |- | ||
| + | |2. <tex> x_{i}, \ldots, x_{i+m-1} </tex> | ||
| + | |{{---}} используются как аргументы для вычисления значения функции <tex>g(y_{1}, \ldots, y_{m})</tex> | ||
| + | |- | ||
| + | |3. <tex> x_{i+m}, \ldots, x_{n+m-1} </tex> | ||
| + | |{{---}} аргументы функции <tex>f</tex> после подставленного значения функции <tex>g</tex> | ||
| + | |} | ||
| + | |||
| + | '''Пример:''' | ||
| + | |||
| + | Исходные функции: | ||
| + | #<tex> f(a,b) = a \vee b </tex> | ||
| + | #<tex> g(a) = \neg a </tex> | ||
| + | |||
| + | <tex> h(a,b) = f(a,g(b)) = a \vee \neg b </tex> {{---}} подстановка функции <tex>g</tex> вместо второго аргумента функции <tex>f</tex>. В данном примере при помощи подстановки мы получили функцию <tex>h(a,b)=a \leftarrow b</tex>. | ||
| + | |||
| + | == Отождествление переменных == | ||
| + | {{Определение | ||
| + | |definition= | ||
| + | '''Отождествлением переменных''' (англ. ''identification of variables'') называется подстановка <tex>i</tex>-того аргумента функции <tex>f</tex> вместо <tex>j</tex>-того аргумента: | ||
| + | |||
| + | <center><tex>h(x_{1}, \ldots, x_{j-1}, x_{j+1}, \ldots, x_{n}) = f(x_{1}, \ldots, x_{i}, \ldots, x_{j-1}, x_{i}, x_{j+1}, \ldots, x_{n})</tex></center> | ||
| + | }} | ||
| + | |||
| + | Таким образом, при отождествлении <tex>c</tex> переменных мы получаем функцию <tex>h</tex> с количеством аргументов <tex>n-c+1</tex>. | ||
| + | |||
| + | '''Пример:''' | ||
| + | |||
| + | <tex> f(a,b) = a \vee b </tex> {{---}} исходная функция | ||
| + | |||
| + | <tex> h(a) = a \vee a </tex> {{---}} функция с отождествленными первым и вторым аргументами | ||
| + | |||
| + | Очевидно, в данном примере мы получили функцию <tex>P_{1}</tex> {{---}} проектор единственного аргумента. | ||
| + | |||
==Стандартный базис== | ==Стандартный базис== | ||
| Строка 7: | Строка 81: | ||
}} | }} | ||
| − | Если рассматривать множество бинарных булевых функций <tex>P_2(2)</tex>, то для выражения любой булевой функции через стандартный базис достаточно выразить тождественные функции | + | Если рассматривать множество бинарных булевых функций <tex>P_2(2)</tex>, то для выражения любой булевой функции данного множества (кроме стрелки Пирса и штриха Шеффера) через стандартный базис достаточно выразить тождественные функции для эквиваленции, импликации и константы <tex> 0 </tex> с использованием функций, принадлежащих стандартному базису, т. к. все остальные операции можно выразить через данные 3 функции с помощью отрицания: |
<tex> x \leftrightarrow y = \left ( x \rightarrow y \right ) \land \left ( y \rightarrow x \right ) </tex> | <tex> x \leftrightarrow y = \left ( x \rightarrow y \right ) \land \left ( y \rightarrow x \right ) </tex> | ||
| Строка 14: | Строка 88: | ||
<tex> 0 = x \land \lnot x </tex> | <tex> 0 = x \land \lnot x </tex> | ||
| + | |||
| + | Функции <tex> \mid \ и \downarrow</tex> являются отрицаниями функций <tex> \land \ и \ \lor</tex> соответственно. | ||
| + | |||
| + | <tex> x \mid y = \lnot \left ( x \land y \right )</tex> | ||
| + | |||
| + | <tex> x \downarrow y = \lnot \left ( x \lor y \right )</tex> | ||
Тождественность функций можно доказать с помощью таблицы истинности. | Тождественность функций можно доказать с помощью таблицы истинности. | ||
| Строка 19: | Строка 99: | ||
'''Пример:''' | '''Пример:''' | ||
| − | + | Выразим через стандартный базис обратную импликацию <tex> \left (x \leftarrow y \right ) </tex>. | |
<tex>x \leftarrow y = \lnot x \rightarrow \lnot y = x \lor \lnot y </tex> | <tex>x \leftarrow y = \lnot x \rightarrow \lnot y = x \lor \lnot y </tex> | ||
| Строка 46: | Строка 126: | ||
==Теоремы о числе функций в базисе== | ==Теоремы о числе функций в базисе== | ||
{{Теорема | {{Теорема | ||
| − | |statement = Максимально возможное число булевых функций в базисе — четыре. | + | |statement = Максимально возможное число булевых функций в безызбыточном базисе — четыре. |
|proof = Рассмотрим произвольный безызбыточный базис <tex> X</tex>. Тогда по [[Полные системы функций. Теорема Поста о полной системе функций|теореме Поста]] <tex>X</tex> содержит следующие функции (не обязательно различные): | |proof = Рассмотрим произвольный безызбыточный базис <tex> X</tex>. Тогда по [[Полные системы функций. Теорема Поста о полной системе функций|теореме Поста]] <tex>X</tex> содержит следующие функции (не обязательно различные): | ||
Версия 15:43, 26 июня 2021
Содержание
Представление функции формулой
| Определение: |
| Если выбрать некоторый набор булевых функций , то с использованием выбранных функций можно записать некоторые другие булевы функции. Такая запись булевой функции называется формулой. |
Например, если , то функция представляется в виде
Тождественные функции. Выражение функций друг через друга.
| Определение: |
| Тождественные функции — функции, которые при любых одинаковых аргументах принимают равные значения. |
Приведение тождественной функции есть выражение булевой функции через другие.
Примеры выражения функций через функции .
Подстановка одной функции в другую
| Определение: |
| Подстановкой (англ. substitution) функции в функцию называется замена -того аргумента функции значением функции :
|
Допускается также не только подстановка одной функции в другую, но и подстановка функции в саму себя.
При подстановке функции вместо -того аргумента функции , результирующая функция будет принимать аргументы, которые можно разделить на следующие блоки:
| 1. | — аргументы функции до подставленного значения функции |
| 2. | — используются как аргументы для вычисления значения функции |
| 3. | — аргументы функции после подставленного значения функции |
Пример:
Исходные функции:
— подстановка функции вместо второго аргумента функции . В данном примере при помощи подстановки мы получили функцию .
Отождествление переменных
| Определение: |
| Отождествлением переменных (англ. identification of variables) называется подстановка -того аргумента функции вместо -того аргумента:
|
Таким образом, при отождествлении переменных мы получаем функцию с количеством аргументов .
Пример:
— исходная функция
— функция с отождествленными первым и вторым аргументами
Очевидно, в данном примере мы получили функцию — проектор единственного аргумента.
Стандартный базис
| Определение: |
| Стандартный базис — система булевых функций: |
Если рассматривать множество бинарных булевых функций , то для выражения любой булевой функции данного множества (кроме стрелки Пирса и штриха Шеффера) через стандартный базис достаточно выразить тождественные функции для эквиваленции, импликации и константы с использованием функций, принадлежащих стандартному базису, т. к. все остальные операции можно выразить через данные 3 функции с помощью отрицания:
Функции являются отрицаниями функций соответственно.
Тождественность функций можно доказать с помощью таблицы истинности.
Пример:
Выразим через стандартный базис обратную импликацию .
Полнота стандартного базиса
| Утверждение: |
Стандартный базис является полной системой булевых функций |
| Данное утверждение - следствие теоремы об СДНФ. Если рассмотреть функцию, не равную тождественному нулю, то она представима в виде СДНФ, в которой используются функции стандартного базиса. Способ выражения тождественного нуля через функции стандартного базиса уже был описан выше. |
Замечание:
Следовательно, стандартный базис является избыточным, в то время как безызбыточными являются подмножества системы:
(конъюнктивный базис Буля)
(дизъюнктивный базис Буля)
Теоремы о числе функций в базисе
| Теорема: |
Максимально возможное число булевых функций в безызбыточном базисе — четыре. |
| Доказательство: |
|
Рассмотрим произвольный безызбыточный базис . Тогда по теореме Поста содержит следующие функции (не обязательно различные): , где — классы Поста. Значит, так как — безызбыточный базис, а система — полная, то Рассмотрим . Возможны два случая: 1. , тогда также не сохраняет единицу и немонотонная, т.е. . Значит, . 2. , тогда несамодвойственная, т.е. . Значит, . |
| Теорема: |
Для любого числа найдётся базис , что . |
| Доказательство: |
|
Приведём примеры базисов для каждого : ; ; ; ; Докажем, что последняя система является базисом: ; ; ; (доказывается с помощью таблицы истинности). |
Источники
Полные системы булевых функций — Википедия
Категория: Дискретная математика и алгоритмы
Категория: Булевы функции