[討論] 用數位邏輯的觀點判斷論證有效性

看板logic作者 (FT-ICR)時間5年前 (2018/09/08 16:11), 5年前編輯推噓3(303)
留言6則, 3人參與, 5年前最新討論串1/1
因為有些電資背景先學過了邏輯電路(數位邏輯),才學基礎邏輯(通識課) 所以常常思考方式會用數位邏輯來想,兩者之間 (至少以命題邏輯,更深內容的沒學過) ,我覺得是等價的,都是以布林邏輯為基礎 比如說 CNF,在數位邏輯中叫 product of sums (POS) DNF,在數位邏輯中叫 sum of products (SOP) (大部分時喜歡把電路化簡成這樣的形式) 學到有效性證明方式,各種方法像是直接、反證、條件這些,說實在用得不太習慣 也常常卡住要想下一步該怎麼做 所以自己把數位邏輯的觀點拿來用,用自己的方法證 (照著做一定可以證出來,不會證到 一半卡住需要回過頭去想其他解法) (考試時這樣的方法老師還看不懂,從頭跟他解釋@@) 以上廢話太多,直接開始吧 一個論證: P1 P2 ... Pn ── C 定義: P1ΛP2Λ...ΛPn ⊃ C如果是恆真句,則推論有效 我的作法是: 先對 P1ΛP2Λ...ΛPn 進行運算 (數位邏輯常做的邏輯化簡) ,可以得到S= (A1ΛB1Λ...ΛN1)V(A2ΛB2Λ...ΛN2)V(A3ΛB3Λ...ΛN3)V... V(AkΛBkΛ...ΛNk) 的形式 (DNF) 再做 ~SVC (也就是S⊃C)的邏輯運算,如果是恆真句,則推論有效 又或是邏輯運算化簡太複雜不好做,可以用填表的方式 我習慣的表長得這樣: (可以是2*2~4*4 最多4個變數(假設),更多也是可以只是會變 立體的) 稱為卡諾圖(Karnaugh map, K-map) BC 00 01 11 10 A 0 1 把P1、P2...Pn的邏輯各填一個表,取交集(目的也就是做Λ),最後的表就會是S 把表S反轉(1變0、0變1)、再加上C的表,看可不可以全部填滿1(恆真),如果可以就是有效 (當然兩個方法是互通的可以交叉使用) 直接舉實例: 論證 A≡B P1 A⊃D P2 ── ~AV(BΛD) C 結論 P1:A≡B = (AΛB)V(~AΛ~B) P2:A⊃D = ~AVD S = P1ΛP2 = ((AΛB)V(~AΛ~B))Λ(~AVD),經過邏輯運算可以得到DNF (~AΛ~B)V(AΛBΛD)V(~AΛ~BΛD) 化簡後是S = (~AΛ~B)V(AΛBΛD) ~S = (AΛ~B)V(AΛ~D)V(~AΛB) S⊃C運算恆真的話就是有效 ~SVC = (AΛ~B)V(AΛ~D)V(~AΛB)V(~A)V(BΛD),此運算可以發現是恆真,所以有效 換成圖的話 (0就忽略不寫) P1 = A≡B P2 = A⊃D BD BD 00 01 11 10 00 01 11 10 A 0 1 1 A 0 1 1 1 1 1 1 1 1 1 1 S是P1、P2的交集就是 S ~S BD BD 00 01 11 10 00 01 11 10 A 0 1 1 A 0 1 1 1 1 1 1 1 1 (用算的結果:S = (~AΛ~B)V(AΛBΛD) 相同) C = ~AV(BΛD) S⊃C = ~SVC 全都填滿1,恆真所以有效 BD BD 00 01 11 10 00 01 11 10 A 0 1 1 1 1 A 0 1 1 1 1 1 1 1 1 1 1 1 另外舉例 論證 A≡B P1 A⊃D P2 ── ~B C1 結論 S⊃C運算 ~SVC = (AΛ~B)V(AΛ~D)V(~AΛB)V(~B)=(~A)V(~B)V(~D) ,此運算非恆真,所以無效 用圖去看 C1 ~B S⊃C = ~SVC 沒填滿,非恆真所以無效 BD BD 00 01 11 10 00 01 11 10 A 0 1 1 A 0 1 1 1 1 1 1 1 1 1 1 1 再舉個例子 (#1Ip6u3En (logic),裡面花了快30步...) AvB P1 (A&B)→~C P2 (A&~B)→D P3 (~A&B)→E P4 C→(DvE) 結論 = (~C)V(D)V(E) P1ΛP2 = (AΛ~B)V(AΛ~C)V(~AΛB) 再ΛP3 = (~AΛB)V(BΛ~C)V(AΛ~BΛD) 再ΛP4 = (AΛ~BΛD)V(AΛBΛ~C)V(~AΛBΛE)=S S⊃結論 ~S = (AΛBΛC)V(~AΛ~B)V(~AΛ~E)V(~BΛ~D) 再V (~C)V(D)V(E) 可以發現恆真,所有有效 個人覺得這樣做簡單很多,不知道這樣的方式大家看得懂嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.77.199 ※ 文章網址: https://www.ptt.cc/bbs/logic/M.1536394262.A.8F2.html

09/11 09:02, 5年前 , 1F
看得懂。
09/11 09:02, 1F

09/12 09:12, 5年前 , 2F
用卡諾圖解很酷, 好!
09/12 09:12, 2F
感謝兩位板友! ※ 編輯: FTICR (140.112.73.30), 09/14/2018 03:28:22

10/20 21:49, 5年前 , 3F
數位邏輯跟基礎邏輯的差異在於,在某些邏輯系統裡,有的
10/20 21:49, 3F

10/20 21:49, 5年前 , 4F
邏輯蘊涵句並不是恆真句,所以你一開始寫這樣的話,老師
10/20 21:49, 4F

10/20 21:49, 5年前 , 5F
必須要慎重考慮一下。基礎邏輯講的是語句跟論證,跟數位
10/20 21:49, 5F

10/20 21:49, 5年前 , 6F
邏輯討論的對象有差異,目的也是
10/20 21:49, 6F
文章代碼(AID): #1RauGMZo (logic)