Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Поліном Жегалкіна
Елементарну кон'юнкцію називають монотонною, якщо вона не містить заперечень змінних. Наприклад, x1x2x3, x1, 1-монотонні кон'юнкції. Формулу деk1k2,..., ks- попарно різні монотонні кон'юнкції змінних із множиниX={x1х2, …, хn }, називають поліномом Жегалкіна. Найбільший із рангів елементарних кон'юнкцій, що входять у поліном, називають степенем полінома. За окремим означенням 0 вважатимемо поліномом Жегалкіна. Приклад 8.17. Формули х, 1, xyz xy z 1- поліноми Жегалкіна, ахх, xyz xy z 1не є поліномами Жегалкіна. ▲ Якщо маємо будь-яку формулу алгебри Жегалкіна, то для отримання полінома Жегалкіна достатньо розкрити дужки (дистрибутивний закон), скористатися, якщо можливо, законом ідемпотентності для кон'юнкції та звести подібні члени. Теорема 8.5. Будь-яку булеву функцію можна єдиним способом зобразити у формі полінома Жегалкіна. Доведення. Нехай - довільна булева функція. Достатньо провести доведення для функцій, відмінних від констант, тому що 1 та 0 є поліномами Жегалкіна. Задамо функцію f досконалою диз'юнктивною нормальною формою, тобто деякою диз'юнкцією конституент одиниціf=K1∨ К2∨...∨ Ks.Замінемо знак ∨ знаком ⊕ і одержимоg= K1⊕ К2⊕...⊕ Ks. Покажемо, що функціїfта g рівні. На жодному наборі (а1,..., an) значень змінних дві різні конституенти одиниці не можуть одночасно перетворитись в 1, оскільки i -а конституента одиниці перетворюється в 1 лише на i -му наборі. Отже, під час обчислення значень функцій f та g потрібно знайти значення диз'юнкції або, відповідно, суми за mod2 членів, із яких лише один може дорівнювати одиниці, решта - обов'язково нулі. Але у такому випадку диз'юнкція та додавання за mod2 призводять до одного й того ж результату (до нуля, якщо всі члени дорівнюють нулю, і до одиниці, якщо один і лише один член дорівнює одиниці). Вотриманій формулі замінимо всі заперечення змінних згідно з тотожністю х = 1⨁ х. Одержимо формулу алгебри Жегалкіна. Залишається лише розкрити дужки, скористатись законом ідемпотентності для кон'юнкції та привести подібні члени. Внаслідок цього одержимо зображення булевої функції f у формі полінома Жегалкіна. Доведемо, що тaке зображення єдине. Для цього підрахуємо кількість поліномів Жегалкіна від п змінних х1 х2,..., хп. Кількість кон'юнкцій вигляду дорівнює кількості підмножин { i 1 і2, …, is) множини {1, 2,..., n }, тобто2n.Кожна з цих кон'юнкцій може входити в поліном із коефіцієнтом 0 або 1. Отже, кількість поліномів Жегалкіна від п змінних дорівнює кількості кортежів довжини 2 n елементами яких є 0 або 1, тобто , що дорівнює кількості всіх булевих функційвід змінних x1, x2, …, xn. А оскільки доведено, щобудь-яку булеву функцію можна зобразити поліномом Жегалкіна, то звідси випливає єдиність цього зображення. ▲ Коротко зупинимось на методах побудови полінома Жегалкіна. Побудова полінома Жегалкіна методом невизначених коефіцієнтів. Для функції записують найбільш загальний вигляд полінома Жегалкіна з невизначеиими коефіцієнтами(цих коефіцієнтів є 2 n). Для кожного двійкового набору (a 1, …, an) значень змінних записують рівняння .Одержують систему 2 n рівнянь. Розв'язком цієї системи є коефіцієнти полінома . Приклад 8.18. Побудуємо поліном Жегалкіна для функції f (x, y)= x ∽ y. Загальний вигляд полінома від двох змінних з невизначеними коефіцієнтами такий: Прирівняємо значення функції і полінома на всіх чотирьох наборах значень змінних і одержимо систему рівнянь відносно невизначених коефіцієнтів: Звідси визначаємо с 0=1, с1=1, с2=1, с3=0. Отже, x∽ y= 1⨁ x ⨁ y. ▲ Побудова полінома Жегалкіна на основі тотожних перетворень. Один із способів побудови полінома Жегалкіна полягає у наступному. Спочатку будують рівносильну формулу, в якій є лише операції кон'юнкції та заперечення, а потім замінюють всюди на1⨁ х. Після цього поліном одержують тривіальним шляхом. Приклад 8.19.Побудуємо поліном Жегалкіна для функції : . ▲ Побудова полінома Жегалкіна за досконалою ДНФ булевої функції. Цю побудову здійснюють за схемою доведення теореми 8.5. Такий спосіб доцільно застосовувати, коли функція задана досконалою ДНФ, або якщо цю форму легко знайти. Приклад 8.20.Побудуємо зазначеним методом поліном Жегалкіна для функції . Спочатку перетворимо цю ДНФ у досконалу: Повторюючи схему доведення теореми 8.5, матимемо .▲ Поліном Жегалкіна має цікаву властивість, зручну для знаходження істотних змінних булевої функції. Теорема 8.6.Булевафункція має істотними всі змінні, які входять у її поліном Жегалкіна. Доведення. Нехай змінна х, входить у поліном Жегалкіна функції f (x1, х2,..., хп). Згрупуємо члени, які містятьх1, і винесемо х1 за дужки: Функція оскільки у протилежному випадку змінна х 1 не входила б у поліном для функції f (через єдиність полінома Жегалкіна). Нехай на наборі (а 2,..., аn) значення функції f 1 дорівнює одиниці. Тоді , де . Отже, зміна значення х 1 у разі, коли значення решти змінних задані набором (а 2,..., аn), змінює значення функції . Отже, змінна х1 істотна. ▲
|