Jump to content

Полином Жегалкина

(Перенаправлено из булева полинома )

Жегалкин (также Жегалкин , Гегалкин или Шегалкин [1] Полиномы являются Жегалкина нормальная алгебраическая форма , также известные как , представлением функций в булевой алгебре . Введен русским математиком Иваном Ивановичем Жегалкиным в 1927 году. [2] они представляют собой кольцо многочленов над целыми числами по модулю 2 . В результате вырождения модульной арифметики полиномы Жегалкина оказываются проще обычных многочленов и не требуют ни коэффициентов, ни показателей степени. Коэффициенты являются избыточными, поскольку 1 — единственный ненулевой коэффициент. Экспоненты излишни, потому что в арифметике по модулю 2 x 2 = х . Следовательно, полином, такой как 3 x 2 и 5 z конгруэнтен и поэтому может быть переписан как xyz .

Логический эквивалент

[ редактировать ]

До 1927 года булева алгебра считалась исчислением логических значений с логическими операциями соединения , дизъюнкции , отрицания и так далее. Жегалкин показал, что все логические операции можно записать в виде обычных числовых многочленов, представляющих ложные и истинные значения как 0 и 1, целые числа по модулю 2. Логическое соединение записывается как xy , а логическое исключающее-или — как арифметическое сложение по модулю 2 (записывается здесь как x y , чтобы избежать путаницы с обычным использованием + как синонима для включающего или ∨). логическое дополнение ¬ x Тогда будет x ⊕1. Поскольку ∧ и ¬ образуют основу булевой алгебры, все остальные логические операции являются композициями этих основных операций, и поэтому многочлены обычной алгебры могут представлять все логические операции, что позволяет выполнять булевы рассуждения с использованием элементарной алгебры .

Например, логический порог 2 из 3 или медианная операция записывается как полином Жегалкина xy yz zx .

Формальные свойства

[ редактировать ]

Формально моном Жегалкина — это произведение конечного набора различных переменных (следовательно, бесквадратного ), включая пустое множество, произведение которого обозначается 1. Существует 2 н возможные мономы Жегалкина от n переменных, поскольку каждый моном полностью определяется наличием или отсутствием каждой переменной. Полином Жегалкина представляет собой сумму (исключающее или) набора мономов Жегалкина, причем пустой набор обозначается 0. Наличие или отсутствие данного монома в многочлене соответствует коэффициенту этого монома, равному 1 или 0 соответственно. Мономы Жегалкина, будучи линейно независимыми , охватывают 2 н -мерное векторное пространство над полем Галуа GF (2) (Примечание: не GF (2 н ), умножение которых совсем другое). 2 2 н векторы этого пространства, т. е. линейные комбинации этих мономов как единичные векторы, составляют полиномы Жегалкина. Точное совпадение с числом булевых операций над n переменными, исчерпывающими n -арные операции над {0,1}, дает прямой счетный аргумент в пользу полноты полиномов Жегалкина как булевого базиса.

Это векторное пространство не эквивалентно свободной булевой алгебре на n генераторах, поскольку в нем отсутствует дополнение (побитовое логическое отрицание) в качестве операции (что эквивалентно, поскольку в нем отсутствует верхний элемент в качестве константы). Это не означает, что пространство не является замкнутым относительно дополнения или не имеет вершины ( вектора, состоящего из всех единиц ) в качестве элемента, а, скорее, что линейные преобразования этого и аналогично построенных пространств не обязательно должны сохранять дополнение и вершину. Те, которые их сохраняют, соответствуют булевым гомоморфизмам, например, существует четыре линейных преобразования из векторного пространства полиномов Жегалкина от одной переменной к преобразованию ни к одной переменной, только два из которых являются булевыми гомоморфизмами.

Метод расчета

[ редактировать ]

Существуют различные известные методы, обычно используемые для вычисления полинома Жегалкина:

Метод неопределенных коэффициентов

[ редактировать ]

С помощью метода неопределенных коэффициентов формируется линейная система, состоящая из всех кортежей функции и их значений. Решение линейной системы дает коэффициенты полинома Жегалкина.

Учитывая булевую функцию , выразим его в виде многочлена Жегалкина. Эту функцию можно выразить как вектор-столбец

Этот вектор должен быть результатом левого умножения вектора неопределенных коэффициентов. 8x8 логической матрицей , которая представляет возможные значения, которые могут принимать все возможные соединения A, B, C. Эти возможные значения приведены в следующей таблице истинности:

А Б С 1 С Б до нашей эры А переменного тока АБ АВС
0 0 0 1 0 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0 0
0 1 0 1 0 1 0 0 0 0 0
0 1 1 1 1 1 1 0 0 0 0
1 0 0 1 0 0 0 1 0 0 0
1 0 1 1 1 0 0 1 1 0 0
1 1 0 1 0 1 0 1 0 1 0
1 1 1 1 1 1 1 1 1 1 1

Информация в приведенной выше таблице истинности может быть закодирована в следующей логической матрице: где буква S здесь означает «Серпинский», как в треугольнике Серпинского , а нижний индекс 3 указывает показатели его размера: .

С помощью математической индукции и блочно-матричного умножения можно доказать, что любая такая «матрица Серпинского» является своей собственной инверсией. [номер 1]

Тогда линейная система который можно решить для : [ нужны разъяснения ] и полином Жегалкина, соответствующий является .

Использование канонической дизъюнктивной нормальной формы

[ редактировать ]

Используя этот метод, каноническая дизъюнктивная нормальная форма (полностью расширенная дизъюнктивная нормальная форма сначала вычисляется ). Затем отрицания в этом выражении заменяются эквивалентным выражением, использующим сумму переменной по модулю 2 и 1. Знаки дизъюнкции меняются на сложение по модулю 2, скобки раскрываются, а полученное логическое выражение упрощается. Результатом этого упрощения является полином Жегалкина.

Использование таблиц

[ редактировать ]
Вычисление полинома Жегалкина для примера функции P табличным методом

Позволять быть выходными данными таблицы истинности для функции P от n переменных, такой, что индекс соответствует двоичному индексированию минтермов . [номер 2] Определите функцию ζ рекурсивно: Обратите внимание, что где - биномиальный коэффициент, приведенный по модулю 2.

Затем это я й коэффициент полинома Жегалкина, литералы которого в i й моном такие же, как литералы в i й minterm, за исключением того, что отрицательные литералы удаляются (или заменяются на 1).

ζ-преобразование является само обратным, поэтому ту же таблицу можно использовать для вычисления коэффициентов учитывая коэффициенты . Просто позволь

Используя таблицу на рисунке, скопируйте результаты таблицы истинности (в столбце с надписью P ) в самый левый столбец треугольной таблицы. Затем последовательно вычисляйте столбцы слева направо, применяя XOR к каждой паре соседних по вертикали ячеек, чтобы заполнить ячейку сразу справа от верхней ячейки каждой пары. Когда вся треугольная таблица заполнена, то в верхней строке считываются коэффициенты линейной комбинации, которая при упрощении (удалении нулей) дает полином Жегалкина.

Чтобы перейти от полинома Жегалкина к таблице истинности, можно заполнить верхнюю строку треугольной таблицы коэффициентами полинома Жегалкина (ставя нули для любых комбинаций положительных литералов, не входящих в полином). Затем последовательно вычисляйте строки сверху вниз, применяя XOR к каждой паре соседних по горизонтали ячеек, чтобы сразу заполнить ячейку до нижней части самой левой ячейки каждой пары. Когда вся треугольная таблица заполнена, самый левый ее столбец можно скопировать в столбец P таблицы истинности.

Кстати, этот метод расчета соответствует методу работы элементарного клеточного автомата, называемого Правилом 102 . Например, запустите такой клеточный автомат с восемью ячейками, настроенными на выходные данные таблицы истинности (или коэффициентов канонической дизъюнктивной нормальной формы) логического выражения: 10101001. Затем запустите клеточный автомат еще на семь поколений, сохраняя при этом запись состояния крайней левой ячейки. История этой ячейки тогда оказывается: 11000010, что показывает коэффициенты соответствующего полинома Жегалкина. [3] [4]

Метод Паскаля

[ редактировать ]
Использование метода Паскаля для вычисления полинома Жегалкина для булевой функции . Строка на русском языке внизу гласит:
– побитовая операция «Исключающее ИЛИ»

Наиболее экономичным по объему вычислений и целесообразным для построения полинома Жегалкина вручную является метод Паскаля.

Строим таблицу, состоящую из столбцы и строк, где N — количество переменных в функции. В верхнюю строку таблицы помещаем вектор значений функции, то есть последний столбец таблицы истинности.

Каждая строка полученной таблицы разбита на блоки (черные линии на рисунке). В первой строке блок занимает одну ячейку, во второй строке — две, в третьей — четыре, в четвертой — восемь и так далее. Каждый блок в определенной строке, которую мы будем называть «нижним блоком», всегда соответствует ровно двум блокам в предыдущей строке. Мы будем называть их «левый верхний блок» и «правый верхний блок».

Строительство начинается со второй линии. Содержимое левых верхних блоков без изменения переносится в соответствующие ячейки нижнего блока (зеленые стрелки на рисунке). Затем над правым верхним и левым верхним блоками поразрядно производится операция «сложение по модулю два» и результат передается в соответствующие ячейки правой части нижнего блока (красные стрелки на рисунке). Данная операция выполняется со всеми строками сверху вниз и со всеми блоками в каждой строке. После завершения построения в нижней строке находится строка чисел, представляющих собой коэффициенты многочлена Жегалкина, записанные в той же последовательности, что и в описанном выше методе треугольника.

Метод суммирования

[ редактировать ]
Графическое изображение коэффициентов полинома Жегалкина для функций с разным числом переменных.

По таблице истинности легко вычислить отдельные коэффициенты полинома Жегалкина. Для этого просуммируем по модулю 2 значения функции в тех строках таблицы истинности, где переменные, не входящие в конъюнкцию (что соответствует вычисляемому коэффициенту), принимают нулевые значения.

Предположим, например, что нам нужно найти коэффициент при конъюнкции xz для функции трех переменных . В этом союзе нет переменной y . Найдите входные множества, в которых переменная y принимает нулевое значение. Это наборы 0, 1, 4, 5 (000, 001, 100, 101). Тогда коэффициент при соединении xz равен

Поскольку нет переменных с постоянным членом,

Для термина, включающего все переменные, сумма включает все значения функции:

Графически представим коэффициенты полинома Жегалкина как суммы по модулю 2 значений функций в определенных точках. Для этого построим квадратную таблицу, где каждый столбец представляет значение функции в одной из точек, а строка – коэффициент полинома Жегалкина. Точка на пересечении какого-либо столбца и строки означает, что значение функции в этой точке входит в сумму по данному коэффициенту многочлена (см. рисунок). Мы называем эту таблицу , где N — количество переменных функции.

Существует шаблон, позволяющий получить таблицу для функции от N переменных, имея таблицу для функции от переменные. Новый стол представляет собой матрицу 2 × 2 таблицы, а правый верхний блок матрицы очищается.

Теоретико-решеточная интерпретация

[ редактировать ]

Рассмотрим столбцы таблицы как соответствующие элементам булевой решетки размера . Для каждого столбца выразить число М как двоичное число , затем тогда и только тогда, когда , где обозначает побитовое ИЛИ.

Если строки таблицы пронумерованы сверху вниз цифрами от 0 до , то табличное содержимое строки с номером R является идеалом , порожденным элементом решетки.

Кстати, обратите внимание, что общий шаблон таблицы представляет собой логическую матрицу треугольника Серпинского . Кроме того, шаблон соответствует элементарному клеточному автомату под названием «Правило 60» , начиная с того, что крайняя левая ячейка установлена ​​на 1, а все остальные ячейки очищаются.

Используя карту Карно

[ редактировать ]
Преобразование карты Карно в полином Жегалкина.

На рисунке показана функция трёх переменных P ( A , B , C ), представленная в виде карты Карно , которую читатель может рассмотреть как пример того, как преобразовать такие карты в полиномы Жегалкина; Общая процедура представлена ​​следующими этапами:

  • Рассмотрим все ячейки карты Карно в порядке возрастания количества единиц в их кодах. Для функции трех переменных последовательность ячеек будет 000–100–010–001–110–101–011–111. Каждой ячейке карты Карно сопоставлен член полинома Жегалкина в зависимости от позиций кода, в которых они есть. Например, ячейка 111 соответствует участнику ABC, ячейка 101 соответствует участнику AC, ячейка 010 соответствует участнику B, а ячейка 000 соответствует участнику 1.
  • Если рассматриваемая ячейка равна 0, перейдите к следующей ячейке.
  • Если рассматриваемая ячейка равна 1, добавьте соответствующий член к многочлену Жегалкина, затем инвертируйте все ячейки в отображении Карно, где этот член равен 1 (или принадлежит идеалу, порожденному этим членом, в булевой решетке мономов) и перейдите в следующую ячейку. Например, если при рассмотрении ячейки 110 в ней появляется единица, то к полиному Жегалкина добавляется слагаемое AB и инвертируются все ячейки карты Карно, для которых A = 1 и B = 1. Если единица находится в ячейка 000, то к полиному Жегалкина добавляется член 1 и вся карта Карно инвертируется.
  • Процесс преобразования можно считать завершенным, когда после очередной инверсии все ячейки карты Карно станут нулевыми, или состоянием безразличия.

Преобразование Мёбиуса

[ редактировать ]

Формула обращения Мёбиуса связывает коэффициенты булевого выражения суммы минтермов и полинома Жегалкина. Это версия формулы Мёбиуса частичного порядка, а не теоретико-числовая. Формула обращения Мёбиуса для частичных порядков: [5] где , | х | Поскольку расстояние Хэмминга x 0. от в алгебре Жегалкина функция Мёбиуса схлопывается до постоянной 1.

Набор делителей данного числа x также является идеалом порядка, порожденным этим числом: . Поскольку суммирование производится по модулю 2, формулу можно переформулировать как

В качестве примера рассмотрим случай с тремя переменными. В следующей таблице показано отношение делимости:

х делители x
000 000
001 000, 001
010 000, 010
011 000, 001, 010, 011
100 000, 100
101 000, 001, 100, 101
110 000, 010, 100, 110
111 000, 001, 010, 011, 100, 101, 110, 111

Затем

Приведенную выше систему уравнений можно решить относительно f , и результат можно обобщить как полученный путем замены g и f во всей вышеупомянутой системе.

В таблице ниже показаны двоичные числа вместе с соответствующими им мономами Жегалкина и логическими минтермами:

Логический минтерм АВС Одночлен Жегалкина
000 1
001 С
010 Б
011 до нашей эры
100 А
101 переменного тока
110 АБ
111 АВС

Мономы Жегалкина естественным образом упорядочиваются по делимости, тогда как булевы минтермы упорядочиваются не так естественно; каждый из них представляет собой исключительную восьмую часть диаграммы Венна с тремя переменными . Порядок мономов переносится на битовые строки следующим образом: и , пара битовых троек, то .

Тогда соответствие между булевой суммой минтермов с тремя переменными и полиномом Жегалкина будет следующим:

Приведенную выше систему уравнений можно резюмировать как логическое матричное уравнение:

которое Н. Дж. Вильдбергер называет преобразованием Буля – Мёбиуса.

Ниже показана « таблица форма преобразования XOR», идущая в направлении от g к f :

[ редактировать ]

В 1927 г., в том же году, что и статья Жегалкина, [2] Американский математик Эрик Темпл Белл опубликовал сложную арифметизацию булевой алгебры, основанную на идеальной теории Ричарда Дедекинда и общей модульной арифметике (в отличие от арифметики по модулю 2). [6] Гораздо более простой арифметический характер полиномов Жегалкина впервые был замечен на Западе (независимо, общение между советскими и западными математиками в ту эпоху было очень ограничено) американским математиком Маршаллом Стоуном в 1936 году . [7] когда он заметил во время написания своей знаменитой теоремы двойственности Стоуна , что предположительно свободная аналогия между булевыми алгебрами и кольцами на самом деле может быть сформулирована как точная эквивалентность, справедливая как для конечных, так и для бесконечных алгебр, что привело его к существенной реорганизации своей статьи в течение следующих нескольких лет. .

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ В качестве базового варианта где здесь используется для обозначения единичной матрицы размера . Индуктивное предположение Тогда индуктивный шаг будет: где обозначает произведение Кронекера , или, в терминах произведения Кронекера: КЭД
  2. ^ Минтерм это логический аналог монома Жегалкина . Для контекста с n- переменными существуют Мономы Жегалкина и Также логические минтермы. Минтерм для контекста с n -переменными состоит из AND-произведения n литералов, каждый из которых либо является переменной в контексте, либо НЕ-отрицанием такой переменной. Более того, для каждой переменной в контексте должен встречаться ровно один раз в каждом минтерме соответствующий литерал (либо утверждение, либо отрицание этой переменной). Таблица истинности для булевой функции от n переменных имеет ровно строки, входные данные каждой строки естественным образом соответствуют минтерму, контекст которого представляет собой набор независимых переменных этой булевой функции. (Каждый 0-вход соответствует отрицательной переменной; каждый 1-вход соответствует утвержденной переменной.)
    Любое логическое выражение может быть преобразовано в форму суммы минут путем многократного распределения И по отношению к ИЛИ, НЕ по отношению к И или ИЛИ (через тождества Де Моргана), исключая двойное отрицание (см. нормальную форму отрицания ); а затем, когда сумма произведений получена, умножьте произведения с отсутствующими литералами на примеры закона исключенного третьего , которые содержат недостающие литералы; затем, наконец, снова распределите И относительно ИЛИ.
    Обратите внимание, что для данного контекста существует формальное соответствие между мономами Жегалкина и булевыми минтермами. Однако соответствие не является логической эквивалентностью. Например, для контекста { A , B , C } существует формальное соответствие между мономом Жегалкина AB и булевым минтермом , но они логически не эквивалентны. (Подробнее об этом примере см. вторую таблицу в разделе « Преобразование Мёбиуса ». Один и тот же набор битовых строк используется для индексации как набора булевых минтермов, так и набора мономов Жегалкина.)
  1. ^ Штайнбах, Бернд [на немецком языке] ; Постхофф, Кристиан (2009). "Предисловие". Написано во Фрайберге, Германия. Логические функции и уравнения - примеры и упражнения (1-е изд.). Дордрехт, Нидерланды: Springer Science + Business Media BV с. хв. ISBN  978-1-4020-9594-8 . LCCN   2008941076 .
  2. ^ Jump up to: Перейти обратно: а б Жегалкин [Zhegalkin], Иван Иванович [Ivan Ivanovich] (1927). "О Технике Вычислении Предложенной в Symbolytscheskoy Logykye" О технике вычислений предложений в символической логике «О технике вычисления высказываний в символической логике». Математический сборник (на русском и французском языках). 34 (1). Москва, Россия: 9–28. Ми   msb7433 . Архивировано из оригинала 12 октября 2017 г. Проверено 12 октября 2017 г.
  3. ^ Suprun [Супрун], Valeriy P. [Валерий Павлович] (1987). "Tablichnyy metod polinomial'nogo razlozheniya bulevykh funktsiy" Табличный метод полиномиального разложения булевых функций Табличный метод полиномиального разложения булевых функций. Кибернетика [Кибернетика] (Кибернетика) (на русском языке) (1): 116–117.
  4. ^ Suprun [Супрун], Valeriy P. [Валерий Павлович] (2017). "Osnovy teorii bulevykh funktsiy" Основы теории булевых функций [Основы теории булевых функций]. М.: Ленанд [Леанд] / УРСС : 208.
  5. ^ «Обращение Мёбиуса» . Энциклопедия математики . 17 февраля 2021 г. [07 февраля 2011 г.]. Архивировано из оригинала 16 июля 2020 г. Проверено 27 марта 2021 г.
  6. ^ Белл, Эрик Темпл (1927). «Арифметика логики» . Труды Американского математического общества . 29 (3): 597–611. дои : 10.2307/1989098 . JSTOR   1989098 .
  7. ^ Стоун, Маршалл (1936). «Теория представлений булевых алгебр». Труды Американского математического общества . 40 (1): 37–111. дои : 10.2307/1989664 . ISSN   0002-9947 . JSTOR   1989664 .

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

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 49d5abab994e4321a002486fddab66e3__1720104420
URL1:https://arc.ask3.ru/arc/aa/49/e3/49d5abab994e4321a002486fddab66e3.html
Заголовок, (Title) документа по адресу, URL1:
Zhegalkin polynomial - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)