![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Функціонально повні системи
Систему булевих функцій Q називають функціонально повною, якщо довільну булеву функцію можна зобразити формулою над Q Приклад 8.21. Розглянемо деякі повні системи. 1. Як уже було зазначено, система 2. Система { x у, х⊕ у, 1} - повна. Справді, якщо функція f ≠ 0, то зобразимо її поліномом Жегалкіна; якщо f =0, то0=х⊕ х.▲ Очевидно, що не кожна система булевих функцій є повною.Наприклад, система Дослідження повноти одних систем можна звести до дослідження повноти інших систем. Теорема 8.7. Нехай задано дві системи булевих функцій Q ] та Q 2, причому система Q1, функціонально повна і кожну її функцію можна виразити у вигляді формули через функції системи Q 2. Тоді системаQ2 також функціонально повна. Доведення. Нехай f - довільна булева функція. Оскільки система Q 1повна, то функцію f можна виразити формулою F 1, яка містить скінченну кількість функцій системи Q 2.Нехай це будуть функції g 1, g 2, …, gk. За умовою теореми кожна з цих функцій виражається формулою через скінченну кількість функцій системи Q 2, нехай це будуть функції h 1, h 2, …, hl. Тому у формулі F можна усунути входження функцій g 1, g 2,.., gk, замінюючи їх формулами, які містять функції h 1, h 2, …, hl. Тоді одержимо формулу F 2. Отже, функцію f виразили у вигляді формули F 2 через функції h 1, h 2, …, hl системи Q. Оскільки функція f довільна, то система Q 2 функціонально повна. ▲ Приклад 8.22.Продовжимо розгляд функціонально повних систем. 3. Система {х, ху} - повна, бо повною є система 1 іх∨ у= 4. Система 5. Система{х|у} є повною, тому що повною є система 3 і
8.4.2. Замкнені класи Множину К булевих функцій називають замкненим класом, якщо довільна суперпозиція функцій із К знову належить К. Будь-яка системаQбулевих функцій породжує деякий замкнений клас. Цей клас складається з усіх функцій, які можна отримати суперпозиціями функцій ізQ, його називають замиканням Q.ЗамиканняQпозначають[Q].Очевидно, що якщо К - замкнений клас, то[К]=К, а якщоQ - функціонально повна система, то[Q]-Pr Існує п'ять найважливіших замкнених класів: 1) клас Т0 функцій, що зберігають 0; 2) клас Т1 функцій, що зберігають 1; 3) класSсамодвоїстих функцій; 4) клас М монотонних функцій; 5) класLлінійних функцій. Переходимо до вивчення цих класів. Клас T0 функцій, що зберігають 0. Булеву функцію f (x 1, …, xn)називають функцією, яка зберігає 0, якщо f (0,..., 0)=0. Наприклад, функції 0, x 1, x 1 x 2, x 1∨ x 2, x 1⊕ x 2 зберігають 0, тобто належать класу Т0, а функції 1, належать класуT0.Таблиця значень функції ізT0у першому рядку завжди має 0. Отже, в Т0 є Теорема 8.8. Т0 - замкнений клас. Іншими словами, із функцій, що зберігають 0, суперпозицією можна одержати лише функції, що зберігають 0. Доведення. Клас Т0 містить тотожну функцію. Отже, досить довести, що функція зберігає 0, якщо функції f, f 1, f 2, …, fm зберігають 0. Справді, Наслідок. Повна система функцій повинна містити хоча б одну функцію, яка не зберігає 0. Іншими словами, повна система функцій не повинна цілком міститись у замкненому класі Т0. ▲ Клас Т1 функцій, що зберігають 1. Булеву функцію Наприклад, функції 1, x 1, x 1 x 2, x 1∨ x 2, x 1⊕ x 2належить класуТ1, а функції 0, Теорема 8.9. Т1 - замкнений клас. Доведення. Т1 містить тотожну функцію. Отже, достатньо довести, що функція
Наслідок. Повна система функцій повинна містити хоча б одну функцію, яка не зберігає 1. Іншими словами, повна система функцій не повинна цілком міститись у замкненому класі Т1▲ Легко показати, що клас Т 1 має x 1 x 2, x 1∨ x 2, x 1⊕ x 2⊕ x 3 ∈ T 0∩ T 1, a x 1| x 2, x 1↓ x 2∉ T 0∪ T 1. Клас S самодвоїстих функцій.Нагадаємо означення самодвоїстої функції: функцію називають самодвоїстпою, якщо вона двоїста до самої себе: f *= f. Наприклад, функції x1, Булевуфункцію Звідси, зокрема, випливає, що самодвоїста функція повністю визначена своїми значеннями на першій половині наборів. Отже, кількість самодвоїстих функцій від п змінних дорівнює кількостідвійкових наборів довжини Теорема 8.10. Клас S самодвоїстих функцій замкнений. Доведення. Оскільки тотожна функція належить класу S, достатньо довести, що функція самодвоїста, якщо функції f, f 1, f 2, …, fm самодвоїсті. Використовуючи принцип двоїстості, отримаємо:
Наслідок. Повна система булевих функцій повинна містити хоча б одну несамодвоїсту функцію. ▲ Теорема 8.11 (лема про несамодвоїсту функцію). Із несамодвоїстої функції f (x 1, …, xn)підстановкою функцій xта Доведення. Нехай f (x 1, …, xn) ∉ S. Отже, існує принаймні один такий набір За набором Легко переконатись, що ці функції мають властивість Розглянемо функцію Ф (x)= Клас М монотонних функцій. На множині Функцію f (x 1, …, xn) називають монотонною, якщо для будь-яких двійкових наборів Перевірка монотонності функцій безпосередньо за означенням вимагає аналізу таблиці функції і може виявитись досить громіздкою. У багатьох випадках досить легко з'ясувати, що функція немонотонна. Теорема 8.12. Нехай Доведення. Для будь-якого набору Наслідок. Якщо функція f ∈ T 0∩ T 1 і не є константою, то вона немонотонна.▲ Отже, всі монотонні функції, окрім констант 0 та 1, належать T 0∩ T 1.Зауважимо, що існують функції, які належать T 0∩ T 1, але не є монотонними, наприклад, x 1⊕ x 2⊕ x 3. Теорема 8.13. Клас М монотонних функцій замкнений. Доведення. Оскільки тотожна функція належить класуМ, то для доведення замкненості М досить показати, що функція монотонна, якщо функції f, f 1, f 2, …, fm монотонні. Нехай Отже, Наслідок. Повна система булевих функцій повинна містити хоча б одну немонотонну функцію. ▲ Теорема 8.14 (лема про немонотонну функцію). Ізнемонотонної функції підстановкою констант 0, 1 та функції х можна отримати функцію Доведення. Нехай f (x 1,..., хn)∉ М, отже, існує два набори Якщо Підставимо у функцій)/^,..., xjзамість змінних, яким у наборах а" та В" відповідають однакові значення, просто ці значення, а на місце решти £ змінних - функціюх. Тоді отримаємо функцію однієї змінноїg(x).Враховуючи, що Клас Lлінійних функцій.Булеву функцію f (x 1, …, xn)називають лінійною, якщо їїполіном Жегалкіна має вигляд Це поліном першого степеня, або лінійний поліном. Він не має багатомісних кон'юнкцій вигляду хi.хj, хiхjхk тощо. Коефіцієнтиc0, с1,..., сплінійного полінома утворюють довільний набір значень із n +1 нулів та одиниць. Через єдиність полінома Жегалкіна різним наборам коефіцієнтів відповідають різні булеві функції. Отже, є точно 2 n+ 1 лінійних булевих функцій від n змінних. Прикладами лінійних булевих функцій є 0, 1, х, Неважко переконатись, що серед лінійних функцій самодвоїсгими є ті, у яких поліном Жегалкіна містить непарну кількість змінних, а несамодвоїстими ті, у яких поліном Жегалкіна містить парну кількість змінних. Наприклад, функціїx, x⊕ 1, x1⊕ x2⊕ x3- самодвоїсті, а функції x1⊕ x2, x1⊕ x2⊕ 1 -- несамодвоїсті. Серед лінійних функцій монотонними є лише 0, 1, x. Теорема 8.15.Класі L лінійних функцій замкнений. Доведення. МножинаLусіх лінійних функцій є замкненим класом, оскільки підстановка формул вигляду Наслідок. Повна система булевих функцій повинна містити хоча б одну нелінійну функцію. ▲ Теорема 8.16(лема про нелінійну функцію). Якщо функція Доведення. Нехайf∉ L.Тоді її поліном Жегалкіна містить кон'юнкції змінних. Виберемо серед них кон'юнкцію найменшого рангу, нехай це буде Надамо значення Розглянемо функцію Отже, Цю функцію отримано суперпозицією констант 0 il, заперечення 8.4.3. Критерій функціональної повноти системи булевих функцій Перейдемо безпосередньо до критерію функціональної повноти, який дає теорема про функціональну повноту, доведена Е. Постом (Е. Post) 1921 p. Теорема 8.17. Для того, щоб система булевих функційQбула функціонально повною, необхідно й достатньо, щоб вона містила 1) функцію, яка не зберігає 0; 2) функцію, яка не зберігає 1; 3) несамодвоїсту функцію; 4) немонотонну функцію; 5) нелінійну функцію. Іншими словами, для повноти системиQнеобхідно й достатньо, щоб для можного з п'яти замкнених класівT0, T1S, М, Lвона містила функцію, яка цьому класу не належить.. Доведення. Необхідність. Вона випливає із замкненості кожного з п'яти розглянутих класів (наслідки з теорем 8.8, 8.9, 8.10, 8.13, 8.15). Достатність. Уведемо позначення для функцій із системиQ: fi - функція, яка не зберігає 0; fj-функція, яка не зберігає 1; fk - несамодвоїста функція; fm - немонотонна функція; fl - нелінійна функція. Доведення виконаємо в 2 етапи. Перший етап. На цьому етапі одержимо константи 0 та 1. Розглянемо функцію fi (не зберігає 0): fi (0,..., 0)=1. Можливі два випадки. 1) fi (1,..., 1)=1, тоді функція Із функції fi (не зберігає 1) у цьому випадку можна одержати константу 0, тому що 2) Із несамодвоїстої функції fk і побудованої функції за лемою про несамодвоїсту функцію (теорема 8.11) одержимо константу. Другу константу одержимо, використовуючи Другий етап. Використовуючи константи 0, 1 і немонотонну функцію fm за лемою про немонотонну функцію (теорема 8.14) одержимо. Далі, використовуючи константи 0, 1 і функції Отже, через функції системи Q виразили Для перевірки виконання для деякої скінченної системи функцій { f 1, …, fq } умов теореми Поста складають таблицю, яку називають таблицею Поста. Рядки цієї таблиці позначено функціями системи, а стовпці - назвами п'яти основних замкнених класів. У клітках таблиці Поста ставлять знак " +" або " -" залежно від того, належить чи не належить функція замкненому класу. Для повноти системи функцій необхідно й достатньо, щоб у кожному стовпчику таблиці Поста був хоча б один " -" (мінус). Приклад 8, 23.Дослідимо, чи є функціонально повною система {х→ у, 0}. Побудувавши таблицю Поста (табл. 8.6), переконуємося, що ця система є функціонально повною. ▲ Таблиця 8.6
Мінімальну повну систему функцій (тобто таку повну систему функцій, вилучення із якої довільної функції робить систему неповною) називають базисом. Із теореми Поста випливає, що базис не може містити більше п'яти функцій. Насправді, відомий точніший результат. Теорема 8.18. Максимальна кількість функцій базису дорівнює 4. Доведення. Функція fi ∉ Т0або несамодвоїста: fi (0,..., 0)= fi (1,..1)=1 (випадок 1 доведення теореми 8.17), або не зберігає 1 і немонотонна (випадок 2 доведення теореми 8.17). Отже, повною буде або система { fi, fj, fm, fl }, або система { fi, fk, fl }. Константу 4 у цій теоремі не можна понизити. Система з чотирьох функцій { f 1, f 2, f 3, f 4}, де f 1=0, f 2=2, f 3 =x1x2,
|