Побудова таблиці істинності. ДДНФ. ДКНФ. Поліном Жегалкіна.

Онлайн калькулятор дозволяє швидко будувати таблицю істинності для довільної булевої функції або її вектора, розраховувати досконалу диз'юнктивну та досконалу кон'юнктивну нормальні форми, знаходити уявлення функції у вигляді полінома Жегалкіна, будувати карту Карно та класифікувати функцію за класами Посту.

Калькулятор таблиці істинності. ДДНФ. ДКНФ. Поліном Жегалкіна

введіть функцію або її вектор (не більше 8 змінних!)

Приховати клавіатуру
¬

0
1
a
b
c
x
y
z

(
)
X1
X2
X3
X4
X5
X6

Показати налаштування
Побудувати

Як користуватися калькулятором

  1. Введіть логічну функцію (наприклад, x1 ∨ x2) або її вектор (наприклад, 10110101)
  2. Вкажіть дії, які потрібно виконати за допомогою перемикачів
  3. Вкажіть, чи потрібно включити перемикач "З рішенням"
  4. Натисніть кнопку "Побудувати"

Символи, що використовуються

В якості змінних використовуються літери латинського та російського алфавітів (великі та маленькі), а також цифри, написані після літери (індекс змінної). Таким чином, іменами змінних будуть: a, x, a1, B, X, X1, Y1, A123 і так далі.

Для запису логічних операцій можна використовувати як звичайні символи клавіатури (*, +, !, ^, ->, =), так і традиційні символи логіки, (, , ¬, , , ). Якщо на вашій клавіатурі відсутній потрібний символ операції, то використовуйте клавіатуру калькулятора (якщо вона не видно, натисніть "Показати клавіатуру"), в якій доступні як усі логічні операції, так і набір змінних, що найчастіше використовуються.

Для зміни порядку виконання операцій використовуються круглі дужки. ().

Позначення логічних операцій


Що вміє калькулятор

Що таке булева функція

Булева функція f(x1, x2, ... xn) — це будь-яка функція від n змінних x1, x2, ... xn, в якій її аргументи приймають одне з двох значень: або 0, або 1, і сама функція набуває значення 0 або 1. Тобто це правило, за яким довільний набір нулів і одиниць ставиться у відповідність значення 0 або 1. Докладно про булеві функції можна почитати у Вікіпедії.

Що таке таблиця істинності?

Таблиця істинності - це таблиця, що описує логічну функцію, а саме відображає всі значення функції при всіх можливих значеннях її аргументів. Таблиця складається з n+1 стовпців і 2n рядків, де n - кількість змінних, що використовуються. У перших n стовпцях записуються різноманітні значення аргументів (змінних) функції, а n+1-ому стовпці записуються значення функції, які вона приймає цьому наборі аргументів.

Досить часто зустрічається варіант таблиці, де число стовпців дорівнює n + число використовуваних логічних операцій. У такій таблиці також перші n стовпців заповнені наборами аргументів, а стовпці, що залишилися, заповнюються значеннями підфункцій, що входять в запис функції, що дозволяє спростити розрахунок кінцевого значення функції за рахунок вже проміжних обчислень.

Логічні операці

Логічна операція — операція над висловлюваннями, що дозволяє складати нові висловлювання шляхом поєднання простіших. Як основні операції зазвичай називають кон'юнкцію (∧ або &), диз'юнкцію (∨ або |), імплікацію (→), заперечення (¬), еквівалентність (=), виключне АБО (⊕). (∧

Таблиця істинності логічних операцій

aba ∧ ba ∨ b¬a¬ba → ba = ba ⊕ b
000011110
010110101
100101001
111100110

Як задати логічну функцію

Є безліч способів задати булеву функцію:

Розглянемо деякі з них:

Щоб задати функцію через вектор значень необхідно записати вектор з 2n нулів і одиниць, де n - число аргументів, від яких залежить функція. Наприклад, функцію двох аргументів можна задати так: 0001 (операція І), 0111 (операція АБО).

Щоб задати функцію у вигляді формули, необхідно записати математичний вираз, що складається з аргументів функції та логічних операцій. Наприклад, можна задати таку функцію: a∧b ∨ b∧c ∨ a∧c

Способи представлення булевої функції

За допомогою формул можна отримувати величезну кількість різноманітних функцій, причому за допомогою різних формул можна отримати одну й ту саму функцію. Іноді дуже корисно дізнатися, як побудувати ту чи іншу функцію, використовуючи лише невеликий набір заданих операцій або використовуючи якнайменше довільних операцій. Розглянемо основні способи завдання булевих функцій:


Досконала диз'юнктивна нормальна форма (ДНФ)

Проста кон'юнкція — це кон'юнкція деякого кінцевого набору змінних або їх заперечень, причому кожна змінна зустрічається не більше одного разу.
Диз'юнктивна нормальна форма (ДНФ) - це диз'юнкція простих кон'юнкцій.
Досконала диз'юнктивна нормальна форма (ДДНФ) — ДНФ щодо певного заданого кінцевого набору змінних, до кожної кон'юнкції якої входять усі змінні цього набору.

Наприклад, ДНФ є функція ¬abc ∨ ¬a¬bc ∨ ac, але вона не є ДДНФ, бо в останній кон'юнкції відсутня змінна b.

Досконала кон'юнктивна нормальна форма (КНФ)

Проста диз'юнкці — це диз'юнкція однієї чи кількох змінних, чи його заперечень, причому кожна змінна входить у неї трохи більше разу.
Кон'юнктивна нормальна форма (КНФ) — це кон'юнкція простих диз'юнкцій.
Досконала кон'юнктивна нормальна форма (ДКНФ) — КНФ щодо деякого заданого кінцевого набору змінних, в кожну диз'юнкцію якої входять всі змінні даного набору.

Наприклад, КНФ є функція (a ∨ b) ∧ (a ∨ b ∨ c), але не є ДДНФ, так як у першій диз'юнкції відсутня змінна с.

Алгебраїчна нормальна форма (АНФ, поліном Жегалкіна)

Алгебраїчна нормальна форма, поліном Жегалкіна - це форма подання логічної функції у вигляді полінома з коефіцієнтами виду 0 і 1, в якому як добуток використовується операція кон'юнкції, а як додавання - виключне АБО.

Приклади поліномів Жегалкіна: 1, a, a⊕b, ab⊕a⊕b⊕1

Алгоритм побудови ДДНФ для булевої функції

  1. Побудувати таблицю істинності для функції
  2. Знайти всі набори аргументів, на яких функція приймає значення 1
  3. Виписати прості кон'юнкції для кожного з наборів за таким правилом: якщо в наборі змінна набуває значення 0, то вона входить до кон'юнкції з запереченням, інакше без заперечення
  4. Об'єднати всі прості кон'юнкції за допомогою диз'юнкції

Алгоритм побудови ДКНФ для булевої функції

  1. Побудувати таблицю істинності для функції
  2. Знайти всі набори аргументів, на яких функція набуває значення 0
  3. Виписати прості диз'юнкції для кожного з наборів за таким правилом: якщо в наборі змінна приймає значення 1, то вона входить у диз'юнкцію з запереченням, інакше без заперечення
  4. Об'єднати всі прості диз'юнкції за допомогою кон'юнкції

Алгоритм побудови полінома Жегалкіна бульової функції

Є кілька методів побудови полінома Жегалкіна, розглянемо найбільш зручний та простий з усіх.

  1. Побудувати таблицю істинності для функції
  2. Додати новий стовпець до таблиці істинності та записати в 1, 3, 5... комірки значення з тих же рядків попереднього стовпця таблиці істинності, а до значень у рядках 2, 4, 6... додати по модулю два значення з відповідно 1, 3, 5... рядків.
  3. Додати новий стовпець до таблиці істинності та переписати в новий стовпець значення 1, 2, 5, 6, 9, 10... рядків, а до 3, 4, 7, 8, 11, 12... рядків аналогічно попередньому пункту додати переписані значення.
  4. Повторити дії щоразу збільшуючи вдвічі кількість переносимих і складених елементів до тих пір, поки довжина не дорівнюватиме кількості рядків таблиці.
  5. Виписати булеві набори, на яких значення останнього стовпця дорівнює одиниці
  6. Записати замість одиниць у наборі імена змінних, що відповідають набору (для нульового набору записати одиницю) та об'єднати їх за допомогою операції виключне АБО.

Приклади побудови різних представлень логічних функцій

Побудуємо досконалі диз'юнктивну та кон'юнктивну нормальні форми, а також поліном Жегалкіна для функції трьох змінних F = ¬ab∨¬bc∨ca

1. Побудуємо таблицю істинності для функції

abc¬a¬a∧b¬b¬b∧c¬a∧b∨¬b∧cc∧a¬a∧b∨¬b∧c∨c∧a
0001010000
0011011101
0101100101
0111100101
1000010000
1010011111
1100000000
1110000011

Побудова досконалої диз'юнктивної нормальної форми:

Знайдемо набори, на яких функція набуває істинного значення: { 0, 0, 1 } { 0, 1, 0 } { 0, 1, 1 } { 1, 0, 1 } { 1, 1, 1 }

У відповідність до знайдених наборів поставимо елементарні кон'юнкції по всіх змінних, причому якщо змінна в наборі приймає значення 0, то вона буде записана з запереченням:

K1: { 0, 0, 1 } — ¬a¬bc
K2: { 0, 1, 0 } — ¬ab¬c
K3: { 0, 1, 1 } — ¬abc
K4: { 1, 0, 1 } — a¬bc
K5: { 1, 1, 1 } — abc

Об'єднаємо кон'юнкції за допомогою диз'юнкції та отримаємо досконалу диз'юнктивну нормальну форму:
K1 ∨ K2 ∨ K3 ∨ K4 ∨ K5 = ¬a¬bc ∨ ¬ab¬c¬abc ∨ a¬bc ∨ abc

Побудова досконалої кон'юнктивної нормальної форми:

Знайдемо набори, на яких функція набуває значення фальш: { 0, 0, 0 } { 1, 0, 0 } { 1, 1, 0 }

У відповідність до знайдених наборів поставимо елементарні диз'юнкції по всіх змінних, причому якщо змінна в наборі приймає значення 1, то вона буде записана з запереченням:

D1: { 0, 0, 0 } — a∨b∨c
D2: { 1, 0, 0 } — ¬a∨b∨c
D3: { 1, 1, 0 } — ¬a¬b∨c

Об'єднаємо диз'юнкції за допомогою кон'юнкції та отримаємо досконалу кон'юнктивну нормальну форму:
D1 ∧ D2 ∧ D3 = (a∨b∨c) ∧ (¬a∨b∨c) ∧ (¬a¬b∨c)

Побудова полінома Жегалкіна:

Додамо новий стовпець до таблиці істинності і запишемо в 1, 3, 5 і 7 рядки значення з тих же рядків попереднього стовпця таблиці істинності, а значення в рядках 2, 4, 6 і 8 складемо по модулю два зі значеннями відповідно 1, 3, 5 та 7 рядків:

abcF1
00000
0011⊕ 01
01011
0111⊕ 10
10000
1011⊕ 01
11000
1111⊕ 01

Додамо новий стовпець до таблиці істинності і запишемо в 1 і 2, 5 і 6 рядки значення з тих же рядків попереднього стовпця таблиці істинності, а значення в рядках 3 і 4, 7 і 8 складемо по модулю два зі значеннями відповідно 1 і 2, 5 та 6 рядків:

abcF12
000000
001111
01011⊕ 01
01110⊕ 11
100000
101111
11000⊕ 00
11111⊕ 10

Додамо новий стовпець до таблиці істинності і запишемо в 1 2, 3 і 4 рядки значення з тих же рядків попереднього стовпця таблиці істинності, а значення в рядках 5, 6, 7 і 8 складемо по модулю два зі значеннями відповідно 1, 2, 3 та 4 рядків:

abcF123
0000000
0011111
0101111
0111011
100000⊕ 00
101111⊕ 10
110000⊕ 11
111110⊕ 11

Остаточно отримаємо таку таблицю:

abcF123
0000000
0011111
0101111
0111011
1000000
1011110
1100001
1111101

Випишемо набори, на яких отриманий вектор набуває одиничного значення і запишемо замість одиниць у наборах імена змінних, відповідні набору (для нульового набору слід записати одиницю):

{ 0, 0, 1 } — c, { 0, 1, 0 } — b, { 0, 1, 1 } — bc, { 1, 1, 0 } — ab, { 1, 1, 1 } — abc

Об'єднуючи отримані кон'юнкції за допомогою операції виключне АБО, отримаємо поліном Жегалкіна: c⊕b⊕bc⊕ab⊕abc

Оцініть наші старання:
Оцінoк немає

Обговорення


"Громадське радіо" - Гарний вибір!

ІНФОГРАФІКА

Втрати армії РФ на 17.05.2026

Особовий склад
1348790 +1170
Танки
11938 +1
Броньовані машини
24578 +4
Літаки/Гелікоптери
436/352 +1/+0
БПЛА
295454 +2131
Засоби ППО
1384 +3
Арт. системи/РСЗВ
42215/1790 +82/+2
Транспорні засоби
97118 +325
Кораблі,катери/субмарини
33/2 +0/+0
Спеціальна техніка
4196 +5
Крилаті ракети
4628 +2
НРК
1410 +13
Дані: Генштаб ЗСУ       Інформаційно-освітній сайт UACMS

Розміщено на UACMS

Знайшли помилку? Повідомте нас!
ДАТИ
Творчі сходинки 2011

Авторська розробка на конкурс "Творчі сходинки 2011" Луцький район, Волинська область....

Дата: 17.04.2024 Читати далі
JS плагіни

JS плагіни для зображень та контенту, мета яких - економія місця на сторінці та сервері....

Дата: 04.01.2024 Читати далі
Республіка Польща

Республіка Польща, загальне ознайомлення...

Дата: 07.05.2023 Читати далі
Сполучене Королівство Великої Британії і Північної Ірландії

Назва «Британія» вперше трапляється в Юлія Цезаря (55 до н.

Дата: 06.05.2023 Читати далі
Нерозв'язані проблеми сучасної фізики

Розвиток фізичної науки наразі відбувається співзвучно з відомою приказкою - чим далі в ліс, тим більше дров....

Дата: 20.04.2023 Читати далі
Паралелі між Гітлером і Путіним

Читати повністю

Інопланетяни

Читати повністю

Освоєння космосу. Kолонізація Сонячної системи.

Читати повністю

Пам'яті Альберта Ейнштейна і Нільса Бора

Читати повністю

Ви користуєтесь броузером ||
WEB Calc - розділ сайту з online-калькуляторами: Погода та природа, Фінанси та господарство, Фізика Хімія, Математика, Здоров'я i Побут, скрипт, код на javascript.
Сайт працює на UACMS
Розділ онлайн WEB калькуляторів
Несвіч-Городище2-Посада
ІНФОРМАЦІЙНО-ОСВІТНІЙ САЙТ
К-сть відвідувачів по країнах
Відвідувачі калькуляторів
» 1 - онлайн » 273 - сьогодні
» 35 - вчора » 308 - за тиждень
» 1068 - в місяць » 15588 - в рік
» 858388 - всього
» рекорд: 11230 (03.07.2025)
Україна Google:-- || Bing:18.01-09:11 || Yandex:--
Інформаційно-освітній сайт © 2013 - 2026

БОЖЕ ВЕЛИКИЙ, БОЖЕ ВСЕСИЛЬНИЙ! МИ, ГРІШНІ ДІТИ ТВОЇ, В ПОКОРІ СЕРДЕЦЬ НАШИХ ПРИХОДИМО ДО ТЕБЕ І СХИЛЯЄМО ГОЛОВИ НАШІ. ОТЧЕ! ПРОСТИ ПРОВИНИ НАШІ І ПРОВИНИ БАТЬКІВ, ДІДІВ І ПРАДІДІВ НАШИХ. БЛАГОСЛОВИ УКРАЇНУ, ДОЛЮ І ЩАСТЯ ЇЙ ДАЙ. БЛАГАЄМО ТЕБЕ, БОЖЕ, ЗА ВОЇНІВ І ЗАХИСНИКІВ, ЗА БРАТІВ І СЕСТЕР НАШИХ, І ЗА ВСІХ ТИХ, ХТО ПОТРЕБУЄ ТВОГО МИЛОСЕРДЯ І ДОПОМОГИ ТВОЄЇ.

​​

Перші 10 пунктів стрічки RSS Українська правда