Saturday, September 10, 2005

ตรรกศาสตร์: อารัมภบท

จริง ๆ อยากเขียนเรื่องตรรกะมานานแล้ว เพราะมันเป็นหัวข้อ Senior Project ที่ผมเคยทำไป แต่แบบว่ามันติดลมเรื่อง Discrete vs Continuous ก็เลยปล่อยมานานขนาดนี้ บังเอิญว่าได้รับแรงกระตุ้นจากกระทู้นึงใน PANTIP.COM วันนี้ก็ขอเริ่มเลยละกัน

อันนี้ที่เป็นจุดเริ่มต้นของโจทย์


คือ มีหลายคนที่หาคำตอบได้ แต่ผมว่ามันไม่มีคำตอบ ผมก็เลยตั้งข้อสังเกตขึ้นมาอย่างนึง เป็น Simplified Version อยู่ในกระทู้นี้


แล้วก็พบว่า ... ความเห็นที่ 12 ในกระทู้นี่ พูดถูกใจมาก

(แล้วตกลง มันเป็นโจทย์จากไหนอะ ... จาก Einstein จริง ๆ เหรอ ? ใครรู้ช่วยบอกด้วย)

จุดประสงค์ของเรื่องนี้ก็คือ อยากจะเตือนเรื่องการใช้ตรรกะกันหน่อยนะครับ โจทย์สุดแสนจะคลาสสิกของเรื่องนี้ ก็คือ
กำหนดให้
1. ถ้าฝนตก แล้วถนนจะเปียก
2. ถนนเปียก
สรุปว่า "ฝนตก" สมเหตุสมผลรึเปล่า?
หลาย ๆ คนคงจะรู้อยู่แล้วว่ามัน ไม่สมเหตุสมผล แต่ใครที่ยังคิดไม่ทัน ลองดูนี่นะ

ให้ "ฝนตก" ≡ p
"ถนนเปียก" ≡ q

โจทย์จะแปลงได้เป็นคำถามนี้
[(p → q) ∧ q] → p เป็นสัจพจน์หรือไม่?
จากการคิดนิดหน่อย เราจะหา Counterexample ได้ คือ p เป็นเท็จ และ q เป็นจริง ดังนั้น การสรุปไม่สมเหตุสมผล ซึ่งคิดในภาษาไทย มันก็คือ ถนนอาจจะเปียก เพราะอย่างอื่นก็ได้ เช่นมีคนเอาน้ำราด หรือเกิด Tsunami เราจึงไม่ควรสรุปว่าฝนตก

แต่อย่างไรก็ตาม ต่อให้เพิ่มสิ่งต่อไปนี้
  1. ถ้าฝนตก แล้วถนนจะเปียก
  2. ถ้ามีคนเอาน้ำราดถนน แล้วถนนจะเปียก
  3. ถ้าเกิด Tsunami แล้วถนนจะเปียก
  4. ถนนเปียก
  5. ไม่มีคนเอาน้ำมาราดถนน
  6. ไม่เกิด Tsunami
ข้อสรุปที่ว่า "ฝนตก" ก็ยังไม่ถูกอยู่ดี (ใครสงสัย กรุณาเขียนใน comment ครับ)

แล้วมันเกี่ยวอะไรกับกระทู้ในหว้ากอ? มันก็คือโจทย์นี้ล่ะครับ
มีค่าคงที่อยู่ 5 ตัว คือ a b c d e ซึ่งแต่ละตัวมีค่าไม่ซ้ำกันเลย โดยที่
a = 1
b = 2
c = 3
d = 4
สรุปว่า e = 5 ... ถูกรึเปล่า?
ใคร ๆ ก็คงรู้ว่า มันไม่ถูกแน่ ๆ ... แต่พอเปลี่ยนโจทย์เป็น
มีค่าคงที่อยู่ 5 ตัว คือ a b c d e ซึ่งแต่ละตัวมีค่าไม่ซ้ำกันเลย โดยที่
a = 1
b = 2
c = 3
d = 4
ถามว่า ค่าไหนเท่ากับ 5?
ดันมีคนตอบว่าเป็น e (- -'')

จะหาว่ากวนก็ได้นะ แต่ถ้าเอาโจทย์นี้ไปแปลงเป็น First-Order Language แล้วเอาไปคิด ไม่ว่าจะใช้วิธีอะไรก็ตาม คำตอบที่ว่า e = 5 จะไม่หลุดออกมาหรอก (ไว้จะเขียนเรื่อง First-Order Language อีกที)

ถ้าหากต้องการให้ตอบว่า 5 ต้องเติมเงื่อนไขอีกข้อนึงครับ
มีค่าคงที่อยู่ 5 ตัว คือ a b c d e ซึ่งแต่ละตัวมีค่าไม่ซ้ำกันเลย โดยที่
{a, b, c, d, e} = {1, 2, 3, 4, 5}
a = 1
b = 2
c = 3
d = 4
ถามว่า ค่าไหนเท่ากับ 5?
คราวนี้ถ้าเอาไปถามคอมพิวเตอร์ มันก็จะตอบว่า 5 แน่นอน!

ขอแอบบอกไว้ก่อนนิดนึง ว่าตรรกศาสตร์ตอนหน้า จะมี Algorithm สำหรับพิสูจน์ความสมเหตุสมผล ของตรรกศาสตร์เชิงประพจน์ (Propositional Logic) มาฝาก

7 Comments:

At 9/10/2005 5:34 PM, Blogger JoopIE said...

คนที่ไม่มีตรรกะคือคนโง่ที่คิดว่าตัวเองฉลาด
คนที่มีตรรกยะคือคนฉลาดที่คิดว่าตัวเองโง่
(จะมีคนพยามหาค่าความจริงของประโยคข้างบนนี้ไม๊)

 
At 9/10/2005 9:29 PM, Blogger peam said...

กลับสู่ logic ค่อยอ่านง่ายหน่อย

 
At 9/10/2005 9:34 PM, Blogger peam said...

คอมมีแต่ตรรกะแต่ก็ฉลาดไม่มากกว่าคน

 
At 9/11/2005 1:54 AM, Blogger Tunococ said...

คนที่มี "ตรรกยะ" ...

 
At 9/11/2005 2:32 AM, Blogger JoopIE said...

พิมพ์ผิด T_T ตรรกยะ*

 
At 9/11/2005 2:51 AM, Anonymous Anonymous said...

>3<
ศัพท์เทพๆ อยู่คู่กับภาวินท์
ภาวินท์อยู่ที่นี่
ดังนั้น........

 
At 9/11/2005 11:05 PM, Anonymous Anonymous said...

ตรรกะ สาด~ =b="

 

Post a Comment

<< Home