Алгебраическая нормальная форма - Algebraic normal form

В Булева алгебра, то алгебраическая нормальная форма (ANF), нормальная форма кольцевой суммы (RSNF или РНФ), Жегалкина нормальная форма, или же Разложение Рида – Мюллера - это способ записи логических формул в одной из трех подформ:

  • Вся формула истинна или ложна:
    1
    0
  • Одна или несколько переменных ANDed вместе в термин, то один или несколько терминов XORed вместе в ANF. Нет НЕ разрешены:
    а ⊕ б ⊕ аб ⊕ абв
или в стандартных пропозициональных логических символах:
  • Предыдущая подформа с чисто правдивым термином:
    1 ⊕ a ⊕ b ⊕ ab ⊕ abc

Формулы, записанные в ANF, также известны как Полиномы Жегалкина (русский: полиномы Жегалкина) и положительной полярности (или четности) Выражения Рида – Мюллера (ППРМ).[1]

Общее использование

ANF ​​- это нормальная форма, что означает, что две эквивалентные формулы будут преобразованы в одну и ту же ANF, что легко показывает, эквивалентны ли две формулы для автоматическое доказательство теорем. В отличие от других нормальных форм, он может быть представлен как простой список списков имен переменных. Конъюнктивный и дизъюнктивный нормальные формы также требуют записи, отрицается каждая переменная или нет. Нормальная форма отрицания не подходит для этой цели, поскольку в нем не используется равенство в качестве отношения эквивалентности: a ∨ ¬a не сводится к тому же самому, что и 1, даже если они равны.

Ввод формулы в ANF также позволяет легко идентифицировать линейный функции (используются, например, в регистры сдвига с линейной обратной связью ): линейная функция представляет собой сумму отдельных литералов. Свойства нелинейной обратной связи регистры сдвига также можно вывести из некоторых свойств функции обратной связи в ANF.

Выполнение операций в алгебраической нормальной форме

Есть простые способы выполнения стандартных логических операций над входами ANF, чтобы получить результаты ANF.

XOR (логическая исключающая дизъюнкция) выполняется напрямую:

(1 ⊕ х) ⊕ (1 ⊕ х ⊕ у)
1 ⊕ х1 ⊕ х ⊕ у
1 ⊕ 1 ⊕ x ⊕ x ⊕ y
у

НЕ (логическое отрицание) - это XORing 1:[2]

¬(1 ⊕ x ⊕ y)
1 ⊕(1 ⊕ x ⊕ y)
1 ⊕ 1 ⊕ x ⊕ y
х ⊕ у

И (логическое соединение) распределены алгебраически[3]

(1Икс)(1 ⊕ x ⊕ y)
1(1 ⊕ x ⊕ y)Икс(1 ⊕ x ⊕ y)
(1 ⊕ x ⊕ y) ⊕ (x ⊕ x ⊕ xy)
1 ⊕ x ⊕ x ⊕ x ⊕ y ⊕ xy
1 ⊕ x ⊕ y ⊕ xy

ИЛИ (логическая дизъюнкция) использует либо 1 ⊕ (1 ⊕ a) (1 ⊕ b)[4] (проще, когда оба операнда имеют чисто истинные термины) или a ⊕ b ⊕ ab[5] (иначе проще):

(1 ⊕ х) + (1 ⊕ х ⊕ у)
1 ⊕ (1 ⊕ 1 ⊕ х)(1 ⊕ 1 ⊕ х ⊕ у)
1 ⊕ х (х ⊕ у)
1 ⊕ х ⊕ ху

Преобразование в алгебраическую нормальную форму

Каждая переменная в формуле уже находится в чистом ANF, поэтому вам нужно только выполнить логические операции формулы, как показано выше, чтобы получить всю формулу в ANF. Например:

х + (у · ¬z)
х + (у (1 г))
х + (у ⊕ yz)
х ⊕ (у ⊕ yz) ⊕ x (y ⊕ yz)
x ⊕ y ⊕ xy ⊕ yz ⊕ xyz

Формальное представительство

ANF ​​иногда описывают аналогичным образом:

где полностью описывает .

Рекурсивное получение логических функций с несколькими аргументами

Всего четыре функции с одним аргументом:

Для представления функции с несколькими аргументами можно использовать следующее равенство:

, где

Действительно,

  • если тогда и так
  • если тогда и так

Поскольку оба и иметь меньше аргументов, чем из этого следует, что, используя этот процесс рекурсивно, мы закончим с функциями с одной переменной. Например, построим АНФ (логическое или):

  • поскольку и
  • это следует из того
  • по распределению получаем окончательный ANF:

Смотрите также

Рекомендации

  1. ^ Штайнбах, Бернд; Постхофф, Кристиан (2009). "Предисловие". Логические функции и уравнения - примеры и упражнения (1-е изд.). Springer Science + Business Media Б.В. п. XV. ISBN  978-1-4020-9594-8. LCCN  2008941076.
  2. ^ Демонстрация НЕ-эквивалентности WolframAlpha: ¬a = 1 ⊕ a
  3. ^ Демонстрация И-эквивалентности WolframAlpha: (a ⊕ b) (c ⊕ d) = ac ⊕ ad ⊕ bc ⊕ bd
  4. ^ Из Законы де Моргана
  5. ^ Демонстрация OR-эквивалентности WolframAlpha: a + b = a ⊕ b ⊕ ab

дальнейшее чтение