網頁

2009年9月4日星期五

一加一等於一 - Boolean Algebra

邏輯學有一部分係:Conjunction(AND), Disjunction(OR), Negation(NOT)
配合「對」、「錯」,去處理複雜既是是非非
但假如問你:(True AND False) OR Not( True OR False ) AND (True AND False )
「答案係True定False?」既話,我諗好多人會拎蕉皮
簡化D:
(T^F) v ¬(TvF) ^ (T^F)=??
同樣會被人拎蕉皮
咁就不如再簡單D
有位仁兄巧妙利用加同乘既特性,定義左一個Set of Numbers
B:{0,1},Boolean Number,0同1,分別代表 False 同 True
以乘(‧)代替AND,加代替OR,頭頂一橫線( Conjugation )當做 NOT
用簡單數學可以得出:1‧1=1,1‧0=0,0‧0=0,0‧1=0
同T^T,T^F,F^F,F^T既答案不謀而合
加就得意D,定義1+1=1,之後同樣用數學:1+0=1,0+1=1,0+0=0
同TvT,TvF,FvF,FvT既答案亦都係不謀而合
同時定義 0=1,1=0
所以(T^F) v ¬(TvF) ^ (T^F)=??
可以寫做:(1‧0) + ( 1+0 ) ‧ (1‧0) ≡??
好簡單:答案係0,姐係False
( 想像Underline條線係上面而唔係下面 )

當然仲有好多更複雜而令人興奮既Boolean Function, Boolean Operator
敬請期待!

廢話一提,第一次接觸Boolean Number係用Warcraft 3 World Editor寫Trigger時見過
當時淨係知係用黎Check Condition True or False
中三借果本C Program既書都有...但果陣冇讀到咁深:(

沒有留言: