‹

06 · กำแพง

06 · ​กำแพง

​เส้นทาง​ที่​สั้น​ที่สุด — ​ประวัติศาสตร์​ของ​ศิลปะ​และ​ศาสตร์​แห่ง​การแก้ปัญหา


​จดหมาย​ถึง​ชาย​ที่​กำลังจะ​ตาย

​ฤดูใบไม้ผลิ​ปี 1956 John von Neumann ​อายุ​ห้าสิบ​สาม ​กำลังจะ​ตาย​ด้วย​โรคมะเร็ง ​และ​ถูก​กักตัว​อยู่​ใน​โรงพยาบาล Walter Reed ​นาน​ขึ้น​ทุกที ​ผลงาน​ที่​เคย​ไหล​ออกมา​ไม่​หยุด​หด​เหลือ​เท่าที่​ร่างกาย​ที่​กำลัง​ทรุด​จะ​ยอมให้​ทำ ​เดือน​มีนาคม​ปี​นั้น Kurt Gödel ​เขียนจดหมาย​ถึง​เขา Gödel ​คือ​เพื่อนเก่า​จาก​เวียนนา ​นัก​ตรรกวิทยา​ที่​ทุบ​ความฝัน​ของ Hilbert ​เรื่อง​คณิตศาสตร์​ที่​ครบถ้วน​และ​สอดคล้อง​ใน​ตัวเอง​จน​แตก​เมื่อ​ยี่สิบ​ห้า​ปีก่อน ​ตาม​คำบอกเล่า​ส่วนใหญ่ ​จดหมาย​ฉบับ​นั้น​ส่วนหนึ่ง​เขียน​ขึ้น​เพื่อ​หา​อะไร​ให้​สมอง​ที่​เฉียบแหลม​และ​กำลังจะ​ดับ​ได้​ขบคิด ​นอกเหนือ​ไป​จาก​ความเสื่อม​ถอย​ของ​ตัว​มัน​เอง

​คำถาม​ของ Gödel ​เป็น​คำถาม​เชิง​เทคนิค ​เขียน​เกือบ​เหมือน​เอ่ย​ผ่านๆ ​และ​วิทยาการ​คอมพิวเตอร์​ต้อง​ใช้เวลา​อีก​สิบห้า​ปีก​ว่า​จะ​รู้ตัว​ว่า​เขา​ถาม​อะไร​ไป​กัน​แน่ ​เอา​ข้อความ​ทาง​คณิตศาสตร์​ที่​มี​ความยาว​ค่า​หนึ่ง​มา​ตั้ง ​การตรวจ​ว่า​บทพิสูจน์​ที่​มี​คน​เสนอ​มา​สำหรับ​ข้อความ​นั้น*​ถูกต้อง*​หรือไม่ ​ทำได้​เร็ว​อยู่แล้ว​อย่าง​เห็นได้ชัด — ​ตรวจสอบ​ทีละ​ก้าว​ก็​จบ ​แต่​ถ้า​บทพิสูจน์​มี​อยู่ ​การ*​หา*​มัน​ให้​เจอ​ตั้งแต่​ต้น​ใช้เวลานาน​แค่​ไหน Gödel ​อยากรู้​ว่าการ​ค้นหา (search) ​นี้​ทำให้​เสร็จ​ได้​เสมอ​ไหม​ใน​เวลา​ที่​แปรผัน​คร่าวๆ ​ตาม​ความยาว​ของ​ข้อความ (​หรือ​กำลัง​สอง​ของ​ความยาว​นั้น) ​แทนที่จะ​โต​ระเบิด​เมื่อ​ข้อความ​ยาว​ขึ้น ​เอา​เข้า​จริง​เขา​กำลัง​ถาม​ว่าการ*​หา*​ยาก​กว่า​การ*​ตรวจ*​โดย​พื้นฐาน​หรือเปล่า ​คำถาม​นี้​อีก​หลาย​ทศวรรษ​ต่อมา​จะ​ได้ชื่อ​ว่า P versus NP (Cornell eCommons, "Gödel, von Neumann and the P=?NP Problem"; Panda Notes, "Gödel's Letter to von Neumann") Von Neumann ​เสียชีวิต​ใน​เดือน​กุมภาพันธ์​ปี​ถัดมา ​เขา​เคย​ตอบ​หรือไม่ ​ไม่​มี​ใคร​รู้; ​ไม่​มี​คำตอบ​หลงเหลือ​มาถึง​เรา ​คำถาม​นี้​นอน​นิ่ง​อยู่​อีก​สิบห้า​ปี ​แทบ​ไม่​มี​ใคร​นอก​วง​เล็กๆ ​สังเกตเห็น

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

​โรค​เดียว ​อาการ​มากมาย

​สาขา​นี้​ถือกำเนิด​อย่าง​เป็นทางการ​ใน​ปี 1971 ​เมื่อ Stephen Cook ​ซึ่ง​ตอนนั้น​อยู่​ที่ University of Toronto ​ตีพิมพ์​บทความ​สั้น​ชื่อ "The Complexity of Theorem-Proving Procedures" Cook ​ศึกษา​ปัญหา​ความสอดคล้อง​ได้​แบบบูล (Boolean satisfiability) ​หรือ SAT: ​ให้​สูตร​ตรรกะ​ที่​สร้าง​จาก​ตัวแปร​ที่​แต่ละ​ตัว​เป็น TRUE ​หรือ FALSE ​ได้ ​เชื่อม​กัน​ด้วย AND, OR ​และ NOT — ​มี​การกำ​หนด​ค่า*​ชุด​ใด​ชุด​หนึ่ง*​ที่​ทำให้​สูตร​ทั้ง​สูตร​เป็นจริง​หรือไม่ ​ตรวจการ​กำหนด​ค่าที่​เสนอ​มา​นั้น​ง่าย​มาก — ​แทนค่า​ลง​ไป​แล้ว​ประเมิน ​หา​การกำ​หนด​ค่า​สัก​ชุด​นั้น​อีก​เรื่อง ​เมื่อ​สูตร​มี​ตัวแปร​เป็น​พัน​ตัว​ที่​ล็อก​เข้าด้วยกัน​ด้วย​ข้อจำกัด​เป็น​พัน​ข้อ ​ดูจะ​ต้อง​ใช้​อะไร​ที่​ใกล้เคียง​กับ​การลอง​ทุก​ความเป็นไปได้

​การหยั่ง​เห็น (insight) ​ของ Cook ​ไม่​ใช่​การแก้ SAT ​ให้​เร็ว​ขึ้น ​แต่​คือ​การแสดง​ว่า SAT ​เป็นปัญหา​ที่*​ยาก​ที่สุด*​ใน​ชนิด​ของ​มัน ​ใน​ความหมาย​ที่​แม่นยำ: ​ปัญหา​ใด​ก็ตาม​ที่​ตรวจ​คำตอบ​ได้​เร็ว (​คลาส​นี้​เรียก​ว่า NP ​ย่อ​จาก "nondeterministic polynomial time") ​แปล​อย่าง​เป็นระบบ — "​ลดรูป" — ​ไป​เป็น​อิน​สแตนซ์ (instance) ​ของ SAT ​ที่​สมมูล​กัน​ได้ ​และ​การแปล​นั้น​ใช้การ​คำนวณ​เพียง​เล็กน้อย​และ​มีประสิทธิภาพ ​ถ้า​แก้ SAT ​ได้​เร็ว ​ก็​แก้*​อะไรก็ตาม*​ที่​ตรวจ​ได้​ใน NP ​ได้​เร็ว ​เพียง​แปล​มัน​เป็น SAT ​ก่อน ​คุณสมบัติ​นี้​ทำให้ SAT ​ได้​ป้าย NP-complete: complete ​ใน​ความหมาย​ว่า​มัน​จับความ​ยาก​ทั้งหมด​ของ​คลาส​ทั้ง​คลาส​ไว้​ได้ (GeeksforGeeks, "Cook–Levin Theorem") ​ผลลัพธ์​เดียวกัน​ใน​สาระสำคัญ​ถูก​ค้นพบ​อีกครั้ง​ใน​เวลา​ไล่เลี่ยกัน ​ราว​ปี 1973 ​โดย​นัก​คณิตศาสตร์​โซเวียต Leonid Levin ​ที่ทำงาน​อย่าง​เป็นอิสระ​และ​แทบจะ​โดดเดี่ยว​สิ้นเชิง​อยู่​หลัง​ม่านเหล็ก ​โดย​จัด​กรอบ​ต่าง​ออก​ไป​เล็กน้อย ​การค้นพบ​บรรจบ​กัน​สะอาด​จน​ทฤษฎีบท​นี้​ทุกวันนี้​แบก​ทั้งสอง​ชื่อ ​คือ​ทฤษฎีบท Cook–Levin ​เป็นการ​ยอมรับ​ว่าความ​จริง​ทาง​คณิตศาสตร์​ที่​สำคัญ​บางครั้ง​ถูก​ค้นพบ​สอง​รอบ ​โดย​คน​ที่​ไม่​เคย​อ่าน​งาน​ของ​กันและกัน

​ความต่าง​ระหว่าง​การตรวจ​กับ​การหา​จะ​เป็น​รูปธรรม​ขึ้น ​ถ้า​ใช้​อะไร​ที่​คุ้น​กว่า​สูตร​ตรรกะ ​เอา​ซู​โด​กุ​ข้อ​ยากๆ ​สัก​ข้อ ​ถ้า​เพื่อน​ยื่น​ตาราง​ที่​เติม​ครบ​แล้ว​ให้​และ​อ้างว่า​นี่​คือ​คำตอบ ​การตรวจสอบ​คำ​อ้าง​นั้น​แทบ​เป็นงาน​กลไก: ​กวาด​ดู​แต่ละ​แถว ​แต่ละ​หลัก ​และ​แต่ละ​กล่อง​ว่า​มี​เลข​ซ้ำ​ไหม ​จบ​ใน​ไม่​กี่​วินาที ​ไม่​ว่า​ตาราง​จะ​ใหญ่​แค่​ไหน ​แต่​การ*​หา*​ตาราง​ที่​เติม​ครบ​นั้น​ตั้งแต่​ต้น ​โดย​เริ่ม​จาก​คำ​ใบ้​เพียง​ไม่​กี่​ตัว ​อาจ​ต้อง​ค้น​ผ่าน​พื้นที่​ของ​การเติม​ที่​เป็นไปได้​ที่​ใหญ่​จริงๆ — ​ไม่​มีทาง​ลัด​ที่​รู้จัก​ตัว​ไหน​ขยายตัว​ได้​ราบรื่น​เท่า​การตรวจ ​ซู​โด​กุ​ที่​ขยาย​ไป​ยัง​ขนาด​ตาราง​ใด​ก็ได้​นั้น ​เป็นที่​รู้กัน​ว่า​เป็น NP-complete ​ใน​ตัว​มัน​เอง ​ปัญหา​ทุก​ข้อ​ใน​รายการ​ของ​บท​นี้​เบี้ยว​ข้าง​แบบ​เดียวกัน: ​คำตอบ​ยืนยัน​ได้​ถูก ​และ​เท่าที่​ใคร​พิสูจน์​ได้ ​สร้าง​ขึ้น​มา​ได้​แพง

​สิ่ง​ที่​การลดรูป (reduction) ​ทำ ​จริงๆ ​ใน​คำศัพท์​ที่​หนังสือ​เล่ม​นี้​ก่อ​มา ​สมควร​ได้ชื่อ​เป็น​ท่า​หนึ่ง​ของ​มัน​เอง ​เพราะ​มัน​คือ​หนึ่ง​ใน​อาวุธ​ที่​ทรงพลัง​ที่สุด​ที่​นัก​แก้ปัญหา​หยิบ​ขึ้น​มา​ได้ ​การลดรูป​พูดว่า: ​ปัญหา​ของ​คุณ ​ไม่​ว่า​จะ​ดู​แปลกหน้า​แค่​ไหน ​แท้จริง​คือ​สำเนา​ปลอมตัว​ของ​ปัญหา​ที่​มี​คน​เข้าใจถ่องแท้​ไป​แล้ว ​แปล​อิน​สแตนซ์​ของ​คุณ​เป็น​ภาษา​ของ​ปัญหา​ที่​รู้จัก​นั้น ​แก้​อันนั้น ​แล้ว​แปล​คำตอบ​กลับ ​นี่​คือ​การรู้จำ​แบบ​เดียว​กับ​ที่​ทำให้​นักวิจัย​ดำเนินงาน (operational research, OR) ​ใน​บท​ที่ 04 ​มองเห็น​โรงงาน​ไม้อัด​กับ​สูตร​อาหาร​ยาม​สงคราม​เป็น​กำหนดการ​เชิงเส้น (linear programming) ​อัน​เดียวกัน​ที่​ใส่​เสื้อผ้า​คนละ​ชุด — ​เว้นแต่​ตรงนี้​การรู้จำ​เฉือน​ไป​คนละ​ทาง ​การลดรูป​ไม่​ได้​พบ​ทางลัด ​แต่​พิสูจน์​ได้​ว่า​ไม่​มีทาง​ลัด​ใด​เป็นไปได้ ​ด้วย​การแสดง​ว่า​ปัญหา​ของ​คุณ​ยาก​อย่าง​น้อย​เท่ากับ​ปัญหา​ที่​รู้กัน​แล้ว​ว่า​ต้านทาน​ความพยายาม​หาทาง​ลัด​ทุกครั้ง

​หอ​ผู้ร้าย​ของ Karp

​ทฤษฎีบท​ของ Cook ​พิสูจน์​ว่า​ปัญหา​ข้อ​หนึ่ง ​คือ SAT ​ยาก​ที่สุด​ใน​คลาส​ของ​มัน ​คลาส​นั้น*​แออัด*​แค่​ไหน​จริงๆ ​โลก​ต้อง​รอบท​ความปี 1972 ​ของ Richard Karp ​ชื่อ "Reducibility Among Combinatorial Problems" Karp ​หยิบ​ผล​ของ Cook ​มา ​ใช้​เพียง​โซ่​ของ​การลดรูป​เท่านั้น ​แล้ว​แสดงว่า​ปัญหา​อีก​ยี่สิบ​เอ็ด​ข้อ​ล้วน​เป็น NP-complete ​เหมือนกัน​หมด​โดยที่​ไม่​มี​ใคร​รู้ — ​ปัญหา​ที่​คุ้นเคย ​ใช้งาน​จริง ​และ​ดู​ไม่​เกี่ยว​กัน​เลย ​ที่​วิศวกร​กับ​นัก​วางแผน​ดิ้นรน​กับ​มัน​เงียบๆ ​มา​หลาย​ปี (Karp, "Reducibility Among Combinatorial Problems" (1972); Wikipedia, "Karp's 21 NP-complete problems")

​รายการ​ของ Karp ​อ่าน​เหมือน​ทัวร์​คณิตศาสตร์​ประยุกต์: ​กราฟ​หนึ่ง​ระบายสี​ด้วย​จำนวน​สี​ที่​กำหนด ​โดย​ไม่​ให้​โหนด​สอง​โหนด​ที่​เชื่อม​กัน​ใช้​สี​เดียวกัน ​ได้​หรือไม่; ​ชุด​ของ​สิ่งของ​หนึ่ง​แบ่ง​เป็น​สอง​กอง​ที่​มีมูล​ค่า​รวม​เท่ากัน​ได้​หรือไม่; ​เครือข่าย​หนึ่ง​ถูก​ครอบคลุม​ด้วย​ชุด​โหนด​ที่​เลือก​มา​ไม่​กี่​โหนด​ที่​แตะ​ทุก​เส้น​เชื่อม​ได้​หรือไม่; ​สูตร​ตรรกะ​แบบบูล​ใน​รูป​จำกัด​รูป​หนึ่ง​สอดคล้อง​ได้​หรือไม่ ​นักทฤษฎี​กราฟ ​นักวิจัย​ดำเนินงาน ​และ​นัก​ตรรกวิทยา​โจมตี​ปัญหา​เหล่านี้​แยกกัน ​และ​ไม่​มีเหตุผล​อะไร​เป็นพิเศษ​ให้​คิด​ว่าความ​ยากลำบาก​ของ​แต่ละ​ฝ่าย​เชื่อมโยง​กัน ​โซ่​การลดรูป​ของ Karp ​เผย​ว่า​ทั้งหมด​คือ​โรค​เดียวกัน​ที่​สวม​เครื่องแต่งกาย​ยี่สิบ​เอ็ด​ชุด — ​การค้นพบ​แบบ​เดียว​กับ​ที่​บท​ที่ 04 ​เฉลิมฉลอง​ใน​ไม้อัด​ของ Kantorovich ​และ​สูตร​อาหาร​ของ Stigler ​พอดี ​เว้นแต่​ว่า​ตรงนี้​อัตลักษณ์​ร่วม​คือ*​คำสาป*​ร่วม ​ไม่​ใช่​ทางลัด​ร่วม ​พบ​อัลกอริทึม​ที่​มีประสิทธิภาพ​สำหรับ​ข้อ​ใด​ข้อ​หนึ่ง ​ก็​เท่ากับ​พบ​สำหรับ​ทุก​ข้อ ​และ​สำหรับ​ทุก​ปัญหา​ใน NP ​ด้วย ​ไม่​เคย​มี​ใคร​พบ ​ไม่​เคย​มี​ใคร​พิสูจน์​ว่า​ไม่​มี​ใคร​พบ​ได้ ​ช่องว่าง​นั้น — ​ระหว่าง​ความพยายาม​ที่​ล้มเหลว​มา​หลาย​ทศวรรษ ​กับ​บทพิสูจน์​ความเป็นไป​ไม่​ได้​อย่าง​เข้มงวด — ​คือ​ที่​ที่​คำถาม​รางวัล​มิล​เลน​เนียม​อาศัย​อยู่​พอดี

​คำถาม​หนึ่ง​ล้าน​ดอลลาร์

​ปี 2000 Clay Mathematics Institute ​เลือก​ปัญหา​เจ็ด​ข้อ​ที่​ตัดสิน​ว่า​เป็น​คำถามเปิด​ที่​ลึก​ที่สุด​ใน​คณิตศาสตร์ ​และ​ตั้ง​รางวัล​หนึ่ง​ล้าน​ดอลลาร์​ให้​คำตอบ​ที่​ถูกต้อง​คำตอบ​แรก​ของ​แต่ละ​ข้อ P versus NP ​เป็นหนึ่ง​ใน​เจ็ด​ข้อ​นั้น — ​พูด​อย่าง​เป็นทางการ​คือ ​ปัญหา​ทุก​ข้อ​ที่*​ตรวจสอบ*​คำตอบ​ได้​อย่าง​มีประสิทธิภาพ ​ยอมให้​มี​วิธี*​ค้นพบ*​ที่​มีประสิทธิภาพ​ด้วย​หรือไม่ — ​และ ณ ​เวลา​ที่​เขียน​อยู่​นี้​ยัง​ไม่​มี​ใคร​แก้​ได้ ​มัน​เป็นหนึ่ง​ใน​หก​ข้อ​จาก​เจ็ด​ข้อ​เดิม​ที่​ยัง​ยืน​อยู่; ​มี​เพียง​ข้อความ​คาดการณ์ Poincaré ​เท่านั้น​ที่​ล้ม​ลง ​โดย​ฝีมือ​ของ Grigori Perelman ​ช่วงต้น​ทศวรรษ 2000 (Clay Mathematics Institute, "P vs NP"; Wikipedia, "Millennium Prize Problems")

​ปัญหา​พนักงานขาย​เดินทาง (traveling salesman problem) ​กลายเป็น​สัญลักษณ์​ของ​บท​นี้ ​ด้วย​เหตุผล​ที่​ดี: ​มัน​ง่าย​พอ​จะ​เล่า​ให้​เด็ก​ฟัง (​หา​เส้นทาง​ที่​สั้น​ที่สุด​เท่าที่​จะ​เป็นไปได้ ​ที่​แวะ​ทุก​เมือง​ใน​รายการ​เมือง​ละ​ครั้ง​พอดี​แล้ว​กลับบ้าน) ​และ​ยาก​พอ​จน​ไม่​เคย​มี​ใคร​หา​วิธี​แก้​มัน​แบบ​ตรง​เป๊ะ​สำหรับ​อิน​สแตนซ์​ขนาดใหญ่ ​ที่​ชนะ​การลอง​ด้วย​ปริมาณ​งาน​ที่​โต​ระเบิด​ตาม​จำนวน​เมือง​ได้ ​มัน​นั่ง​อยู่​ข้างๆ SAT ​และ​ยี่สิบ​เอ็ด​ข้อ​ของ Karp ​บน​อีก​ฟาก​ของ​กำแพง — ​ไม่​มี​ใคร​พิสูจน์​ว่า​มัน​แก้​เร็ว​ไม่​ได้ ​แต่​มี​บทพิสูจน์​ว่า​มัน​ยาก​เท่ากับ​ปัญหา​อื่น​ทุก​ข้อ​ใน​ตระกูล​มหึมา​ที่​ยัง​ไม่​มี​ข้อยุติ​ตระกูล​เดียวกัน ​เป๊ะๆ

"​กำแพง" ​อ้าง​อะไร​กัน​แน่ ​ควร​หยุด​พูดตาม​ตรง​สักครู่ ​เพราะ​มัน​เผลอ​อ้าง​เกิน​จริง​ได้​ง่าย ​ไม่​มี​ใคร​พิสูจน์​ว่า P ≠ NP ​ยัง​เป็นไปได้​ใน​เชิง​ตรรกะ — ​แม้​แทบ​ไม่​มี​นัก​วิทยาการ​คอมพิวเตอร์​คน​ไหน​เชื่อ — ​ว่า​อัลกอริทึม​อัน​ชาญฉลาด​สัก​ตัว​สำหรับ SAT ​กำลัง​รอ​ให้​ค้นพบ​อยู่ ​และ​การพบ​มัน​จะ​แก้​ทุก​ปัญหา​ใน​รายการ​ของ Karp ​และ​ทุก​ปัญหา​แบบ​เดียวกัน​ได้​อย่าง​มีประสิทธิภาพ​ใน​คราว​เดียว ​สิ่ง​ที่​พิสูจน์​แล้ว​อย่าง​เข้มงวด​เต็มที่​คือ*​ความสมมูล*: ​แก้​สมาชิก​หนึ่ง​ตัว​ของ​ตระกูล​มหึมา​นี้​ได้​อย่าง​มีประสิทธิภาพ ​ก็​เท่ากับ​แก้​ได้​ทั้ง​ตระกูล ​กำแพง​นี้​จะ​ถาวร​หรือไม่ ​ยัง​ไม่​มี​ใคร​รู้ ​สิ่ง​ที่​แน่​คือ​มัน​เป็น​กำแพง​เดียวกัน ​ไม่​ว่า​จะ​ไป​ดัน​ตรงไหน

​ชีวิต​ที่​เชิง​กำแพง

​ถ้า​ทฤษฎี​หยุด​อยู่​แค่นี้ ​บท​นี้​ก็​เป็น​บท​ว่าด้วย​ความสิ้นหวัง: ​บทพิสูจน์​ว่า​ปัญหา​สำคัญ​ในทางปฏิบัติ​จำนวนมาก​แก้​แบบ​ตรง​เป๊ะ​และ​มีประสิทธิภาพ​ไม่​ได้ ​จบ ​สิ่ง​ที่เกิด​ขึ้น​จริง​ต่อจากนั้น​น่าสนใจ​กว่า ​และ​มัน​คือ​ส่วน​ของ​เรื่องเล่า​ใน​บท​นี้​ที่​ทำให้​ข้อเสนอ​ใจกลาง​ของ​หนังสือ​เล่ม​นี้​ยังมี​ชีวิต​อยู่​แม้​ใน​จุด​ที่​มืด​ที่สุด — ​เพราะ​นัก​แก้ปัญหา​ที่​เจอ​กำแพง​ไม่​ได้​หยุด ​พวกเขา​หา​ประตู​เจอ

​ประตู​บาน​แรก​คือ​การประมาณ (approximation): ​เลิก​หา​คำตอบ​ที่​พิสูจน์​ได้​ว่า​เหมาะ​ที่สุด ​แล้ว​ตั้งใจ​ยอมรับ​คำตอบ​ที่​รับประกัน​ว่า​ห่าง​จาก​ค่า​เหมาะ​ที่สุด​ไม่​เกินตัว​คูณ​ค่า​หนึ่ง​ที่​ตายตัว​และ​รู้​ค่า ​ปี 1976 Nicos Christofides ​ตีพิมพ์​อัลกอริทึม​สำหรับ​ปัญหา​พนักงานขาย​เดินทาง​รูปแบบ​ที่​พบ​บ่อย​แบบ​หนึ่ง — ​แบบ​ที่​อสมการ​สามเหลี่ยม​เป็นจริง ​คือ​เส้นทาง​ตรง​ระหว่าง​สอง​เมือง​ไม่​มี​วัน​ยาว​กว่า​การอ้อม​ผ่านเมือง​ที่สาม — ​อัลกอริทึม​นี้​รับประกัน​ว่า​จะ​หา​ทัวร์​ที่​ยาว​กว่า​ทัวร์​ที่​สั้น​ที่สุด​จริง​ไม่​เกิน 50 ​เปอร์เซ็นต์ ​ไม่​ว่า​อิน​สแตนซ์​จะ​เป็น​อย่างไร ​กว่า​สี่​ทศวรรษ​ให้หลัง ​การรับประกัน​ตัวคูณ 1.5 ​ของ Christofides ​สำหรับ​ปัญหา​นี้​ยัง​ไม่​ถูก​อัลกอริทึม​ที่​ตีพิมพ์​ตัว​ไหน​โค่น​ได้​เลย ณ ​ช่วงต้น​ทศวรรษ 2020 ​ตัวเลข​นั้น​บอก​เอง​ว่าความ​คืบหน้า​แม้แต่​แบบ*​มี​ขอบเขต*​บน​ปัญหา NP-complete ​ยาก​เพียงใด (arXiv, "A historical note on the 3/2-approximation algorithm for the metric traveling salesman problem") ​อัลกอริทึม​ประมาณ​ไม่​ได้​เอาชนะ​กำแพง ​มัน​เจรจา​เงื่อนไข​กับ​กำแพง: ​ไม่​ใช่​คำตอบ​ที่​ดี​ที่สุด ​แต่​เป็น​คำตอบ​ที่*​พิสูจน์​ได้*​ว่า​ดี​พอ ​ส่งมอบ​ใน​เวลา​ที่​ไม่​ระเบิด

​ประตู​บาน​ที่สอง​คือ​การสุ่ม (randomization) — ​ความเต็มใจ​แลก​ความแน่นอน​กับ​ความเร็ว​แบบ​เดียว​กับ​ที่​บท​ที่ 04 ​พบ​ใน​วิธี​มอน​ติ​คาร์​โล ​คราวนี้​ใช้กับ​การค้นหา​เชิง​การจัด​หมู่​แทน​การจำลอง​ทางกายภาพ ​อัลกอริทึม​แบบ​สุ่ม​ตัดสินใจ​บางส่วน​ด้วย​การโยน​เหรียญ​แทน​การเทียบ​ทุก​ทางเลือก ​สำหรับ​ปัญหา​ยาก​หลาย​ข้อ ​วิธี​นี้​ให้​อัลกอริทึม​ที่​เร็ว​โดยเฉลี่ย​และ​ผิด​ด้วย​ความน่าจะเป็น​ที่​ควบคุม​ได้​และ​เล็ก​จน​แทบ​หาย​ไป — ​แลก​คำตอบ​ที่​รับประกัน​ว่า​ถูก ​กับ​คำตอบ​ที่​แทบจะ​แน่นอน​ว่า​ถูก​และ​มาถึง​เร็ว​กว่า​มาก ​ตัวอย่าง​ใน​ชีวิตประจำวัน​ที่​ชัด​ที่สุด​อยู่​ใน​วิทยาการ​รหัสลับ​ที่​บท​นี้​กำลังจะ​หันไป​พูดถึง​พอดี ​และ​ก็​เหมาะเจาะ​ดี: ​ก่อน RSA ​จะ​ล็อก​อะไร​ได้ ​มัน​ต้อง​มี​จำนวน​เฉพาะ​ขนาดใหญ่​มาก​สอง​จำนวน​ก่อน ​และ​การทด​สอบ​ว่า​จำนวน​มหึมา​ที่​เป็นตัว​เลือก​เป็น​จำนวน​เฉพาะ​หรือไม่​ด้วย​การหาร​ไล่ ​ตัว​มัน​เอง​ก็​ช้า​จน​หมดหวัง ​การทด​สอบ Miller–Rabin ​ที่ Gary Miller ​คิด​ขึ้น​ใน​ปี 1976 ​และ Michael Rabin ​ทำให้​ใช้งาน​ได้​จริง​เต็มที่​ใน​เวลา​ไม่​นาน​หลังจากนั้น ​เลือก​พยาน​แบบ​สุ่ม​ขึ้น​มา​แล้ว​ตรวจ​แต่ละ​ตัว​กับ​จำนวน​ที่​เป็นตัว​เลือก; ​พยาน​สุ่ม​ตัว​เดียว​จับ​จำนวน​ประกอบ​ได้​ด้วย​โอกาส​อย่าง​น้อย​ครึ่งต่อครึ่ง ​ดังนั้น​หลัง​จับ​พยาน​อิสระ​ห้าสิบ​ตัว ​โอกาส​ได้​คำตอบ​ผิด​ตกลง​ต่ำกว่า​หนึ่ง​ใน​พัน​ล้าน​ล้าน — ​เล็ก​พอ​จน​กุญแจ RSA ​ทุก​ดอก​ที่​สร้าง​ขึ้น​ทุกวันนี้​ตั้งอยู่​บน​จำนวน​เฉพาะที่​ผ่านการทดสอบ​ที่​พูด​อย่าง​เคร่งครัด​แล้ว​ไม่​ได้​แน่นอน ​แค่​แน่นอน​พอ (Cornell CS4820, "The Miller-Rabin Randomized Primality Test")

​ประตู​บาน​ที่สาม​น่าประหลาด​ใจ​ที่สุด ​และ​เป็น​บาน​ที่​คอมพิวเตอร์​สมัยใหม่​เดินผ่าน​เงียบๆ ​ทุกวัน​โดยที่​ผู้ใช้​ส่วนใหญ่​ไม่​เคย​สังเกต ​ใน​หลาย​ทศวรรษ​หลัง​ทฤษฎีบท​ของ Cook ​กับ Levin ​วิศวกร​สร้าง SAT solver ​ที่​ซับซ้อน​ขึ้น​เรื่อยๆ — ​โปรแกรม​ที่​พยายาม​หา​การกำ​หนด​ค่าที่​ทำให้​สูตร​เป็นจริง ​สำหรับ​ปัญหา​ที่ Cook ​พิสูจน์​ว่า​เป็น NP-complete ​ตั้งแต่แรก​นั่นเอง ​เครื่องมือ​รุ่นใหม่​ที่​สร้าง​รอบ​เทคนิค​ชื่อ conflict-driven clause learning (CDCL) ​ทำ​สิ่ง​ที่​บน​กระดาษ​ควร​เป็นไปไม่ได้: ​มัน​แก้​อิน​สแตนซ์ SAT ​ใน​โลก​จริง​ที่​มี​ตัวแปร​และ​อนุประโยค​เป็น*​ล้าน* ​จาก​การตรวจสอบ​ชิป ​การทด​สอบ​ซอฟต์แวร์ ​และ​การจัด​ตาราง ​ได้​เป็นปกติ ​ใน​เวลา​ที่​ใช้งาน​ได้​จริง (arXiv, "Relating Complexity-theoretic Parameters with SAT Solver Performance") CDCL ​เรียนรู้​จาก​ความล้มเหลว​ของ​ตัวเอง​ระหว่าง​ค้นหา: ​ทุกครั้งที่​ไป​ถึง​ทางตัน ​มัน​อนุมาน​ข้อจำกัด​ทาง​ตรรกะ​ข้อ​ใหม่ — "​อนุประโยค (clause)" — ​ที่​สรุป​ว่า*​ทำไม*​ทางตัน​นั้น​ถึง​เกิด ​เพิ่ม​มัน​เข้าไป​ใน​ปัญหา​อย่าง​ถาวร ​แล้ว​ใช้​มัน​ตัด​กิ่ง​ทุก​กิ่ง​ในอนาคต​ที่จะ​ผิด​ซ้ำ​แบบ​เดิม​ด้วย​เหตุผล​พื้นฐาน​เดียวกัน​ทิ้ง ​ตลอด​การค้นหา​ที่​ยาวนาน ​ตัว​แก้ปัญหา​เท่ากับ​เขียน​ปัญหา​ที่​มัน​กำลัง​แก้​ขึ้น​ใหม่ ​เติม​มัน​ด้วย​เนื้อ​แผลเป็น​ที่​สะสม​จาก​ทุก​การเลี้ยว​ผิด ​และ​แผลเป็น​ที่​สะสม​นั้น​กลับ​ทำให้​การค้นหา​ที่​เหลือ​เล็ก​ลงมาก ​เรื่อง​นี้​ไม่​ได้​ขัด​กับ​ทฤษฎีบท Cook–Levin ​อิน​สแตนซ์​กรณี​เลวร้าย​ที่สุด​ของ SAT ​ที่​ถูก​สร้าง​ขึ้น​อย่าง​พิถีพิถัน​เพื่อ​เอาชนะ​การเรียนรู้​แบบนี้​พอดี ​ยังคง​ยาก​แบบ​เอกซ์​โพเนน​เชียล ​และ​จะ​ยาก​อย่างนั้น​ตลอดไป ​เว้นแต่ P ​จะ​เท่ากับ NP ​แต่​อิน​สแตนซ์*​ระดับ​อุตสาหกรรม*​ที่​โผล่​มา​ใน​การออกแบบ​ชิป​จริง​และ​ตาราง​งาน​จริง ​จาก​การวัด​จริง​มี​โครงสร้าง​หนาแน่น ​ไม่​ใช่​กรณี​เลวร้าย​ที่สุด​ที่​ถูก​ออกแบบ​มา​เล่นงาน ​นักวิจัย​ใช้เวลา​หลาย​ปี​พยายาม​ระบุ​ให้ได้​ว่า​โครงสร้าง​ที่ซ่อน​อยู่​ชนิด​ไหน​กัน​แน่ — ​การจับกลุ่ม​เป็น​ชุมชน ​ชุด​ตัวแปร "​ประตู​หลัง" ​ค่า treewidth ​ต่ำ — ​ที่ SAT solver ​แบบ CDCL ​แอบ​ใช้ประโยชน์​อยู่​เงียบๆ ​เพื่อ​เดิน​ทะลุ​ปัญหา​ที่​ทฤษฎี​ความซับซ้อน (complexity) ​บอก​ว่า​ควรจะ​แตะ​ไม่​ได้ ​กำแพง​นั้น​เป็น​ของจริง ​ใน​กรณี​เลวร้าย​ที่สุด ​สำหรับ​ทุก​อิน​สแตนซ์​ที่​ใครก็ตาม​จะ​สร้าง​ขึ้น​ได้ ​และ​สำหรับ​อิน​สแตนซ์​ที่​โผล่​มา​ในทางปฏิบัติ​จริงๆ ​มัน​ก็​เต็มไปด้วย​ประตู​ที่​ไม่​มี​ใคร​ทำนาย​ว่า​จะ​อยู่​ตรงนั้น

​กำแพง​ใน​ฐานะ​ป้อมปราการ

​จุด​หัก​ครั้งสุดท้าย​ใน​เรื่องเล่า​ของ​บท​นี้​กลับ​ทุกอย่าง​ที่มา​ก่อนหน้า ​และ​เป็นการ​กลับด้าน​ที่​ส่งผล​มาก​ที่สุด​ใน​หนังสือ​เล่ม​นี้ ​นัก​แก้ปัญหา​ทุกคน​จนถึง​ตอนนี้​ปฏิบัติ​กับ​ความยาก (hardness) ​เหมือน​อุปสรรค: ​กำแพง​ที่​ต้อง​ลดรูป​หนี​ออกมา ​ประมาณ​อ้อม​ไป ​หรือ​สุ่ม​ทะลุ​ผ่าน ​ปี 1977 ​นักวิจัย MIT ​สาม​คน — Ron Rivest, Adi Shamir ​และ Leonard Adleman — ​ตระหนัก​ว่าความ​ยาก​เป็น*​ตัว​สินค้า*​ได้​แทน

​ระบบ​รหัสลับ​ของ​พวกเขา ​คือ RSA ​ใช้​อักษรย่อ​ของ​นักวิจัย​ทั้ง​สาม​เป็น​ชื่อ ​และ​สร้าง​ขึ้น​บน​อิน​สแตนซ์​ของ​ความยาก​เชิง​การคำนวณ​ที่​เจาะจง​และ​เลือก​มา​อย่าง​พิถีพิถัน: ​คูณ​จำนวน​เฉพาะ​ขนาดใหญ่​มาก​สอง​จำนวน​เข้าด้วยกัน​นั้น​เร็ว ​คอมพิวเตอร์​ใช้เวลา​เสี้ยว​วินาที​แม้​กับ​จำนวน​ที่​ยาว​หลาย​ร้อย​หลัก ​แต่​การ*​แยกตัว​ประกอบ*​ผลคูณ​ที่​ได้​กลับ​ไป​เป็น​จำนวน​เฉพาะ​สอง​จำนวน​ตั้งต้น ​โดย​ไม่​รู้​มัน​อยู่​ก่อน ​ไม่​มี​วิธี​ที่​มีประสิทธิภาพ​ที่​รู้จัก​เลย — ​กลับ​ไป​สู่​อะไร​ที่​คล้าย​การค้นหา​แบบ​ไล่​ทุก​ทาง (brute force) ​ผ่าน​พื้นที่​ของ​ตัวประกอบ​ที่​เป็นไปได้​ที่​ใหญ่​ระดับ​ดาราศาสตร์ (Splunk, "RSA Algorithm in Cryptography: Rivest Shamir Adleman Explained") ​ใคร​ก็​ประกาศ​ผลคูณ​นั้น​ได้ — "​กุญแจ​สาธารณะ" — ​และ​ใช้​มัน​ล็อก​ข้อความ ​มี​เพียง​คน​ที่​รู้จำน​วน​เฉพาะ​ตั้งต้น​สอง​จำนวน — "​กุญแจ​ส่วนตัว" — ​เท่านั้น​ที่​ปลดล็อก​ได้​อย่าง​มีประสิทธิภาพ; ​คนอื่น​ทั้งหมด​เจอ​กำแพง​เชิง​การคำนวณ​ที่​เป็น​ของจริง​พอๆ ​กับ​กำแพง​ของ​พนักงานขาย​เดินทาง ​ใน​ทางเทคนิค ​เชื่อ​กัน​ว่า RSA ​พึ่ง​ความยาก​ของ​การแยกตัว​ประกอบ​จำนวนเต็ม ​มากกว่า​จะ​มี​บทพิสูจน์​ว่า​เป็น NP-complete ​ใน​ความหมาย​เคร่งครัด​แบบ Cook–Levin — ​การแยกตัว​ประกอบ​นั่ง​อยู่​ใน​มุม​ที่​แปลก​และ​ยัง​ไม่​มี​ข้อยุติ​เต็มที่​ของ​ทฤษฎี​ความซับซ้อน ​ดูจะ​ยาก ​แต่​ไม่​มี​ใคร​รู้​ว่า​ตัว​มัน​เอง​เป็น NP-complete ​หรือไม่ ​สิ่ง​ที่​สำคัญ​สำหรับ​เป้าหมาย​ของ​บท​นี้​คือ​บานพับ​ทาง​ปรัชญา ​ไม่​ใช่​ตัวหนังสือ​ตัวเล็ก​เชิง​เทคนิค: ​คณิตศาสตร์​ประยุกต์​ทั้ง​สาขา​ค้นพบ​ว่า​กำแพง​ที่​ไม่​มี​ใคร​ปีน​ได้ ​มีค่า​เท่ากับ​สมบัติ​ที่​ไม่​มี​ใคร​ขโมย​ได้​พอดี ​ทุก​การเชื่อมต่อ​ที่​ปลอดภัย​ไป​ยัง​ธนาคาร ​เวช​ระเบียน​ของ​โรงพยาบาล ​หรือ​ข้อความ​ที่​เข้ารหัส ​ล้วน​ตั้งอยู่​บน​ความยาก​ชนิด​เดียวกัน​กับ​ที่​ทำให้​ปัญหา​พนักงานขาย​เดินทาง​ต้านทาน​ความฉลาด​ของ​นัก​แก้ปัญหา​ทุกคน ​ทางตัน​ของ​สาขา​หนึ่ง​คือ​รากฐาน​ของ​อีก​สาขา​หนึ่ง

​ความยาก​คือ​ข้อมูล

​บท​นี้​ปิด​สิ่ง​ที่​บท​ที่ 00 ​สัญญา​ไว้ ​และ​บท​ที่ 04 ​กับ 05 ​ปู​ทาง​มาถึง: ​ขีดจำกัด​ที่​ซื่อสัตย์​ของ​ข้ออ้าง​ใจกลาง​ของ​หนังสือ​เล่ม​นี้ ​ถอย​ออกมา​มอง​จะ​เห็นชัด "​นัก​แก้ปัญหา​ที่​ยิ่งใหญ่​ไม่​ค้นหา​หนัก​ขึ้น — ​เขา​เปลี่ยน​พื้นที่​จน​เส้นทาง​สั้น​ลง" ​ยืน​อยู่​ได้​ตลอด​ทุก​บท​ที่ผ่านมา — ​จุด​ของ Euler ​กองเรือ​คุ้มกัน​ของ Blackett ​แนวหน้า​ของ Dijkstra ​การมองโลกในแง่ดี​แบบ admissible ​ของ A\* NP-completeness ​คือ​บทพิสูจน์​ของ​เล่ม​นี้​ว่า​ข้ออ้าง​นั้น​มี​ขอบเขต​จริง ​พื้นที่​บาง​แบบ​บีบ​อัด​ไม่​ได้​ด้วย​การเปลี่ยนรูป​แบบ​การแทน​ปัญหา (representation) ​ใดๆ ​ไม่​ว่า​จะ​ฉลาด​แค่​ไหน ​เท่าที่​ใคร​เคย​พิสูจน์​ได้​หรือ​น่าจะ​พิสูจน์​ได้​ใน​เร็ว​วัน ​เหตุผล​ไม่​ใช่​ว่า​ยัง​ไม่​มี​ใคร​ฉลาด​พอ Cook, Levin ​และ Karp ​แสดงให้เห็น​ว่า​ถ้า​บีบ​อัด​พื้นที่*​ข้อ​ใด​ข้อ​หนึ่ง*​ได้​อย่าง​มีประสิทธิภาพ ​ก็​จะ​บีบ​อัด*​ทุก​ข้อ*​ได้​อย่าง​มีประสิทธิภาพ​ไป​ด้วย ​และ​เจ็ดสิบ​ปี​ที่​สมอง​ดี​ที่สุด​ใน​วิทยาการ​คอมพิวเตอร์​พยายาม​ทำ​เรื่อง​นั้น​พอดี ​ก็​กลับมา​มือเปล่า

​แต่​ให้​สังเกตว่า​ความล้มเหลว​นั้น​เป็นความ​รู้​ชนิด​ไหน​กัน​แน่ ​การรู้​ว่า​ปัญหา​ข้อ​หนึ่ง​อยู่​หลัง​กำแพง NP-complete ​ไม่​ใช่​การไม่​มี​คำตอบ — ​มัน​คือ*​ชิ้น​ข้อมูล​เกี่ยวกับ​ปัญหา​นั้น* ​เป็น​รูปธรรม​และ​ใช้ได้​จริง​พอๆ ​กับ​การรู้​ขนาด​หรือ​ความสมมาตร​ของ​มัน ​มัน​บอก​ทันที​ว่า​อย่า​ผลาญ​ทั้ง​อาชีพ​ไป​กับ​การล่า​อัลกอริทึม​ที่​ตรง​เป๊ะ​และ​เร็ว​เสมอ ​มัน​บอก​ให้​เอื้อม​ไปหา​การประมาณ ​การสุ่ม ​หรือ​ตัว​แก้​ที่​สร้าง​มา​เพื่อ​ใช้ประโยชน์​จาก​โครงสร้าง​ใน​โลก​จริง​เท่าที่​อิน​สแตนซ์​ของ​คุณ​มี​อยู่​จริง ​แทน​กรณี​เลวร้าย​ที่สุด​ใน​ทางทฤษฎี​ของ​มัน ​และ​ใน​กรณี​ของ RSA ​มัน​บอก​ว่า​กำแพง​ที่​ยัง​ยืน​อยู่​อาจ​มีค่า​มากกว่า​กำแพง​ที่​ถูก​ทุบ​ลง ​การเรียกชื่อ​กำแพง​เป็นการ​แก้ปัญหา​ใน​ตัว​มัน​เอง — ​มัน​คือ​การเปลี่ยน representation ​ครั้งสุดท้าย​และ​ได้มา​ยาก​ที่สุด​ที่​ส่วน​นี้​ของ​หนังสือ​มี​ให้: ​เปลี่ยน​กรอบ "​ฉัน​หา​อัลกอริทึม​ที่​เร็ว​ไม่​ได้" ​จาก​ความล้มเหลว​ส่วนตัว ​ให้​เป็น​ข้อเท็จจริง​เชิง​โครงสร้าง​ที่​พิสูจน์​แล้ว​เกี่ยวกับ​พื้นที่ ​แล้ว​เลือก​ด้วย​ตา​ที่​เปิดกว้าง​ว่า​จะ​เดินผ่าน​ประตู​บาน​ไหน​แทน

​ท่า​ประจำ​บท

Move 06 — ​เรียกชื่อ​กำแพง ​แล้ว​แลก: ​ลดรูป ​ประมาณ ​สุ่ม ​หรือ​เอา​ความยาก​ไป​ใช้ประโยชน์

​ต่อไป — ​บท​ที่ 07 · ​หอ​เรื่องเล่า I: ​ท่าเดียว​จบ: ​ทฤษฎี​ถึงคราว​หลีกทาง​ให้​หอ​เรื่องเล่า ​นัก​แก้ปัญหา​ห้า​คน ​สี่​ศตวรรษ ​คนละ​หนึ่ง​ท่า — ​ประวัติศาสตร์​ที่​หนังสือ​เล่ม​นี้​ก่อ​ไว้​ใน​เชิง​นามธรรม ​ถูก​ทำให้​เป็น​รูปธรรม ​ทีละ​การแก้​ครั้ง​ใหญ่

บทถัดไป · 8 / 1207 · หอเรื่องเล่า I: ท่าเดียวจบ
Size
Page
Font

The Shortest Path — A History of the Art and Science of Problem-Solving

❦
100 · ปมและเส้นทาง201 · วิธีชุดแรก302 · การเปลี่ยนกรอบ403 · ยุค heuristic504 · สงครามกับศาสตร์แห่งการค้นหา605 · เส้นทางแบบอัลกอริทึม706 · กำแพง807 · หอเรื่องเล่า I: ท่าเดียวจบ908 · หอเรื่องเล่า II: การแก้ครั้งใหญ่ยุคใหม่1009 · สุนทรียะของคำตอบ1110 · นักแก้ปัญหาแห่งอนาคต1299 · เส้นทางคานงัด