В математике и логике , А булева функция является функцией , чьи аргументы , а также сама функция, принимают значения из набора из двух элементов ( как правило , {0,1} или {True, False}). [1] [2] Альтернативное название - функция переключения , особенно часто используется в более ранней литературе по информатике . [3] [4] Булевы функции являются предметом булевой алгебры и теории переключений . [5]
Логическая функция принимает форму , которая называется логической областью и представляет собой неотрицательное целое число, называемое арностью функции. В случае , когда «функция» является постоянным элементом . Функция Логической с несколькими выходами, с представляет собой векторная или вектор- булева функция (ые S-окно в криптографии ). [6]
Существуют разные логические функции с аргументами; равно количеству различных таблиц истинности с записями.
Каждую -арную булеву функцию можно выразить как пропозициональную формулу в переменных , и две пропозициональные формулы логически эквивалентны тогда и только тогда, когда они выражают одну и ту же логическую функцию.
Примеры [ править ]
Элементарные симметричные булевы функции ( логические связки или логические элементы ):
- НЕ , отрицание или дополнение - который получает один ввод и возвращает истину, когда этот ввод ложен («не»).
- И или соединение - истина, когда все входные данные верны ("оба")
- ИЛИ или дизъюнкция - истина, когда любой вход истинен ("либо")
- XOR или исключительная дизъюнкция - истина, когда один из его входов истинен, а другой ложен ("не равно")
- NAND или Sheffer stroke - истина, если не все входные данные верны ("не оба")
- ИЛИ или логическое ни - истина, когда ни один из входов не является истиной ("ни один")
- XNOR или логическое равенство - истина, когда оба входа одинаковы ("равны")
Примером более сложной функции является функция большинства (нечетного числа входов).
Представление [ править ]
Логическая функция может быть указана разными способами:
- Таблица истинности : явное перечисление ее значения для всех возможных значений аргументов
- Диаграмма Маркуанда: значения таблицы истинности, расположенные в двумерной сетке (используется в карте Карно )
- Диаграмма двоичных решений , в которой перечислены значения таблицы истинности в нижней части двоичного дерева
- Диаграмма Венна , изображающая значения таблицы истинности в виде раскраски областей плоскости
Алгебраически, как пропозициональная формула с использованием рудиментарных булевых функций:
- Нормальная форма отрицания , произвольное сочетание И и ИЛИ аргументов и их дополнений
- Дизъюнктивная нормальная форма как ИЛИ аргументов и их дополнений
- Конъюнктивная нормальная форма как ИЛИ аргументов и их дополнений
- Каноническая нормальная форма , стандартизованная формула, однозначно определяющая функцию:
- Алгебраическая нормальная форма или многочлен Жегалкина , как исключающее ИЛИ логических операций И аргументов (дополнения не допускаются)
- Полная (каноническая) дизъюнктивная нормальная форма , логическое ИЛИ, каждое из которых содержит каждый аргумент или дополнение ( minterms )
- Полная (каноническая) конъюнктивная нормальная форма , логическое И или ИЛИ, каждое из которых содержит каждый аргумент или дополнение ( maxterms )
- Каноническая форма Блейка , ИЛИ всех простых импликант функции
Булевы формулы также могут отображаться в виде графика:
- Пропозиционально ориентированный ациклический граф
- Цифровая принципиальная схема логических вентилей , логическая схема
- График И-инвертора , использующий только И и НЕ
Для оптимизации электронных схем булевы формулы могут быть минимизированы с помощью алгоритма Куайна – Маккласки или карты Карно .
Анализ [ править ]
Свойства [ править ]
Логическая функция может иметь множество свойств: [7]
- Константа : всегда истинно или всегда ложно независимо от аргументов.
- Монотонный : для каждой комбинации значений аргументов изменение аргумента с false на true может привести только к переключению вывода с false на true, а не с true на false.
- Линейный : для каждой переменной переворачивание значения переменной либо всегда влияет на значение истинности, либо никогда не имеет значения ( функция четности ).
- Симметричный : значение не зависит от порядка его аргументов.
- Однократное чтение : может быть выражено с помощью соединения , дизъюнкции и отрицания с одним экземпляром каждой переменной.
- Сбалансированный : если его таблица истинности содержит равное количество нулей и единиц. Вес Хэмминга функции является число единиц в таблице истинности.
- Бент : все его производные сбалансированы (спектр автокорреляции равен нулю)
- Корреляция невосприимчива к m- му порядку: если выход не коррелирован со всеми (линейными) комбинациями не более m аргументов
- Уклончиво : если оценка функции всегда требует значения всех аргументов
- Логическая функция является функцией Шеффера, если ее можно использовать для создания (путем композиции) любой произвольной логической функции (см. Функциональную полноту )
Сложность схемы пытается классифицировать булевы функции по размеру или глубине схем, которые могут их вычислить.
Производные функции [ править ]
Булева функция может быть разложена с использованием теоремы Буля о разложении на положительные и отрицательные кофакторы Шеннона ( расширение Шеннона ), которые являются (k-1) -арными функциями, возникающими в результате фиксации одного из аргументов (до нуля или единицы). Общие (k-арные) функции, полученные путем наложения линейного ограничения на набор входных данных (линейное подпространство), называются подфункциями . [8]
Булевы производная функции к одному из аргументов является (к-1) -ичной функцией, верно , когда выход функции является чувствительным к выбранному входному переменному; это XOR двух соответствующих сомножителей. Производная и кофактор используются в разложении Рида – Мюллера . Эту концепцию можно обобщить как k-арную производную в направлении dx, полученную как разность (XOR) функции в x и x + dx. [8]
Криптографический анализ [ править ]
Преобразование Уолша булевой функции - это k-арная целочисленная функция, дающая коэффициенты разложения на линейные функции ( функции Уолша ), аналогичные разложению действительных функций на гармоники с помощью преобразования Фурье . Его квадрат - это спектр мощности или спектр Уолша . Коэффициент Уолша однобитового вектора является мерой корреляции этого бита с выходом булевой функции. Максимальный (по модулю) коэффициент Уолша известен как линейность функции. [8]Наибольшее количество битов (порядок), для которого все коэффициенты Уолша равны 0 (т. Е. Подфункции сбалансированы), называется отказоустойчивостью , а функция называется корреляционной невосприимчивой к этому порядку. [8] Коэффициенты Уолша играют ключевую роль в линейном криптоанализе .
Автокорреляции булевой функции является к-ичных целочисленная функция дает корреляцию между определенным набором изменений входов и функцией Ouput. Для данного битового вектора это связано с весом Хэмминга производной в этом направлении. Максимальный коэффициент автокорреляции (по абсолютной величине) известен как абсолютный показатель . [7] [8] Если все коэффициенты автокорреляции равны 0 (т. Е. Производные сбалансированы) для определенного числа битов, то говорят, что функция удовлетворяет критерию распространения в этом порядке; если все они равны нулю, то функция является бент-функцией . [9] Коэффициенты автокорреляции играют ключевую роль вдифференциальный криптоанализ .
Коэффициенты Уолша булевой функции и ее коэффициенты автокорреляции связаны эквивалентом теоремы Винера – Хинчина , которая утверждает, что автокорреляция и спектр мощности являются парой преобразования Уолша. [8]
Эти концепции можно естественным образом расширить до векторных булевых функций, рассматривая их выходные биты ( координаты ) по отдельности, или более тщательно, рассматривая набор всех линейных функций выходных битов, известных как его компоненты . [6] Набор преобразований Уолша компонентов известен как таблица линейного приближения (LAT) [10] [11] или корреляционная матрица [12] [13] ; он описывает корреляцию между различными линейными комбинациями входных и выходных битов. Набор коэффициентов автокорреляции компонентов представляет собой таблицу автокорреляции [11], связанный преобразованием Уолша компонентов [14] с более широко используемой таблицей распределения различий (DDT) [10] [11], в которой перечислены корреляции между различиями во входных и выходных битах (см. также: S-блок ).
Приложения [ править ]
Логические функции играют основную роль в вопросах теории сложности, а также при разработке процессоров для цифровых компьютеров , где они реализуются в электронных схемах с использованием логических вентилей .
Свойства булевых функций имеют решающее значение в криптографии , особенно при разработке алгоритмов с симметричным ключом (см. Блок подстановки ).
В теории кооперативных игр монотонные булевы функции называются простыми играми (играми с голосованием); это понятие применяется для решения проблем теории социального выбора .
См. Также [ править ]
- Алгебра множеств
- Булева алгебра
- Темы булевой алгебры
- Булево дифференциальное исчисление
- Булевозначная функция
- Модель дерева решений
- Индикаторная функция
- Логическая связка
- Псевдобулева функция
- Подписанный набор
- Функция истины
- Таблица истинности
Ссылки [ править ]
- ^ «Булева функция - Математическая энциклопедия» . encyclopediaofmath.org . Источник 2021-05-03 .
- ^ Вайсштейн, Эрик В. «Булева функция» . mathworld.wolfram.com . Источник 2021-05-03 .
- ^ "функция переключения" . TheFreeDictionary.com . Источник 2021-05-03 .
- ^ Дэвис, DW (декабрь 1957 г.). «Функции переключения трех переменных» . Операции IRE на электронных компьютерах . ИС-6 (4): 265–275. DOI : 10.1109 / TEC.1957.5222038 . ISSN 0367-9950 .
- ^ Маккласки, Эдвард Дж. (01.01.2003), «Теория переключения» , Энциклопедия компьютерных наук , Великобритания: John Wiley and Sons Ltd., стр. 1727–1731, ISBN 978-0-470-86412-8, дата обращения 2021-05-03
- ^ a b Карлет, Клод. «Векторные булевы функции для криптографии» (PDF) . Парижский университет .
- ^ a b «Логические функции - Справочное руководство Sage 9.2: Криптография» . doc.sagemath.org . Проверено 1 мая 2021 .
- ^ a b c d e f Таранников Юрий; Королев, Петр; Ботев, Антон (2001). Бойд, Колин (ред.). «Коэффициенты автокорреляции и корреляционная невосприимчивость булевых функций» . Достижения в криптологии - ASIACRYPT 2001 . Конспект лекций по информатике. Берлин, Гейдельберг: Springer. 2248 : 460–479. DOI : 10.1007 / 3-540-45682-1_27 . ISBN 978-3-540-45682-7.
- ^ Канто, Анна; Карлет, Клод; Шарпен, Паскаль; Фонтейн, Кэролайн (2000-05-14). «Характеристики распространения и корреляционная невосприимчивость высоконелинейных булевых функций» . Материалы 19-й Международной конференции по теории и применению криптографических методов . EUROCRYPT'00. Брюгге, Бельгия: Springer-Verlag: 507–522. ISBN 978-3-540-67517-4.
- ^ a b Хейс, Ховард М. «Учебное пособие по линейному и дифференциальному криптоанализу» (PDF) .
- ^ a b c "S-блоки и их алгебраические представления - Справочное руководство Sage 9.2: Криптография" . doc.sagemath.org . Проверено 4 мая 2021 .
- ^ Daemen, Джоан; Говертс, Рене; Вандевалле, Джус (1995). Пренил, Барт (ред.). «Корреляционные матрицы» . Быстрое программное шифрование . Конспект лекций по информатике. Берлин, Гейдельберг: Springer: 275–285. DOI : 10.1007 / 3-540-60590-8_21 . ISBN 978-3-540-47809-6.
- ^ Daemen, Joan (10 июня 1998). «Глава 5: Распространение и корреляция - Приложение к предложению AES Rijndael» (PDF) . NIST .
- ↑ Ниберг, Кайса (1 декабря 2019 г.). "Расширенные таблицы автокорреляции и бумеранга и связи между свойствами нелинейности векторных булевых функций" (PDF) .
Дальнейшее чтение [ править ]
- Крама, Ив; Хаммер, Питер Л. (2011), Булевы функции: теория, алгоритмы и приложения , Cambridge University Press, DOI : 10.1017 / CBO9780511852008 , ISBN 9780511852008 CS1 maint: обескураженный параметр ( ссылка )
- "Булева функция" , Энциклопедия математики , EMS Press , 2001 [1994]
- Янкович, Драган; Станкович, Радомир С .; Морага, Клаудио (ноябрь 2003 г.). «Оптимизация арифметических выражений с использованием свойства двойной полярности» (PDF) . Сербский журнал электротехники . 1 (71–80, номер 1): 71–80. DOI : 10.2298 / SJEE0301071J . Архивировано из оригинального (PDF) 05 марта 2016 года . Проверено 7 июня 2015 .
- Арнольд, Брэдфорд Генри (1 января 2011 г.). Логика и булева алгебра . Курьерская корпорация. ISBN 978-0-486-48385-6.
- Мано, ММ; Силетти, доктор медицины (2013), цифровой дизайн , Pearson
Для этой статьи нужны дополнительные или более конкретные категории . Май 2021 г. ) ( |