2009-07-18

[離散]邏輯

上課例題(97中興):

第一行是題目,要求他的negation,
倒數第二行是自己最後求出來的解答,
最後一行是老師給的答案
想請問我的算法錯在哪裡呢?




上課例題(97臺大):


if p then q else r

=(p→q)^(~p→r)

請問為什麼是中間是用^??


2 則留言:

線代離散助教(wynne) 提到...

1. 如果題目沒打錯, 那你解出來的應該是對的

2. 可以把if...和else...想成是獨立的兩件事情, 而這兩件事情我們都要求他們必須成立, 所以要用and (若用or的話, 那麼只要前面的p->q成立, 則不管!p會imply什麼, 整句話都還是會對, 那就不是題目所要的了)

黃子嘉 提到...

1. 應該是筆誤的關係, 那題的答案要求不能有imply的符號, 您的答案沒問題滴

2. 我上課有提到二種寫法
第一種寫法就如您寫的這樣
第二種是(p ^ q) v (~p ^ r)
第二種寫法或許您比較能接受, 然後我們稍微畫一下這二種寫法的truth table就會發現是一樣的, 接著再去想一下為何第一種要用and, 我想這樣您應該就會明白一些