Re: [請益] 邏輯句子的表達
※ 引述《ht4300 (低調)》之銘言:
: 請問各位大大
: 我在書上看到一題
: 只有碩士生可以修所有的研究所課程
: 而不用先修過任何的大學課程
: 這句話要怎麼表達
: 想了半天想不出來
: 我先設
: x 是學生
這邊這樣寫不好 x是變數(項)
你要寫成 S={x:x is 學生}
: M(x) x 是碩士生
: y 是課程
這邊雷同
: G(y) 是 y 是研究所的課
: T(x,y) 是 x 有修過 y 課
: U(y) 是 y 是大學部的課
: 之後就不知道怎麼組合起來
: 請大家幫幫忙
除了你設定的外 我多加點東西
Pxy x可以修y
C={z:z is 課程}
如果你不習慣集合的寫法的話 或者像我一樣集合學得很爛的話
可以用
Sx x是學生
Cy y是課程
來寫句子 這樣就不用對x,y,z多作交代了
原句子可以改寫變成
"對所有的學生來說,如果所有研究所的課程,x都能修,
而且沒有一個z,z是大學部課程,並且x沒修z會導致他不可以修y,那麼x是碩士生。"
那答案就是
for all x (for all y((Gy-->Pxy) and not-exsit z ((Uz and not-Txz)-->
not-Pxy))-->Mx)
上面的黃色箭號也可以用雙箭號
請參考看看
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.201.196
※ 編輯: aletheia 來自: 220.134.201.196 (10/12 03:19)
※ 編輯: aletheia 來自: 220.134.201.196 (10/12 04:20)
※ 編輯: aletheia 來自: 220.134.201.196 (10/12 04:26)
※ 編輯: aletheia 來自: 220.134.201.196 (10/12 04:41)
討論串 (同標題文章)