วันเสาร์ที่ 18 สิงหาคม พ.ศ. 2561

symbolic logic กับ classical logic มันคืออะไรกัน แตกต่างกันยังไงนะ

โพสนี้อยู่ในหมวด เรียนรู้ logic programming + argumentation นะคะ

จริงๆตอนแรกอยากจะตั้งชื่อโพสวันนี้ว่าบันทึกบทสนทนาเวลาเบื่อๆ ของชาว logic แต่ก็เกรงใจกลัวว่าเดี๋ยวอาจจะเข้าใจผิดได้ว่า เอ... ทำไมต้องเป็นชาว logic ถึงจะคุยอะไรแบบนี้ แต่จริงๆเจตนาเราคือ อยากจะล้อเล่นน่ะค่ะ  เนื่องจากว่า  วันนี้อาจารย์เราเกิดความรู้สึกเบื่อๆ อยู่ในภาวะไม่มีอะไรทำ พอดีคุยโทรฯกันเรื่องงาน เราก็เลยแก้เบื่ออาจารย์ด้วยการถามคำถามไปซะเลย  ฮ่าๆๆๆ

เพราะเราอยากจะรู้(โดยไม่ต้องไปอ่านเองตั้งมากมาย) ว่า symbolic logic กับ classical logic มันต่างกันยังไงนะ 

เพื่อป้องกันไม่ให้ตัวเองลืม และเพื่อเป็นการแลกเปลี่ยนความรู้กันกับผู้อ่าน เราก็เลยคิดว่า ควรจะบันทึกบทสนทนาแก้เบื่อวันนี้ไว้ในบล็อกดีกว่า :)

เอาล่ะ เข้าเรื่องเลยนะคะ มาเริ่มที่คำแรกก่อน symbolic logic  ผู้อ่านบางท่านอาจจะเคยได้ยินคำนี้ และอาจจะเคยอ่านหนังสือที่เราแนะนำไปแล้วด้วย

แล้วสงสัยกันไหมคะ ว่าคำๆนี้ สื่อถึงอะไร

สั้นๆเลยก็คือ symbolic logic เนี่ย คือ logic ที่เราสามารถนำเสนอมันได้ด้วย symbol ค่ะ ซึ่งถ้าเรามองดู logic ประเภทต่างๆที่เราเคยเห็นผ่านหูผ่านตากันมา มันก็มีแต่ logic ที่แทนค่าด้วย symbol กันทั้งนั้น

ยกตัวอย่างเช่น propositional logic , first order logic , second order logic, description logic , modal logic, logic programming, etc. ลอจิกต่างๆเหล่านี้ เวลาเรา represent มัน เราก็ใช้ symbol นำเสนอ ใช่ไหมคะ

อย่าง propositional logic เราก็ใช้ ตัวอักษร อย่างเช่น p, q อะไรต่างๆ แทน proposition แต่ละอัน ตัว logical connection ก็ แทนด้วย symbol อย่างพวก and, or, implication อะไรทำนองนี้

แน่นอนว่า first order logic ก็ไม่ต่างกันมาก เพราะคล้ายกับ propositional logic ที่เพิ่ม quantifier ขึ้นมา

ดังนั้น ถ้าให้นิยามโดยไอเดียแล้ว symbolic logic คือ การ reasoning  ที่เรานำเสนอมันด้วย symbol ต่างๆ นั่นเอง


ต่อมา เราก็มาดู อีกคำนึงที่มักจะได้ยินกันบ่อยๆ รวมถึงในหลายๆโพสที่เราเคยเขียนไว้ก่อนหน้าด้วย
แล้ว classical logic คืออะไรกัน

คำจำกัดความของคำนี้ก็อาจจะเป็นที่ถกเถียงได้นะคะ  เราเองไม่ได้หาหลักฐานยืนยัน แต่ว่าขอยืนยันด้วยความเห็นของผู้เชี่ยวชาญด้านนี้(ซึ่งก็คืออาจารย์นั่นเอง)  ถ้าผู้อ่านท่านใดมีความคิดเห็นต่าง อยากจะหาข้อสรุปกันเราก็ยินดีค่ะ

ก่อนอื่น เราต้องย้อนไปที่คำว่า monotonic reasoning ก่อนค่ะ หวังว่าคงจะยังจำความหมายคำนี้ได้นะคะ
คือว่า classical logic เนี่ย จะมีลักษณะของ monotonic reasoning ค่ะ แต่ว่า.... ไม่ได้หมายความว่า logic ที่มีลักษณะเป็น monotonic reasoning จะถูกจัดเป็น classical logic เสมอไป

รายละเอียดเรื่อง monotonic reasoning หาอ่านได้จากโพสนี้ค่ะ

ตรงนี้เราจะขอขยายความให้ว่า ยกตัวอย่างเช่น description logic(ไม่นับ extension ของมันก่อนนะคะ)  มีลักษณะเป็น monotonic reasoning แต่ว่า มันไม่ได้ถูกนับเป็น classical logic

เพราะว่า... เดิมทีคำว่า classical logic เนี่ยใช้เรียก logic ที่นัก logician เป็นคนคิดกัน เมื่อ 20-30 ปีก่อนมาแล้ว ทีนี้ ตอนหลังๆ อย่าง description logic ก็ถึงจะคลอดออกมาใช้กันในวงการนักคอมพิวเตอร์


ซึ่ง logic หลายๆตัว ในช่วงหลังๆ ก็จะมี extension ของมัน ซึ่งจากลักษณะเดิม ที่เป็น monotonic reasoning เขาก็ปรับให้ extension มันกลายเป็น non-monotonic reasoning อย่างเช่น description logic เป็นต้น

ดังนั้น เพื่อความเข้าใจง่ายๆ เราก็จะขอสรุปว่า classical logic หมายถึง logic สมัยเก่า 20-30 ปีที่แล้ว ที่มีลักษณะเป็น monotonic reasoning ค่ะ

หวังว่า จะช่วยคลายความสงสัยให้กับหลายๆคน รวมถึงตัวเราเองด้วยนะคะ
จบบทสนทนาวันเบื่อๆ กันแค่นี้นะคะ (เป็นโพสเกี่ยวกับลอจิก ที่สั้นที่สุดแล้ว ฮ่าๆๆ)


ถ้าหากโพสนี้มีข้อผิดพลาดประการใด เราขอรับผิดชอบแต่ผู้เดียวนะคะ เพราะเราเกรงว่า สิ่งที่บันทึก เราอาจจะจำผิดพลาด จากบทสนทนาจริงๆได้ เพราะบันทึกจากความจำและที่เราคิดว่าเราเข้าใจค่ะ

ขอให้สนุกกับลอจิกนะคะ :)