top of page

Travelling Salesman (2012)

ดูชื่อแบบผิวเผินชวนให้คิดก่อนว่าแก่นของหนังน่าจะเป็นคณิตศาสตร์นะครับ แต่เอาเข้าจริง มันเป็นประเด็นศีลธรรมที่เล่นกับจินตนการผ่านคำถามชวนคิดว่า โลกของเราจะเป็นอย่างไรหากมีคนสามารถพิสูจน์ได้ว่า P = NP โอเค สำหรับคนที่ไม่รู้จัก P, NP ก็อาจสงสัยว่า ถ้า P = NP แล้วไงล่ะ มันสำคัญถึงขั้นต้องคิดว่าโลกจะเป็นแบบไหนเลยเหรอ นักคณิตศาสตร์ 4 คนในเรื่องกับเจ้าหน้าที่รัฐถึงขั้นต้องเถียงกันหูดับตับไหม้เอาเป็นเอาตายขนาดนั้น ตัวบทเองก็ตั้งสมมติฐานว่าคนดูควรรู้จักปัญหานี้ระดับหนึ่ง แม้จะอธิบายให้คนดูฟังแบบอ้อม ๆ ผ่านกลไพ่ของพระเอก สำหรับคนที่ยังไม่เคยดูและกำลังคิดที่จะดู ผมหวังว่าคำอธิบายเล็ก ๆ ต่อไปนี้อาจช่วยให้คุณดูหนังได้สนุกขึ้น


เริ่มกันที่ความหมายของ P กับ NP ซึ่งเป็นชื่อเรียกกลุ่มหรือคลาสของปัญหา ถ้าปัญหาไหนที่เรามีวิธีในการแก้มันเสร็จภายในเวลาที่ยอมรับได้ เราก็จัดประเภทมันว่าเป็นปัญหาประเภท P (คำว่าภายในเวลาที่ยอมรับได้นี่เป็นคำที่คลุมเครือมาก ถ้าพูดให้ชัดขึ้น เราก็จะพูดว่า ภายในเวลาที่เป็นฟังชั่นพหุนามของความยาวอินพุตของปัญหา ซึ่งก็ฟังดูเข้าใจยากอีก แต่ถึงไม่เข้าใจก็ไม่เป็นปัญหาต่อประเด็นหลักของหนังนะฮะ คุณแค่สนใจว่า ถ้าเป็นปัญหาประเภท P แล้วละก็ เรามีวิธีแก้มันได้สำเร็จภายในเวลาที่ยอมรับได้ เป็นพอ) ส่วนปัญหาที่เรามีวิธีเช็คคำตอบว่าคำตอบอันนี้นี่ถูกหรือผิดได้อย่างง่าย ๆ ด้วยเวลาที่ยอมรับได้เมื่อเทียบกับวิธีในการหาคำตอบซึ่งคำนวณได้ยากกว่า เราก็จัดประเภทมันว่าเป็นปัญหา NP ตัวอย่างเช่น โจทย์หมากรุก mate in 2 สมมติว่าคุณคิดโจทย์ข้อนี้อยู่นานจนยอมแพ้ พลิกไปดูเฉลย คำถามคือ คุณรู้ได้ยังไงว่าเฉลยถูกครับ นั่นคือคุณมีวิธีในการตรวจสอบว่าคำตอบตามเฉลยนั้นถูก สมมติว่าเฉลยคือ x และถ้าเราตั้งคำถามใหม่ว่า "x คือคำตอบของ mate in 2 ใช่หรือไม่" แล้วคุณพบว่า การตอบคำถามข้อนี้ ง่ายกว่าการตอบคำถาม "mate in 2" มาก สิ่งนี้แหละที่ทำให้ปัญหา mate in 2 เป็นปัญหาประเภท NP อีกตัวอย่าง ชื่อหนัง Travelling Salesman ก็เป็นปัญหา NP (อยู่ในกลุ่มย่อยของ NP อีกที เรียกว่า NP-complete, ปัญหา travelling salesman ให้เราหาว่ามี Hamilton cycle เมื่อกำหนดกราฟ G ใด ๆ มาให้หรือไม่, ส่วนการเรียบเรียงโจทย์เป็นปัญหาเซลแมนเดินทางขายของตามเมืองต่าง ๆ แล้วไม่อยากผ่านเมืองซ้ำนั้นน่าจะคุ้นเคยกันดี) อันที่จริงแล้ว ปัญหาอะไรก็ตามที่อยู่ในกลุ่ม P จะเป็นปัญหา NP ด้วย แต่ปัญหาคือ ปัญหา NP ทุกปัญหาเป็นปัญหา P ด้วยรึเปล่า การตอบคำถามข้อนี้คือการพิสูจน์ว่า P เท่าหรือไม่เท่ากับ NP ซึ่งยังไม่มีใครตอบได้ครับ อยู่ในลิสต์ปัญหา 1 ล้านเหรียญของสถาบัน Clay ด้วย

ถ้า P = NP แล้วไง? ลองนึกภาพนะ ในเมื่อ P คือ ปัญหาที่เราแก้ได้ด้วยเวลาที่ยอมรับได้ และ NP คือปัญหาที่เรามีวิธีในการเช็คคำตอบว่าถูกหรือผิดได้ด้วยเวลาที่ยอมรับได้ ดังนั้น ถ้า P = NP ก็หมายความว่า ปัญหาอะไรก็ตามที่เรามีวิธีตรวจสอบคำตอบจะหมายถึงมีวิธีในการหาคำตอบด้วยเวลาที่ยอมรับได้ได้ด้วย ตัวอย่างง่ายที่สุดที่เห็นผลกระทบคือ การเข้ารหัสลับทั้งหลาย เช่นตอนเราสั่งซื้อของออนไลน์ด้วยบัตรเครดิต สิ่งที่ทำให้เรามั่นใจว่าปลอดภัยตั้งอยู่บนสมมุติฐานที่ว่า ใครก็ตามที่จะถอดรหัสนี้โดยไม่ได้รับอนุญาต เขาจะต้องใช้เวลานานแสนนาน อาจจะเป็นชาติ ในการถอดรหัส และเรามั่นใจว่าเขามีเวลาไม่พอ แต่ถ้า P = NP มันจะรับประกันว่า มีวิธีถอดรหัสเสร็จได้ภายในเวลาที่ยอมรับได้อยู่แน่ ๆ พูดง่าย ๆ คือ ปัญหาที่สามารถคำนวณได้ทุกปัญหาจะสามารถคำนวณได้อย่างมีประสิทธิภาพ หรือจะสามารถคำนวณได้ภายในเวลาที่ยอมรับได้!

bottom of page