Jump to content

Булева функция

Диаграмма двоичных решений и таблица истинности троичной булевой функции

В математике булева функция это функция и результат которой , аргументы принимают значения из набора из двух элементов (обычно {истина, ложь}, {0,1} или {-1,1}). [1] [2] Альтернативные названия — функция переключения , особенно используемая в старой по информатике . литературе [3] [4] и функция истинности (или логическая функция) , используемая в логике . Булевы функции являются предметом булевой алгебры и теории переключения . [5]

Булева функция принимает вид , где известен как логический домен и — целое неотрицательное число, называемое арностью функции. В случае, когда , функция является постоянным элементом . Логическая функция с несколькими выходами, с векторная или векторнозначная булева функция ( S-блок в симметричной криптографии ). [6]

Есть различные логические функции с аргументы; равно числу различных таблиц истинности с записи.

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

Диаграмма, отображающая шестнадцать двоичных логических функций
Шестнадцать двоичных логических функций

Простейшими симметричными булевыми функциями ( логическими связками или логическими элементами ) являются:

Примером более сложной функции является функция большинства (нечетного числа входов).

Представительство

[ редактировать ]
Булева функция, представленная в виде логической схемы.

Булеву функцию можно задать различными способами:

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

Алгебраически, как пропозициональная формула с использованием элементарных булевых функций:

Булевы формулы также можно отображать в виде графика:

Чтобы оптимизировать электронные схемы, булевы формулы можно минимизировать с помощью алгоритма Куайна-МакКласки или карты Карно .

Характеристики

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

Булева функция может иметь множество свойств: [7]

  • Константа : всегда истинна или всегда ложна независимо от своих аргументов.
  • Monotone : для каждой комбинации значений аргумента изменение аргумента с false на true может привести только к переключению вывода с false на true, а не с true на false. Говорят, что функция не имеет отношения к некоторой переменной, если она монотонна относительно изменений этой переменной.
  • Линейный : для каждой переменной изменение значения переменной либо всегда приводит к изменению истинного значения, либо никогда не имеет значения ( функция четности ).
  • Симметричный : значение не зависит от порядка аргументов.
  • Однократное чтение : может быть выражено с помощью соединения , дизъюнкции и отрицания с одним экземпляром каждой переменной.
  • Сбалансированный : если его таблица истинности содержит равное количество нулей и единиц. Вес Хэмминга функции — это количество единиц в таблице истинности.
  • Бент : все его производные сбалансированы (спектр автокорреляции равен нулю)
  • Корреляция невосприимчива к m -му порядку: если выходные данные не коррелируют со всеми (линейными) комбинациями не более m аргументов.
  • Evasive : если для оценки функции всегда требуется значение всех аргументов.
  • Булева функция является функцией Шеффера, если ее можно использовать для создания (путем композиции) любой произвольной булевой функции (см. функциональная полнота ).
  • Алгебраическая степень функции — это порядок монома высшего порядка в его алгебраической нормальной форме.

Сложность схемы пытается классифицировать булевы функции по размеру или глубине схем, которые могут их вычислять.

Производные функции

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

Булеву функцию можно разложить с помощью теоремы Буля о разложении по положительным и отрицательным Шеннона кофакторам ( разложение Шеннона ), которые представляют собой (k-1)-арные функции, возникающие в результате фиксации одного из аргументов (к нулю или единице). Общие (k-арные) функции, полученные путем наложения линейного ограничения на набор входных данных (линейное подпространство), известны как подфункции . [8]

Булева производная функции по одному из аргументов представляет собой (k-1)-арную функцию, которая верна, когда выходные данные функции чувствительны к выбранной входной переменной; это XOR двух соответствующих кофакторов. Производная и кофактор используются в разложении Рида – Мюллера . Эту концепцию можно обобщить как k-арную производную в направлении dx, полученную как разность (XOR) функции в точках x и x + dx. [8]

Преобразование Мёбиуса (или преобразование Буля-Мёбиуса ) булевой функции — это набор коэффициентов её многочлена ( алгебраической нормальной формы ) как функция векторов мономиального показателя. Это самообратное преобразование. Его можно эффективно вычислить с помощью алгоритма бабочки Быстрое преобразование Мёбиуса »), аналогичного быстрому преобразованию Фурье . [9] Совпадающие булевы функции равны своему преобразованию Мёбиуса, т.е. их значения таблицы истинности (минтермы) равны их алгебраическим (мономиальным) коэффициентам. [10] Существует 2^2^( k −1) совпадающих функций от k аргументов. [11]

Криптографический анализ

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

Преобразование Уолша булевой функции — это k-ичная целочисленная функция, дающая коэффициенты разложения на линейные функции ( функции Уолша ), аналогично разложению вещественных функций на гармоники преобразованием Фурье . Его квадрат — это спектр мощности или спектр Уолша . Коэффициент Уолша однобитового вектора является мерой корреляции этого бита с выходными данными булевой функции. Максимальный (по абсолютной величине) коэффициент Уолша известен как линейность функции. [8] Наибольшее количество битов (порядок), для которого все коэффициенты Уолша равны 0 (т. е. подфункции сбалансированы), называется устойчивостью , а функция называется корреляционной, невосприимчивой к этому порядку. [8] Коэффициенты Уолша играют ключевую роль в линейном криптоанализе .

Автокорреляция . булевой функции — это k-ичная целочисленная функция, задающая корреляцию между определенным набором изменений входных данных и выходными данными функции Для данного битового вектора он связан с весом Хэмминга производной в этом направлении. Максимальный коэффициент автокорреляции (по абсолютной величине) известен как абсолютный показатель . [7] [8] Если все коэффициенты автокорреляции равны 0 (т. е. производные сбалансированы) для определенного количества битов, то говорят, что функция удовлетворяет критерию распространения до этого порядка; если все они равны нулю, то функция является бент-функцией . [12] Коэффициенты автокорреляции играют ключевую роль в дифференциальном криптоанализе .

Коэффициенты Уолша булевой функции и ее коэффициенты автокорреляции связаны эквивалентом теоремы Винера-Хинчина , которая утверждает, что автокорреляция и спектр мощности представляют собой пару преобразований Уолша. [8]

Таблица линейной аппроксимации

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

Эти концепции можно естественным образом расширить до векторных булевых функций, рассматривая их выходные биты ( координаты ) по отдельности, или более тщательно, рассматривая набор всех линейных функций выходных битов, известных как его компоненты . [6] Набор преобразований Уолша компонентов известен как таблица линейной аппроксимации (LAT). [13] [14] или корреляционная матрица ; [15] [16] он описывает корреляцию между различными линейными комбинациями входных и выходных битов. Набор коэффициентов автокорреляции компонентов представляет собой таблицу автокорреляции , [14] связанные преобразованием Уолша компонентов [17] к более широко используемой Таблице распределения различий (DDT) [13] [14] в котором перечислены корреляции между различиями во входных и выходных битах (см. также: S-box ).

Действительная полиномиальная форма

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

На единичном гиперкубе

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

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

Прямые выражения для коэффициентов многочлена можно получить, взяв соответствующую производную: это обобщается как инверсия Мёбиуса битовых частично упорядоченного набора векторов: где обозначает вес битового вектора . По модулю 2 это булево преобразование Мёбиуса , дающее коэффициенты алгебраической нормальной формы : В обоих случаях сумма берется по всем битовым векторам a, покрытым m , т.е. «единичные» биты формы образуют подмножество одних битов m .

Когда область ограничена n-мерным гиперкубом , полином дает вероятность положительного результата, когда булева функция f применяется к n независимым случайным ( бернулли переменным ) с индивидуальными вероятностями x . Частным случаем этого факта является лемма о нагромождении для функций четности . Полиномиальная форма булевой функции также может использоваться как ее естественное расширение нечеткой логики .

О симметричном гиперкубе

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

Часто логический домен принимается как , с отображением false («0») на 1 и true («1») на -1 (см. Анализ логических функций ). Полином, соответствующий тогда дается: Использование симметричной логической области упрощает некоторые аспекты анализа , поскольку отрицание соответствует умножению на -1, а линейные функции являются мономами (XOR — умножение). Таким образом, эта полиномиальная форма соответствует преобразованию Уолша (в этом контексте также известному как преобразование Фурье ) функции (см. выше). Полином также имеет ту же статистическую интерпретацию, что и в стандартной логической области, за исключением того, что теперь он имеет дело с ожидаемыми значениями. ( см . в лемме о накоплении пример ).

Приложения

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

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

Свойства булевых функций имеют решающее значение в криптографии , особенно при разработке алгоритмов с симметричным ключом (см. поле подстановки ).

В теории кооперативных игр монотонные булевы функции называются простыми играми (играми с голосованием); это понятие применяется для решения проблем теории социального выбора .

См. также

[ редактировать ]
  1. ^ «Булева функция — Математическая энциклопедия» . энциклопедияofmath.org . Проверено 03 мая 2021 г.
  2. ^ Вайсштейн, Эрик В. «Булева функция» . mathworld.wolfram.com . Проверено 03 мая 2021 г.
  3. ^ «функция переключения» . TheFreeDictionary.com . Проверено 03 мая 2021 г.
  4. ^ Дэвис, Д.В. (декабрь 1957 г.). «Функции переключения трех переменных» . IRE-транзакции на электронных компьютерах . ИС-6 (4): 265–275. дои : 10.1109/TEC.1957.5222038 . ISSN   0367-9950 .
  5. ^ Маккласки, Эдвард Дж. (01 января 2003 г.), «Теория переключения» , Энциклопедия компьютерных наук , GBR: John Wiley and Sons Ltd., стр. 1727–1731, ISBN  978-0-470-86412-8 , получено 3 мая 2021 г.
  6. ^ Jump up to: а б Карлет, Клод. «Векторные логические функции для криптографии» (PDF) . Парижский университет . Архивировано (PDF) из оригинала 17 января 2016 г.
  7. ^ Jump up to: а б «Бульевы функции — Справочное руководство Sage 9.2: Криптография» . doc.sagemath.org . Проверено 1 мая 2021 г.
  8. ^ Jump up to: а б с д и ж Таранников Юрий; Королев, Петр; Ботев, Антон (2001). «Коэффициенты автокорреляции и корреляционная устойчивость булевых функций». В Бойде, Колин (ред.). Достижения в криптологии — ASIACRYPT 2001 . Конспекты лекций по информатике. Том. 2248. Берлин, Гейдельберг: Springer. стр. 460–479. дои : 10.1007/3-540-45682-1_27 . ISBN  978-3-540-45682-7 .
  9. ^ Карлет, Клод (2010), «Булевы функции для криптографии и кодов, исправляющих ошибки» (PDF) , Булевы модели и методы в математике, информатике и инженерии , Энциклопедия математики и ее приложений, Кембридж: Издательство Кембриджского университета, стр. 257–397, ISBN  978-0-521-84752-0 , получено 17 мая 2021 г.
  10. ^ Пепшик, Йозеф; Ван, Хуасюн; Чжан, Сянь-Мо (01 мая 2011 г.). «Преобразования Мебиуса, совпадающие булевы функции и свойство несовпадения булевых функций» . Международный журнал компьютерной математики . 88 (7): 1398–1416. дои : 10.1080/00207160.2010.509428 . ISSN   0020-7160 . S2CID   9580510 .
  11. ^ Нитадж, Абдеррахман; Сусило, Вилли; Тониен, Джозеф (01 октября 2017 г.). «Произведение Дирихле для булевых функций» . Журнал прикладной математики и вычислений . 55 (1): 293–312. дои : 10.1007/s12190-016-1037-4 . ISSN   1865-2085 . S2CID   16760125 .
  12. ^ Канто, Энн; Карлет, Клод; Шарпен, Паскаль; Фонтейн, Кэролайн (14 мая 2000 г.). «Характеристики распространения и корреляционная устойчивость сильно нелинейных логических функций» . Материалы 19-й Международной конференции по теории и применению криптографических методов . ЕВРОКРИПТ'00. Брюгге, Бельгия: Springer-Verlag: 507–522. ISBN  978-3-540-67517-4 .
  13. ^ Jump up to: а б Привет, Ховард М. «Учебное пособие по линейному и дифференциальному криптоанализу» (PDF) . Архивировано (PDF) из оригинала 17 мая 2017 г.
  14. ^ Jump up to: а б с «S-Box и их алгебраические представления — Справочное руководство Sage 9.2: Криптография» . doc.sagemath.org . Проверено 4 мая 2021 г.
  15. ^ Дэмен, Джоан; Говертс, Рене; Вандевалле, Йоос (1994). «Корреляционные матрицы». В Прениле, Барт (ред.). Быстрое программное шифрование: Второй международный семинар. Левен, Бельгия, 14-16 декабря 1994 г., Слушания . Конспекты лекций по информатике. Полный. 1008. Спрингер. стр. 275–285. дои : 10.1007/3-540-60590-8_21 .
  16. ^ Дэмен, Джоан (10 июня 1998 г.). «Глава 5: Распространение и корреляция — Приложение к предложению AES Rijndael» (PDF) . НИСТ . Архивировано (PDF) из оригинала 23 июля 2018 г.
  17. ^ Нюберг, Кайса (1 декабря 2019 г.). «Расширенные таблицы автокорреляции и бумеранга и связи между свойствами нелинейности векторных логических функций» (PDF) . Архивировано (PDF) из оригинала 2 ноября 2020 г.

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

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