Добавил:
владимир Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дискра / к_экзамену / 1_Temy_3-7.docx
Скачиваний:
0
Добавлен:
17.08.2025
Размер:
5.14 Mб
Скачать

Тема 6. Классы Поста и замыкание.

Функции, сохраняющие 0. Функции, сохраняющие 1.

Говорят, что булева функция сохраняет 0, если 𝑓(0,0, . . . ,0) = 0.

Говорят, что булева функция сохраняет 1, если 𝑓(1,1, . . . ,1) = 1.

Обозначим через 𝑻0 (𝑻1) множество всех булевых функций, сохраняющих 0 (1), а через 𝑻0(𝑛) (𝑻1 (𝑛)) множество функций от 𝑛 переменных, сохраняющих 0 (1).

Самодвойственные функции.

Булева функция называется самодвойственной, если она равна двойственной к ней, т.е. на любом наборе (𝛼1,..., 𝛼n) значений переменных (𝑥1,..., 𝑥n) выполняется равенство 𝑓(𝛼1,..., 𝛼n) = .

Обозначим через 𝑺 множество всех самодвойственных функций, а через 𝑺(𝑛) множество самодвойственных функций от 𝑛 переменных.

Монотонные функции.

Если для любого 𝑖 𝛼i ≤ 𝛽i (𝑖 = 1,2,..., 𝑛), то говорят, что вектор = (𝛼1, 𝛼2,..., 𝛼n) предшествует вектору = (𝛽1, 𝛽2,..., 𝛽n), и пишут ≺̱ .

Заметим, что если номер вектора меньше номера вектора (и, значит, в таблице истинности стоит выше ), то это еще не значит, что предшествует . Чтобы выяснить, предшествует ли один вектор другому, нужно, согласно определению, сравнить их координаты (первую с первой, вторую со второй и т.д.).

Если имеет место хотя бы одно из соотношений ≺̱ или ≺̱ , то и называют сравнимыми.

Опр. Булева функция 𝑓 называется монотонной, если для любых наборов и значений переменных, таких что ≺̱ , выполняется неравенство 𝑓( ) ≤ 𝑓( ).

Обозначим через 𝑴 множество всех монотонных функций, а через 𝑴(𝑛) множество монотонных функций от 𝑛 переменных.

Чтобы убедиться в немонотонности функции, достаточно найти два булевых вектора и , такие что ≺̱ , а 𝑓( ) > 𝑓( ). Для вывода о монотонности нужно сравнить значения функции на всех парах сравнимых векторов.

Линейные функции.

Опр. Булева функция называется линейной, если ее полином Жегалкина имеет степень 0 или 1.

Иначе говоря, функция линейна, если ее можно представить формулой вида

𝑓 = 𝑏0 ⊕ 𝑏1 𝑥1 ⊕ 𝑏2𝑥2 ⊕. . .⊕ 𝑏n𝑥n.

Обозначим через 𝑳 множество всех линейных булевых функций, через 𝑳(𝑛) - множество линейных функций от 𝑛 переменных

Классы Поста.

Множества функций 𝑻0, 𝑻1, 𝑺, 𝑴, 𝑳 называют классами Поста.

Замыкание системы булевых функций.

Замыкание [𝔅] системы булевых функций 𝔅 - это множество всех функций, которые можно задать формулами над 𝔅.

Заметим что термин «система» используется в дискретной математике как синоним слова «множество».

Пример 12.

а) Пусть 𝔅 = {1, 𝑥}, тогда [𝔅] = {0,1, 𝑥, 𝑥̄ }.

б) Замыканием системы 𝔅 = {∧,∨, ¬} является множество всех булевых функций 𝑃2, поскольку любая булева функция представима в виде СДНФ или СКНФ.

в) Замыканием системы 𝔅 = {0,1,∧,⊕} является множество всех булевых функций 𝑃2, поскольку любая булева функция представима в виде полинома Жегалкина.

Опр. Система функций 𝕭 называется замкнутой, если [𝕭] = 𝕭.

Классы Поста 𝑻0, 𝑻1, 𝑺, 𝑴, 𝑳 являются замкнутыми множествами.

Тема 7. Полнота системы булевых функций.

Понятие полной системы.

Опр. Множество булевых функций 𝔅 = {𝑓1, 𝑓2,..., 𝑓m,...} называется полной системой, если любая булева функция может быть задана формулой над 𝔅.

Пример 1.

а) {∧,∨, ¬} - полная система, поскольку любая булева функция представима в виде СДНФ или СКНФ.

б) {0,1,∧,⊕} - полная система, поскольку любая булева функция представима в виде полинома Жегалкина.

в) {𝑥, 𝑥 ∧ 𝑦} - полная система, поскольку любую булеву функцию можно сначала выразить формулой над {∧,∨, ¬}, а затем заменить в этой формуле все дизъюнкции формулой 𝑥 ∨ 𝑦 = 𝑥 ∧ 𝑦. В итоге получится формула над {𝑥, 𝑥 ∧ 𝑦}.

Теорема о полноте двух систем.

Пусть заданы две системы булевых функций: 𝔅1 = {𝑓1, 𝑓2, ...} и 𝔅2 = {𝑔1, 𝑔2, ...}. Тогда, если система 𝔅1 - полная и каждая ее функция может быть задана формулой над 𝔅2, то система 𝔅2 тоже полная.

Лемма о функции, сохраняющей 0.

Пусть 𝑓 ∉ 𝑻0. Тогда формулой над множеством {𝑓} можно задать либо константу 1, либо отрицание.

Лемма о функции, сохраняющей 1.

Пусть 𝑓 ∉ 𝑻1. Тогда формулой над множеством {𝑓} можно задать либо константу 0, либо отрицание.

Лемма о самодвойственной функции.

Пусть 𝑓(𝑥1, 𝑥2, ..., 𝑥n) - несамодвойственная функция. Тогда формулой над множеством {𝑓,  ¬} можно задать константы 0 и 1.

Лемма о монотонной функции.

Пусть 𝑓(𝑥1, 𝑥2, ..., 𝑥n) - немонотонная функция. Тогда формулой над множеством {𝑓, 0,1} можно задать отрицание.

Лемма о нелинейной функции.

Пусть 𝑓 ∉ 𝑳. Тогда формулой над множеством {𝑓, 0,1, } можно задать конъюнкцию.

Критерий полноты системы булевых функций (теорема Поста).

Для того чтобы система функций 𝔅 = {𝑓1, ..., 𝑓k } была полна, необходимо и достаточно, чтобы для каждого из классов Поста в 𝔅 нашлась функция 𝑓i, ему не принадлежащая.

Базисы.

Опр. Полная система функций называется базисом, если после удаления из нее любой функции получается неполная система.

Соседние файлы в папке к_экзамену