Алгебраическая нормальная форма
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2013 г. ) |
В булевой алгебре алгебраическая нормальная форма ( ANF ), нормальная форма кольцевой суммы ( RSNF или RNF ), нормальная форма Жегалкина или расширение Рида–Мюллера — это способ записи пропозициональной логики формул в одной из трех подформ:
- Вся формула является чисто истинной или ложной:
- Одна или несколько переменных объединяются в термин с помощью AND ( ), затем один или несколько членов объединяются с помощью XOR ( ) вместе в ANF. Отрицания не допускаются:
- Предыдущая подформа с чисто истинным термином:
Формулы, написанные в ANF, также известны как полиномы Жегалкина положительной полярности (или четности) и выражения Рида – Мюллера (PPRM). [1]
Общее использование [ править ]
АНФ — это каноническая форма , что означает, что две логически эквивалентные формулы преобразуются в одну и ту же АНФ, что позволяет легко показать, эквивалентны ли две формулы для автоматического доказательства теорем . В отличие от других нормальных форм, ее можно представить как простой список списков имен переменных — конъюнктивные и дизъюнктивные нормальные формы также требуют записи, отрицается ли каждая переменная или нет. Нормальная форма отрицания непригодна для определения эквивалентности, поскольку в нормальных формах отрицания эквивалентность не означает равенства: a ∨ ¬a не сводится к тому же, что и 1, даже если они логически эквивалентны.
Помещение формулы в ANF также позволяет легко идентифицировать линейные функции (используемые, например, в регистрах сдвига с линейной обратной связью ): линейная функция — это та, которая представляет собой сумму одиночных литералов. Свойства сдвиговых регистров с нелинейной обратной связью также можно вывести из определенных свойств функции обратной связи в ANF.
Выполнение операций в алгебраической нормальной форме [ править ]
Существуют простые способы выполнения стандартных логических операций над входными данными ANF для получения результатов ANF.
XOR (логическая исключающая дизъюнкция) выполняется напрямую:
- ( 1 ⊕ Икс ) ⊕ ( 1 ⊕ Икс ⊕ у )
- 1 ⊕ х ⊕ 1 ⊕ х ⊕ у
- 1 ⊕ 1 ⊕ х ⊕ х ⊕ у
- и
НЕ (логическое отрицание) — это операция XOR 1: [2]
- ¬ (1 ⊕ х ⊕ у)
- 1 ⊕ (1 ⊕ х ⊕ у)
- 1 ⊕ 1 ⊕ х ⊕ у
- х ⊕ у
И (логическое соединение) распределяется алгебраически [3]
- ( 1 ⊕ Икс ) (1 ⊕ Икс ⊕ у)
- 1 (1 ⊕ х ⊕ у) ⊕ х (1 ⊕ х ⊕ у)
- (1 ⊕ х ⊕ у) ⊕ (х ⊕ х ⊕ ху)
- 1 ⊕ х ⊕ х ⊕ х ⊕ у ⊕ ху
- 1 ⊕ х ⊕ у ⊕ ху
OR (логическая дизъюнкция) использует либо 1 ⊕ (1 ⊕ a)(1 ⊕ b) [4] (проще, когда оба операнда имеют чисто истинные термины) или a ⊕ b ⊕ ab [5] (иначе проще):
- ( 1 ⊕ Икс ) + ( 1 ⊕ Икс ⊕ у )
- 1 ⊕ (1 ⊕ 1 ⊕ Икс )(1 ⊕ 1 ⊕ Икс ⊕ у )
- 1 ⊕ х(х ⊕ у)
- 1 ⊕ х ⊕ ху
Преобразование в алгебраическую нормальную форму [ править ]
Каждая переменная в формуле уже находится в чистом ANF, поэтому нужно только выполнить логические операции формулы, как показано выше, чтобы получить всю формулу в ANF. Например:
- х + (у ⋅ ¬z)
- х + (у(1 ⊕ z))
- х + (у ⊕ уз)
- х ⊕ (у ⊕ yz) ⊕ x(y ⊕ yz)
- Икс ⊕ у ⊕ ху ⊕ yz ⊕ xyz
Официальное представление [ править ]
ANF иногда описывается аналогичным образом:
- где полностью описывает .
Рекурсивный вывод булевых функций с несколькими аргументами [ править ]
Существует всего четыре функции с одним аргументом:
Чтобы представить функцию с несколькими аргументами, можно использовать следующее равенство:
- , где
Действительно,
- если затем и так
- если затем и так
Поскольку оба и иметь меньше аргументов, чем следовательно, используя этот процесс рекурсивно, мы закончим с функциями с одной переменной. Например, построим АНФ из (логическое или):
- с и
- отсюда следует, что
- по распределению получаем итоговый АНФ:
См. также [ править ]

- Расширение Рида – Мюллера
- Жегалкин нормальная форма
- Булева функция
- Логический график
- Полином Жегалкина
- Нормальная форма отрицания
- Конъюнктивная нормальная форма
- Дизъюнктивная нормальная форма
- Карта Карно
- Булево кольцо
Ссылки [ править ]
- ^ Штайнбах, Бернд [на немецком языке] ; Постхофф, Кристиан (2009). "Предисловие". Логические функции и уравнения - примеры и упражнения (1-е изд.). Springer Science + Business Media BV с. хв. ISBN 978-1-4020-9594-8 . LCCN 2008941076 .
- ^ Демонстрация НЕ-эквивалентности WolframAlpha: ¬a = 1 ⊕ a
- ^ Демонстрация И-эквивалентности WolframAlpha: (a ⊕ b) (c ⊕ d) = ac ⊕ ad ⊕ bc ⊕ bd
- ^ Из законов Де Моргана
- ^ Демонстрация ИЛИ-эквивалентности WolframAlpha: a + b = a ⊕ b ⊕ ab
Дальнейшее чтение [ править ]
- Вегенер, Инго (1987). Сложность булевых функций . Вили-Тойбнер . п. 6. ISBN 3-519-02107-2 .
- «Презентация» (PDF) (на немецком языке). Университет Дуйсбург-Эссен . Архивировано (PDF) из оригинала 20 апреля 2017 г. Проверено 19 апреля 2017 г.
- Максфилд, Клайв «Макс» (29 ноября 2006 г.). «Логика Рида-Мюллера» . Логика 101 . ЭТаймс . Часть 3. Архивировано из оригинала 19 апреля 2017 г. Проверено 19 апреля 2017 г.