布爾函數

布爾函數

在數學中,布爾函數通常是如下形式的函數 F(b1,b2,...,bn) 帶有 n 個來自兩元素布爾代數 0,1 的布爾變數 bi,F 的取值也在 0,1 中。在一般的定義域上的,取值在 0,1 中的函數也叫做布爾值函數,所以布爾函數是它的特殊情況。布爾函數的性質研究中發揮關鍵作用密碼學,特別是在設計的對稱密鑰演演算法(見替代框)。一個布爾函數介紹了如何確定一個布爾值輸出基於某種邏輯輸入計算的布爾值。

簡介


帶有定義域 的這種函數通常叫做二進位序列,就是說 0 和 1 的無限序列;通過限制到,布爾函數是編碼長度為 n 的序列的自然的方法。
它有 個布爾函數;它們在複雜性理論的問題和數字計算機的晶元設計中扮演基礎角色。布爾函數的性質在密碼學中扮演關鍵角色,特別是在對稱密鑰演演算法的設計中(參見 S-box)。
在布爾值函數上的布爾運算逐點(point-wise)組合值(比如通過 XOR 或其他布爾運算符)。
布爾函數可以唯一的寫為積(AND)之和(XOR)。這叫做代數範式 (ANF)。
序列 的值因此還唯一的表示一個布爾函數。布爾函數的代數度被定義為出現在乘積項中的 xi 的最高數。所以有度數 1 (線性),而 有度數 3 (立方)。

代數範式


布爾函數可以唯一的寫為積(AND)之和(XOR)。這叫做代數範式(ANF),也叫做Zhegalkin多項式
這裡的序列 的值因此還唯一的表示一個布爾函數。布爾函數的代數次數被定義為出現在乘積項中的 xi 的最高次數。所以 有次數 1 (線性),而 有次數 3 (立方)。
對於每個函數 f 都有一個唯一的 ANF。只有四個函數有一個參數: (它們都可以在 ANF 中給出),要表示有多個參數的函數,可以使用如下等式: ,這裡的 並且。實際上,如果 則 並因此;如果 則 並因此。因為 g 和 h 二者都有比 f 少的參數,可以得出遞歸的使用這個過程將完成於只有一個變數的函數。例如,讓我們構造一個(邏輯或)的 ANF: ;因為 並且,可以得出 ;通過打開括弧我們得到最終的 ANF: 。
在應用程序中的布爾函數
一個布爾函數介紹了如何確定一個布爾值輸出基於某種邏輯輸入計算的布爾值。這些職能發揮作用的問題的基本理論,複雜性,以及作為設計的電路晶元和數字電腦。布爾函數的性質研究中發揮關鍵作用密碼學,特別是在設計的對稱密鑰演演算法(見替代框)。
布爾函數通常代表中的句子命題邏輯,有時作為多元多項式超過綠 ⑵,但更有效的申述,二元決策圖(BDD)的,正常的否定形式,與命題向無環圖(PDAG)。
在合作博弈論,布爾函數被稱為遊戲)簡單的遊戲(表決;這個概念應用到解決問題的社會選擇理論。

參見


代數集
布爾代數(邏輯)
布爾代數主題
布爾域
布爾值函數
邏輯連詞
真值函數
真值表
對稱布爾函數
決策樹模型
迴避的布爾函數