布林函數- 維基百科,自由的百科全書
文章推薦指數: 80 %
在數學中,布林函數(Boolean function),又稱邏輯函數,描述如何基於對布林輸入的某種邏輯計算確定布林值輸出。
它們在複雜性理論的問題和數字電腦的晶片設計中扮演 ...
布林函數
維基百科,自由的百科全書
跳至導覽
跳至搜尋
此條目需要精通或熟悉相關主題的編者參與及協助編輯。
(2014年1月18日)請邀請適合的人士改善本條目。
更多的細節與詳情請參見討論頁。
各種函數x↦f (x)
不同定義域和對應域
X
{\displaystyleX}
→
B
{\displaystyle\mathbb{B}}
,
B
{\displaystyle\mathbb{B}}
→
X
{\displaystyleX}
,
B
n
{\displaystyle\mathbb{B}^{n}}
→
B
{\displaystyle\mathbb{B}}
X
{\displaystyleX}
→(英語:integer-valuedfunction)
Z
{\displaystyle\mathbb{Z}}
,
Z
+
{\displaystyle\mathbb{Z}^{+}}
→
X
{\displaystyleX}
X
{\displaystyleX}
→(英語:real-valuedfunction)
R
{\displaystyle\mathbb{R}}
,
R
{\displaystyle\mathbb{R}}
→
X
{\displaystyleX}
,
R
n
{\displaystyle\mathbb{R}^{n}}
→(英語:functionofseveralrealvariables)
X
{\displaystyleX}
X
{\displaystyleX}
→(英語:complex-valuedfunction)
C
{\displaystyle\mathbb{C}}
,
C
{\displaystyle\mathbb{C}}
→
X
{\displaystyleX}
,
C
n
{\displaystyle\mathbb{C}^{n}}
→(英語:Functionofseveralcomplexvariables)
X
{\displaystyleX}
函數類/性質
常值
恆等
線性
多項式
有理
代數
解析
光滑
連續
可測
單射
滿射
對射
構造
限制
複合
λ
逆
推廣
偏(英語:Partialfunction)
多值
隱
閱論編
在數學中,布林函數(Booleanfunction),又稱邏輯函數,描述如何基於對布林輸入的某種邏輯計算確定布林值輸出。
它們在複雜性理論的問題和數字電腦的晶片設計中扮演基礎角色。
布林函數的性質在密碼學中扮演關鍵角色,特別是在對稱金鑰演算法的設計中(參見S-box)。
目次
1有限布爾函數
2代數範式
3參見
4外部連結
有限布林函數[編輯]
在數學中,有限布林函數是如下形式的函數f :Bk→B,這裡的B = {0, 1}是布林域,而k是非負整數。
在k = 0的情況下,函數簡單的是B的一個恆定元素。
更一般的說,形如f :X→B函數,這裡的X是任意集合,是布林值函數。
如果X=M={1, 2, 3, …},則f是「二進位序列」,就是說0和1的無限序列。
如果X=[k]={1, 2, 3, …, k},則f是長度為k的「二進位序列」
有
2
2
k
{\displaystyle2^{2^{k}}}
個這種函數。
代數範式[編輯]
布林函數可以唯一的寫為積(AND)之和(XOR)。
這叫做代數範式(ANF),也叫做Zhegalkin多項式。
f
(
x
1
,
x
2
,
…
,
x
n
)
=
{\displaystylef(x_{1},x_{2},\ldots,x_{n})=\!}
a
0
+
{\displaystylea_{0}+\!}
a
1
x
1
+
a
2
x
2
+
…
+
a
n
x
n
+
{\displaystylea_{1}\;x_{1}+a_{2}\;x_{2}+\ldots+a_{n}\;x_{n}+\!}
a
1
,
2
x
1
x
2
+
…
+
a
n
−
1
,
n
x
n
−
1
x
n
+
{\displaystylea_{1,2}\;x_{1}x_{2}+\ldots+a_{n-1,n}\;x_{n-1}x_{n}+\!}
…
…
…
+
{\displaystyle\ldots\quad\ldots\quad\ldots+\!}
a
1
,
2
,
…
,
n
x
1
x
2
…
x
n
{\displaystylea_{1,2,\ldots,n}\;x_{1}x_{2}\ldotsx_{n}\!}
這裡的
a
0
,
a
1
,
…
,
a
1
,
2
,
…
,
n
∈
{
0
,
1
}
∗
{\displaystylea_{0},a_{1},\ldots,a_{1,2,\ldots,n}\in\{0,1\}^{*}}
。
序列
a
0
,
a
1
,
…
,
a
1
,
2
,
…
,
n
{\displaystylea_{0},a_{1},\ldots,a_{1,2,\ldots,n}}
的值因此還唯一的表示一個布林函數。
布林函數的代數次數被定義為出現在乘積項中的
x
i
{\displaystylex_{i}}
的最高次數。
所以
f
(
x
1
,
x
2
,
x
3
)
=
x
1
+
x
3
{\displaystylef(x_{1},x_{2},x_{3})=x_{1}+x_{3}}
有次數1(線性),而
f
(
x
1
,
x
2
,
x
3
)
=
x
1
+
x
1
x
2
x
3
{\displaystylef(x_{1},x_{2},x_{3})=x_{1}+x_{1}x_{2}x_{3}}
有次數3(立方)。
對於每個函數
f
{\displaystylef}
都有一個唯一的ANF。
只有四個函數有一個參數:
f
(
x
)
=
0
{\displaystylef(x)=0}
,
f
(
x
)
=
1
{\displaystylef(x)=1}
,
f
(
x
)
=
x
{\displaystylef(x)=x}
,
f
(
x
)
=
1
+
x
{\displaystylef(x)=1+x}
;它們都可以在ANF中給出。
要表示有多個參數的函數,可以使用如下等式:
f
(
x
1
,
x
2
,
…
,
x
n
)
=
g
(
x
2
,
…
,
x
n
)
+
x
1
h
(
x
2
,
…
,
x
n
)
{\displaystylef(x_{1},x_{2},\ldots,x_{n})=g(x_{2},\ldots,x_{n})+x_{1}h(x_{2},\ldots,x_{n})}
,
這裡的
g
(
x
2
,
…
,
x
n
)
=
f
(
0
,
x
2
,
…
,
x
n
)
{\displaystyleg(x_{2},\ldots,x_{n})=f(0,x_{2},\ldots,x_{n})}
並且
h
(
x
2
,
…
,
x
n
)
=
f
(
0
,
x
2
,
…
,
x
n
)
+
f
(
1
,
x
2
,
…
,
x
n
)
{\displaystyleh(x_{2},\ldots,x_{n})=f(0,x_{2},\ldots,x_{n})+f(1,x_{2},\ldots,x_{n})}
。
實際上,
如果
x
1
=
0
{\displaystylex_{1}=0}
,則
x
1
h
=
0
{\displaystylex_{1}h=0}
,並因此
f
(
0
,
…
)
=
f
(
0
,
…
)
{\displaystylef(0,\ldots)=f(0,\ldots)}
;
如果
x
1
=
1
{\displaystylex_{1}=1}
,則
x
1
h
=
h
{\displaystylex_{1}h=h}
,並因此
f
(
1
,
…
)
=
f
(
0
,
…
)
+
f
(
0
,
…
)
+
f
(
1
,
…
)
{\displaystylef(1,\ldots)=f(0,\ldots)+f(0,\ldots)+f(1,\ldots)}
。
因為
g
{\displaystyleg}
和
h
{\displaystyleh}
二者都有比
f
{\displaystylef}
少的參數,可以得出遞迴的使用這個過程將完成於只有一個變數的函數。
例如,讓我們構造一個
f
(
x
,
y
)
=
x
∨
y
{\displaystylef(x,y)=x\lory}
(邏輯或)的ANF:
f
(
x
,
y
)
=
f
(
0
,
y
)
+
x
(
f
(
0
,
y
)
+
f
(
1
,
y
)
{\displaystylef(x,y)=f(0,y)+x(f(0,y)+f(1,y)}
;
因為
f
(
0
,
y
)
=
0
∨
y
=
y
{\displaystylef(0,y)=0\lory=y}
並且
f
(
1
,
y
)
=
1
∨
y
=
1
{\displaystylef(1,y)=1\lory=1}
,可以得出
f
(
x
,
y
)
=
y
+
x
(
y
+
1
)
{\displaystylef(x,y)=y+x(y+1)}
;
通過打開括號我們得到最終的ANF:
f
(
x
,
y
)
=
y
+
x
y
+
x
=
x
+
y
+
x
y
{\displaystylef(x,y)=y+xy+x=x+y+xy}
。
參見[編輯]
布林代數主題列表
真值函數
零階邏輯
外部連結[編輯]
BooleanPlanet(頁面存檔備份,存於網際網路檔案館)—booleanfunctionsincryptography.
取自「https://zh.wikipedia.org/w/index.php?title=布尔函数&oldid=71477905」
分類:密碼學布爾代數函數隱藏分類:自2014年1月需要專業人士關注的頁面
導覽選單
個人工具
沒有登入討論貢獻建立帳號登入
命名空間
條目討論
臺灣正體
不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體
查看
閱讀編輯檢視歷史
更多
搜尋
導航
首頁分類索引特色內容新聞動態近期變更隨機條目資助維基百科
說明
說明維基社群方針與指引互助客棧知識問答字詞轉換IRC即時聊天聯絡我們關於維基百科
工具
連結至此的頁面相關變更上傳檔案特殊頁面靜態連結頁面資訊引用此頁面維基數據項目
列印/匯出
下載為PDF可列印版
其他語言
العربيةCatalàDeutschEnglishEspañolEuskaraفارسیFrançaisहिन्दीMagyarՀայերենItaliano日本語Қазақша한국어LatviešuМакедонскиNederlandsPolskiPortuguêsРусскийУкраїнська
編輯連結
延伸文章資訊
- 1布林函數
在數學中,布林函數(Boolean function),又稱邏輯函數,描述如何基於對布林輸入的某種邏輯計算確定布林值輸出。它們在複雜性理論的問題和數字電腦的晶片設計中扮演 ...
- 2C 速查手冊- 6.5.2 布林函數 - 程式語言教學誌
所謂的布林函數(Boolean function) 是指傳回真假值的函數(function) ,由於C 語言中運算式(expression) 結果為0 就表示假(false) ,非0 值就表示真...
- 3Chapter 3 數位邏輯3-11
在我們前面所談的布林代數的化簡中,最後一定會成爲AND、OR及. NOT三種閘的組合。現在我們介紹NAND及NOR這兩種萬用閘,萬用閘的. 好處,就是所有的布林函數,最後都 ...
- 44.2布林代數卡諾圖簡化
4.2 布林代數卡諾圖簡化. 以布林定理化簡布林函數時,常常不知如何著手,甚至在函數中那一項需要分解,那一項需要合併,也難一眼看出,而且最後結果是否為最簡式往往 ...
- 5布林代數的化簡
體電路所需之成本。 ◇ 布林代數之化簡(Minimization) 是將布林函數(Boolean Function) 表示式採用某些簡化準.