‹

สายตานักจำลองแบบ

​สายตา​นัก​จำลอง​แบบ

​ตระกูล​สุดท้าย​ไม่​โจมตี​ปัญหา; ​มัน​เปลี่ยน​ว่า​ปัญหา*​คือ*​อะไร ​การแทน​เสีย​ใหม่ (re-representation) — ​เรื่องเล่า​กลายเป็น​กราฟ ​ผลบวก​กลายเป็น​เซต ​ปริศนา​กลายเป็น​ค่าเฉลี่ย — ​คือ​ท่า​ที่​เงียบ​ที่สุด​ใน​คลังแสง​และ​ทรงพลัง​ที่สุด: ​หลัง​การแปล​ที่​ถูกต้อง ​ปัญหา​ที่​ลือชื่อ​ว่ายาก​ก็​แก้ตัว​เอง​จน​จบ ​และ​นี่​ยัง​เป็น​สนาม​ที่​นัก​แก้ม​นุษย์​ถือ​แต้ม​นำ​เครื่องจักร​กว้าง​ที่สุด​ด้วย ​บท​นี้​ปิดท้าย​ด้วย​ฉากใหญ่​เลื่องชื่อ​สาม​ฉาก ​เล่า​พร้อม​ชำระ​ประวัติ​ให้​ตรง​ตามจริง

​เรื่องเล่า → ​โครงสร้าง

​เครื่องมือ. ​หล่อ​ปัญหา​ขึ้น​รูป​ใหม่​ให้​เป็น​อิน​สแตนซ์​ของ​นามธรรม​ที่​รู้จัก​และ​แก้​ไว้​แล้ว: ​กราฟ ​โครงข่าย​การไหล ​การจับคู่ ​วิถี​สั้น​สุด ​ระบบ​สม​ภาค ​การแก้​โจทย์​คือ​การแปล​ภาษา — ​บอก​ให้ได้​ว่า​จุดยอด​คือ​อะไร ​เส้น​เชื่อม​คือ​อะไร ​และ​ทฤษฎีบท​คลาสสิก​ข้อ​ไหน​ใช้ได้​แล้ว ณ ​บัดนี้ ​การเขียน​โปรแกรม​แข่งขัน​ระดับ​ยอด​คือ​กีฬา​แห่ง​การจด​จำ​การลดรูป (reduction); ​ปัญหา​ยาก​ส่วนใหญ่​คือ​แก่น​ที่​รู้จัก​กัน​ดี ​สวม​ชุด​แฟนซี​มา

​กลิ่น. ​เอนทิ​ตี​ที่​มี​ความสัมพันธ์​เป็น​คู่ๆ: ​กราฟ​กำลัง​มา "​จัด X ​ให้ Y" ​ใต้​เงื่อนไข​ความเข้ากันได้: ​การจับคู่​สอง​ฝั่ง (bipartite matching) "​ปริมาณ​ผ่าน​ทาง" "​คอขวด" "​ตัดขาด​พวก​มัน": max-flow, min-cut ​สถานะ​ต่อเนื่อง​พร้อมท​ราน​ซิ​ชัน​ที่​ถูก​กติกา: ​วิถี​สั้น​สุด​บน*​ปริภูมิ​สถานะ* ​ไม่​ใช่​บน​พื้นที่​กายภาพ ​สัญญาณ​เม​ตา: ​เรื่องเล่า​ต้าน​การโจมตี​ซึ่งหน้า ​แต่​ทุก​ประโยค​ฟัง​เหมือน​กำลัง​บรรยาย​โครงสร้าง​อะไร​สัก​อย่าง ​รี​เฟล็กซ์: ​ตั้งชื่อ​จุดยอด

​ปริศนา​แรก​สุด​ของ​หนังสือ​เล่ม​นี้​แอบ​เป็นตัว​อย่าง​ง่าย​ของ​หมวด​นี้​มา​ตลอด ​หมาป่า ​แพะ ​กะหล่ำปลี ​ของ​บท​ที่ 1 ​กลายเป็น: ​จุดยอด = ​การก​ระ​จาย​ตัว*​ที่​ถูก​กติกา*​ของ {​ชาวนา, ​หมาป่า, ​แพะ, ​กะหล่ำปลี} ​บน​สอง​ฝั่งน้ำ — ​สถานะ​ดิบ 16 ​ถูก​กติกา 10; ​เส้น​เชื่อม = ​การข้าม​ฟาก​หนึ่ง​เที่ยว ​คำถาม​กลายเป็น​วิถี​สั้น​สุด; breadth-first search ​หา​เส้นทาง 7 ​เที่ยว​ข้าม​เจอ ​แถม*​รับรอง*​ว่า​น้อย​สุด — ​และ​อา​ฮ่า​อัน​ลือลั่น ​การพา​แพะ​ย้อนกลับ ​ก็​กลายเป็น​แค่​เส้น​เชื่อม​ธรรมดา​เส้น​หนึ่ง ​ถูก​ข้าม​ผ่าน​โดย​การเสิร์ช​โง่ๆ ​ตัว​เดียวกัน ​การปิ๊ง​อยู่​ที่​ขั้น​จำลอง​แบบ; ​หลังจากนั้น​ไม่ต้อง​ใช้การ​ปิ๊ง​อีก​เลย ​ท่าเดียว​กัน​นี้​แก้​ลูกบาศก์ Rubik ​ปริศนา​เลื่อน​แผ่น ​และ​การทวน​สอบ​โพรโทคอล: ​วิถี​สั้น​สุด​ใน​กราฟ​ของ*​คอนฟิ​กู​เร​ชัน* ​ไม่​ใช่​ของ​สถานที่

★★★★ · ​ยาม​ใน​วัง

​พื้น​วัง​ขนาด 4 × 4 ​มี​สมบัติ​อยู่​ที่​ช่อง (1,1), (1,3), (2,2), (3,1), (3,3) — ​แถว, ​คอลัมน์ ​ยาม​หนึ่ง​คน​ลาดตระเวน​เต็ม​หนึ่ง​แถว​หรือ​เต็ม​หนึ่ง​คอลัมน์ ​จง​หา​จำนวน​ยาม​น้อยที่สุด​ที่​คุ้มกัน​สมบัติ​ได้​ครบ​ทุก​ชิ้น ​และ*​พิสูจน์*​ว่า​น้อยที่สุด​จริง

​หยุด​ตรงนี้ ​อะไร​กัน​แน่​คือ​จุดยอด?

​เฉลย. ​ไป​ทาง​สอง​ฝั่ง: ​จุดยอด​ฝั่ง​ซ้าย​คือ​แถว ​จุดยอด​ฝั่ง​ขวา​คือ​คอลัมน์ ​และ​สมบัติ​แต่ละ​ชิ้น​คือ​เส้น​เชื่อม​ที่​โยง​แถว​ของ​มัน​เข้ากับ​คอลัมน์​ของ​มัน ​ยาม​คือ*​จุดยอด*; ​การคุ้มกัน​สมบัติ​ครบ​ทุก​ชิ้น​คือ​การแตะ​ทุก​เส้น​เชื่อม: vertex cover ​ใน​กราฟ​สอง​ฝั่ง vertex cover ​น้อย​สุด​เท่ากับ matching ​มาก​สุด — ​ทฤษฎีบท​ของ König, 1931 ​ขอบเขต​ล่าง: ​สมบัติ (1,1), (2,2), (3,3) ​เป็น matching ​ขนาด 3 ​ไม่​ใช้​แถว​ร่วมกัน ​ไม่​ใช้​คอลัมน์​ร่วมกัน ​และ​ยาม​หนึ่ง​คน​คุ้ม​เส้น​เชื่อม​ของ matching ​ได้​อย่าง​มาก​หนึ่ง​เส้น — 3 ​คน​จึง​ถูก​บังคับ ​ขอบเขต​บน: ​แถว 1, 2, 3 ​คุ้ม​สมบัติ​ครบ​ทั้ง​ห้า ​น้อย​สุด: 3 ∎ (​ตรวจ​ตรงๆ ​ว่า​สอง​คน​ไม่​พอ: ​จะ​คุ้ม (2,2) ​ต้อง​ใช้​แถว 2 ​หรือ​คอลัมน์ 2 ​ซึ่ง​ไม่​แตะ​สมบัติ​มุม​ทั้ง​สี่​ชิ้น​เลย — ​และ​เส้น​เดียว​คุ้ม​สี่​ชิ้น​มุม​นั้น​ได้​อย่าง​มาก​สอง)

​ไม่​มี​ตรงไหน​ใน​เรื่องเล่า​พูด​คำ​ว่า "​กราฟ" ​และ​การแปล​ที่​ชนะ — ​สมบัติ = ​เส้น​เชื่อม ​ไม่​ใช่​จุดยอด — ​คือ​เนื้อแท้​ของ​ทักษะ​การจำลอง​แบบ​ล้วนๆ ​พอ​แปล​เสร็จ ​ทฤษฎีบท​ปี 1931 ​ก็​ปิดฉาก​การต่อสู้​ให้ ​พร้อม​ใบรับรอง​แนบ​มา: ​ตัว matching ​นั่นแหละ*​คือ*​พยาน​ของ​ขอบเขต​ล่าง

​ท่า — ​ตั้งชื่อ​จุดยอด. ​เลือก​อะตอม​ให้​ถูก ​แล้ว​ทฤษฎีบท​มัก​รอ​อยู่​ตรงนั้น​แล้ว

​เครื่องจักร​กับ​ท่า​นี้. ​การรัน max-flow ​นั้น​จิ๊บจ๊อย; *​การตัดสิน​ว่า​เรื่องเล่า​นี้​เป็นปัญหา​การไหล*​คือ abduction ​บน​ปริภูมิ​การแทน​แบบ​เปิด — ​โมเดล​จำ​ชุด​แฟนซี​ที่​เคย​อ่าน​ผ่าน​ตา​ได้ ​แต่​พลาดท่า​กับ​การปลอม​ตัว​สด​ใหม่

​แยก​กรณี ​กับ WLOG

​เครื่องมือ. ​เมื่อ​ไม่​มี​อาร์กิวเมนต์​เดียว​ที่​คลุม​ได้​ทั้งหมด ​จง​แบ่ง​ปริภูมิ​เป็น​กรณี​จำนวน​จำกัด​แล้ว​สังหาร​ทีละ​กรณี ​วินัย: ​ครบถ้วน (​บอก​ให้ได้​ว่า​ทำไม) ​ควร​ไม่​ทับซ้อน​กัน ​และ*​น้อย​กรณี* — ​ตรงนี้​แหละ​ที่ "without loss of generality (WLOG — ​โดย​ไม่​เสีย​นัย​ทั่วไป)" ​หาเลี้ยงชีพ: ​หาร​สมมาตร​ทิ้ง*​ก่อน*​จะ​แยก​กรณี ​ด้วย​การตรึง​ลำดับ ​ตรึง​ตำแหน่ง ​หรือ​ตรึง​การตั้งชื่อ

​กลิ่น. ​ปริภูมิ​เล็ก​และ​มี​โครงสร้าง — ​สอง​สี ​เศษเหลือ mod 3 ​ใคร​เดิน​ก่อน ​ข้อความ​ที่​ไม่​แปรเปลี่ยน​ใต้​การสลับ​ป้ายชื่อ: ​ความไม่​แปรเปลี่ยน​นั้น​คือ​คูปอง ​จง​ใช้​มัน ​กลิ่น​เตือน​ใน​ทิศ​ตรงข้าม: ​จำนวน​กรณี​ที่​ทะลุ​ห้า​ไป​แล้ว​โดยประมาณ ​มัก​แปล​ว่า​ขาด invariant ​หรือ​ขาด​การเลือก​ตัว​สุดขั้ว​สัก​ตัว ​การแยก​กรณี​คือ​ทางเลือก​สุดท้าย​อัน​มีเกียรติ

★★ · ​ปาร์ตี้​หก​คน

​จง​พิสูจน์​ว่า​ใน​คน 6 ​คนใดๆ ​มี​สัก 3 ​คน​ที่​รู้จัก​กัน​หมด ​หรือ​สัก 3 ​คน​ที่​แปลกหน้า​กัน​หมด

​หยุด​ก่อน ​ตรึง​แขก​หนึ่ง​คน ​แล้ว​มอง​ความสัมพันธ์​ทั้ง​ห้า​เส้น​ของ​เขา

​เฉลย. ​ตรึง​คน​หนึ่ง​คน ​เรียก v ​ใน​ความสัมพันธ์ 5 ​เส้น​ที่ v ​ต้อง​มี​ชนิด​หนึ่ง​ปรากฏ​อย่าง​น้อย ⌈5/2⌉ = 3 ​ครั้ง (​หลัก​รังนก​พิราบ); WLOG ​ให้​เป็น "​รู้จัก" — ​ตัว​ข้อความ​สมมาตร​ใต้​การสลับ ​รู้จัก/​แปลกหน้า ​ท่า​นี้​จึง​หั่น​บทพิสูจน์​เหลือ​ครึ่ง​เดียว ​สมมุติ v ​รู้จัก A, B, C ​ถ้า​มี​คู่​ไหน​ใน​สาม​คน​นี้​รู้จัก​กัน ​คู่​นั้น​บวก v ​คือ​สามเหลี่ยม​คนรู้จัก ​ถ้า​ไม่​มี​คู่​ไหน​เลย A, B, C ​ก็​คือ​สาม​คนแปลกหน้า​กัน​หมด ​จบ​ทั้งสอง​ทาง ∎ ​ความคม: ​จับ​คน 5 ​คน​นั่ง​เป็น​รูปห้าเหลี่ยม ​เพื่อนบ้าน​รู้จัก​กัน ​เส้นทแยง​แปลกหน้า​กัน — ​ไม่​มี​สามเหลี่ยม​ชนิด​ใด​เลย ​ดังนั้น 6 ​คือ​ค่า​เป๊ะ: R(3,3) = 6

​เครื่องมือ​สาม​ชิ้น​ใน​แปด​บรรทัด — ​รังนก​พิราบ​เลือก​กิ่ง WLOG ​หั่น​ต้นไม้​เหลือ​ครึ่ง excluded middle ​ทำให้​กรณี​ครบถ้วน ​แล้ว​คำขวัญ​ของ​ทฤษฎี Ramsey ​ก็ตาม​มา: ​โครงสร้าง​กลายเป็น​สิ่ง​เลี่ยง​ไม่​ได้​เมื่อ​ขนาด​ถึง

​ท่า — ​หาร​สมมาตร​ทิ้ง​ก่อน​จะ​แยก​กรณี. ​สมมาตร​ทุก​อัน​ที่​คุณ​ไม่​ยอม​ใช้ ​จะ​กลายเป็น​กรณี​ที่​เหมือนกัน​เป๊ะ​สอง​กรณี ​ที่​ถูก​เขียน​ซ้ำสอง​รอบ


★★★★ · ​สาม​จาก​ห้า

​จง​พิสูจน์​ว่า​ใน​จำนวนเต็ม 5 ​ตัว​ใดๆ ​มี​สัก 3 ​ตัว​ที่​ผลบวก​หาร​ด้วย 3 ​ลงตัว — ​และ​จง​แสดงว่า 4 ​ตัว​นั้น​ไม่​พอ

​หยุด​ตรงนี้ ​เลือก​วิธี​แยก​กรณี​ให้​แต่ละ​กิ่ง​มี​อาวุธ​ประจำ​มือ

​เฉลย. ​ที่​สำคัญ​มี​แค่​เศษเหลือ mod 3; ​คัด​ห้า​ตัว​เข้า​ชั้น R₀, R₁, R₂ ​แล้ว​แยก​กรณี​ตาม*​ขนาด​ชั้น​ที่​ใหญ่​ที่สุด* ​กรณี A — ​มี​ชั้นหนึ่ง​จุ ≥ 3. ​หยิบ​สาม​ตัว​จาก​ชั้น​นั้น: ​ผลบวก ≡ 3r ≡ 0 (mod 3) ​กรณี B — ​ทุก​ชั้น​จุ ≤ 2. ​ห้า​จำนวน​จึง​บังคับ​ขนาด​เป็น (2, 2, 1) ​ใน​ลำดับ​ใด​ลำดับ​หนึ่ง — ​โดยเฉพาะอย่างยิ่ง​ไม่​มี​ชั้น​ไหนว่าง ​เพราะ​สองชั้น​จุ​ได้​อย่าง​มาก 4 ​หยิบ​ชั้น​ละ​หนึ่ง​ตัว: 0 + 1 + 2 ≡ 0 (mod 3) ​กรณี​ครบถ้วน​แน่: ​ค่าสูงสุด​ถ้า​ไม่ ≥ 3 ​ก็​ต้อง ≤ 2 ∎ ​ความคม. ​สี่​จำนวน​หลบ​ได้: ​เศษเหลือ {0, 0, 1, 1} — ​สาม​ตัว​ใดๆ ​บวก​กัน​ได้ 1 ​หรือ 2 (mod 3) ​ไม่​มี​วัน​เป็น 0 ​ดังนั้น 5 ​คือ​ค่า​เป๊ะ ​นี่​คือ​กรณี n = 3 ​ของ​ทฤษฎีบท Erdős–Ginzburg–Ziv (1961): ​ใน​จำนวนเต็ม 2n − 1 ​ตัว​ใดๆ ​มี​สัก n ​ตัว​ที่​ผลบวก​หาร​ด้วย n ​ลงตัว ​และ 2n − 2 ​ตัว​ไม่​มี​วัน​พอ — ​ศูนย์​จำนวน n − 1 ​ตัว​กับ​หนึ่ง​จำนวน n − 1 ​ตัว​คือ​ท่า​หลบ​ฉบับ​ทั่วไป ​ป้ายบอกทาง "​ความเป๊ะ​ประหลาด" ​ของ​บท​ที่ 8 ​ระเบิด​ตรง​ตาม​นัด

​ท่า — ​ออกแบบ​กรณี​ย้อน​จาก​ท่า​ปิด​เกม. ​แยก​ตามตัว​แปร​ที่​เลือก​มา​ให้​ทุก​กิ่ง​ตาย​ด้วย​อาวุธ​ที่​มี​ใน​มือ; ​การวิเคราะห์​ที่​โชว์​ความคม (tightness) ​ไม่​ได้ ​มัก​ซุก​กรณี​หย่อน​ไว้​ที่ไหน​สัก​แห่ง

​เครื่องจักร​กับ​ท่า​นี้. ​การเช็ก​แบบ​ถ้วน​ทั่ว​คือท่​วง​ก้าว​โดยกำเนิด​ของ​เครื่องจักร — ​บทพิสูจน์​สี่​สี​ของ Appel ​กับ Haken (1976) ​เช็ก​ราว 1,936 ​คอนฟิ​กู​เร​ชัน — ​แต่​ใบอนุญาต WLOG ​การมองออก​ว่า​ผล​หาร​ตัว​ไหน​ยุบ 3⁶ ​กรณี​ให้​เหลือ 2 ​ยัง​เป็นงาน​ออกแบบ​ของ​มนุษย์

​แก้​โจทย์​เล็ก​ก่อน

​เครื่องมือ. ​สอง​ทิศทาง​บน​หน้าปัด​เดียว ​กรณี​เล็ก​ก่อน: ​คำนวณ n = 1, 2, 3, 4 ​ด้วยมือ ​ตั้ง​ข้อ​คาดการณ์​แพตเทิร์น ​แล้ว​พิสูจน์​มัน — ​กรณี​ที่​คำนวณ​ไว้​กลายเป็น​ฐาน​ของ​อุปนัย ​วาง​นัย​ทั่วไป​ก่อน — ​ปฏิทรรศน์​นักประดิษฐ์​ของ Pólya ​อีกครั้ง: ​แทนที่​คำถาม​เฉพาะเจาะจง (100, ​เลข​ปี​นี้, ​กระดาน​แผ่น​นี้) ​ด้วย​ครอบครัว​พารามิเตอร์​ของ​มัน; ​คำถาม​ฉบับ​ทั่วไป​มี​โครงสร้าง​ให้​จับ​มากกว่า ​และ​คำตอบ​เฉพาะ​ก็​ร่วง​ออกมา​เอง​ด้วย​การแทนค่า

​กลิ่น. ​ค่าคงตัว​ใหญ่​เจาะจง — 2026, 100, 10¹⁸ — ​แทบ​ทุกครั้ง​คือ​ชุด​แฟนซี​ที่​คลุม​พารามิเตอร์​สะอาดๆ ​ตัว​หนึ่ง​ชื่อ n "​จง​หา​ค่า" ​โดย​ไม่​มี​โครงสร้าง​ให้​เห็น: ​ทำ​ตาราง​ทันที ​ข้อความ​ที่​ให้ความรู้​สึก​ตามอำเภอใจ: ​วาง​นัย​ทั่วไป​จนกว่า​มัน​จะ​รู้สึก​หลีกเลี่ยง​ไม่​ได้ ​และ​รี​เฟล็กซ์​ของ​มืออาชีพ: ​แพตเทิร์น​จาก​ข้อมูล​สาม​จุด​คือ​สมมุติฐาน ​ไม่​ใช่​คำตอบ

★★ · ​หลัก​สุดท้าย​ของ 7²⁰²⁶

​จง​หา​หลัก​สุดท้าย​ของ 7²⁰²⁶

​หยุด​ก่อน ​แทน 2026 ​ด้วย n ​แล้ว​ทำ​ตาราง​เล็กๆ

​เฉลย. ​ทำ​ตาราง 7ⁿ mod 10: 7, 9, 3, 1 ​แล้วก็ 7, 9, 3, 1, … — ​คาบ 4 (​เศษเหลือ​ซ้ำ​เมื่อไร ​ทั้ง​วงจร​ต้อง​ซ้ำ​ตาม: ​การคูณ​ด้วย 7 mod 10 ​เป็นแมป​ตายตัว) ​คำตอบ​จึง​ขึ้นกับ n mod 4 ​เท่านั้น ​และ 2026 ≡ 2 (mod 4): ​หลัก​สุดท้าย = 7² mod 10 = 9 ∎ ​เบื้องหลัง​ของเล่น​ชิ้น​นี้​คือ​เครื่องจักร​ทั่วไป: ​กำลัง​ต่างๆ mod m ​เป็น​คาบ​ในที่สุด​เสมอ — ​รังนก​พิราบ​บน​เศษเหลือ m ​ตัว — ​และ​ทฤษฎีบท​ของ Euler ​ทำนาย​ว่า​คาบ​ต้องหาร φ(10) = 4 ​ลงตัว

​ท่า — ​แทน​ปี​ด้วย n. ​ความเป็น​คาบ​สอง​บรรทัด ​ใน​ชุด​แฟนซี​สี่​หลัก ​จง​ถอด​ชุด​มัน​ออก


★★★★ · ​วงกลม​ปะทะ​เสียง​ไซเรน

​วงกลม n ​วง​บน​ระนาบ ​แต่ละ​คู่​ตัดกัน​ที่ 2 ​จุด​พอดี ​ไม่​มี​สาม​วง​ผ่าน​จุด​เดียวกัน ​พวก​มัน​หั่น​ระนาบ​ออก​เป็น​กี่​บริเวณ? ​จง​คำนวณ​กรณี​เล็ก ​ตั้ง​ข้อ​คาดการณ์ — ​แล้ว​พิสูจน์

​หยุด​ตรงนี้ ​และ​อย่า​เชื่อ​สูตร​แรก​ของ​ตัวเอง

​เฉลย. ​กรณี​เล็ก: n = 1 → 2 ​บริเวณ; n = 2 → 4; n = 3 → 8 ​ไซเรน​ขับขาน: 2ⁿ ​ทดสอบ n = 4 ​วงกลม​วง​ที่สี่​ตัด​อีก 3 ​วง​ก่อนหน้า​ที่ 6 ​จุด ​ถูก​หั่น​เป็น 6 ​ส่วนโค้ง ​และ​แต่ละ​ส่วนโค้ง​ผ่า​หนึ่ง​บริเวณ: 8 + 6 = 14 ​ไม่​ใช่ 16 ​การเบิ้ล​สองเท่า​คือ​ภาพลวงตา​ของ​จำนวน​เล็ก ​การนับ​แบบ​สะสม​ทีละ​วง ​คราวนี้​ซื่อตรง: ​วงกลม​วง​ที่ k ​ตัด​วง​ก่อนหน้า​ทั้ง k − 1 ​วง​ที่ 2(k − 1) ​จุด ​ถูก​หั่น​เป็น 2(k − 1) ​ส่วนโค้ง ​และ​แต่ละ​ส่วนโค้ง​ผ่า​บริเวณ​เดิม​หนึ่ง​บริเวณ​พอดี — ​เพิ่ม 2(k − 1) ​ขณะที่​วง​แรก​เพิ่ม 1 ​จาก​ค่า​ตั้งต้น 1 R(n) = 2 + Σₖ₌₂ⁿ 2(k − 1) = n² − n + 2 ​ตรวจ: 2, 4, 8, 14, 22 ✓ ​แล้ว​รับรอง*​อย่าง​เป็นอิสระ*​ด้วย​สูตร​ของ Euler V − E + F = 2: V = n(n − 1) ​จุดตัด; ​แต่ละ​วง​แบก​จุดตัด​ไว้ 2(n − 1) ​จุด ​ดังนั้น E = 2n(n − 1) ​ส่วนโค้ง; F = 2 − V + E = n(n − 1) + 2 — ​ได้ n² − n + 2 ​ตัว​เดิม ∎ ​สอง​ถนน ​หนึ่ง​คำตอบ: ​มาตรฐาน​ที่แท้​จริง​ของ​คำ​ว่า "​ทวน​สอบ​แล้ว"

​วาง​แฝด​เตือนใจ​ไว้​เคียง​กัน — ​ปัญหา​วงกลม​ของ Moser: n ​จุด​บน​วงกลม ​ลาก​คอร์ด​ครบ​ทุก​เส้น ​ไม่​มี​สาม​เส้น​ร่วม​จุด​เดียว ​นับ​บริเวณ ​ลำดับ​วิ่ง 1, 2, 4, 8, 16 — ​แล้วก็ 31 ​ที่ n = 6 ​สูตร​จริง​คือ C(n,4) + C(n,2) + 1 (​คอร์ด​แต่ละ​เส้น​เพิ่ม​หนึ่ง​บริเวณ; ​จุดตัด​ภายใน​แต่ละ​จุด — ​หนึ่ง​จุดต่อ​ทุก 4 ​จุด​บน​วง — ​เพิ่ม​อีก​หนึ่ง): 1, 2, 4, 8, 16, 31, 57 — ​ลำดับ A000127 ​ใน OEIS ​เบิ้ล​สองเท่า​ห้า​ครั้ง​ติดกัน ​แล้วก็​ทรยศ ​กรณี​เล็ก​มีหน้า​ที่​เสนอ; ​บทพิสูจน์​เท่านั้น​ที่​ชี้ขาด

​ท่า — ​คาดการณ์​ให้​ถูกๆ ​ทวน​สอบ​ให้​แพงๆ ​รับรอง​สองชั้น. ​กรณี​เล็ก​ตัว​ที่สี่​คือ​เบี้ยประกัน​ราคา​ถูก; ​การหา​ที่มา​อีก​เส้นทาง​ที่​เป็นอิสระ​คือ​ตราประทับ

​เครื่องจักร​กับ​ท่า​นี้. ​เครื่องจักร​แจกแจง​เก่ง​กว่า​เรา​ชนิด​ไร้สาระ — ​นัก​แข่ง​คำนวณ​สี่​พจน์​แล้ว​เปิด OEIS ​กัน​จริงๆ — ​แต่​การลากเส้น​ต่อ​เป็น 2ⁿ ​จาก​สี่​พจน์​คือ​กับดัก​ของ Moser ​ฉบับ​อุตสาหกรรม; ​คาดการณ์-​แล้ว-​รับรอง ​ถ่ายโอน​ไป​ใช้​ตรวจสอบ​เอาต์พุต​ของ​เครื่องจักร​ได้​คำต่อคำ

​นับ​สอง​ทาง

​เครื่องมือ. ​นับ​วัตถุ​ชุด​เดียว​ด้วย​ระบบ​ทำ​บัญชี​สอง​แบบ; ​ทั้งสอง​แบบ​นับ​สิ่ง​เดียวกัน ​สอง​นิพจน์​จึง​เท่ากัน — ​และ​สมการ​นั้นแหละ​คือ​ทฤษฎีบท ​วัตถุ​ที่​ใช้​บ่อย​คือ​เซต​ของ*​อุบัติการณ์ (incidence)*: ​ผลรวม​ราย​แถว​ปะทะ​ผลรวม​ราย​คอลัมน์​ของ​เมทริกซ์ 0/1 ​ตัว​เดียวกัน ​นับ​สอง​ทาง​คือ​โรง​ตี​เหล็ก​แห่ง​เอกลักษณ์​ของ​คอม​บิ​นา​ทอ​ริกส์

​กลิ่น. ​เอกลักษณ์​หรือ​การหาร​ลงตัว​ระหว่าง​ปริมาณ​เชิง​นับ; ​ผลบวก​ที่จะ​ง่าย​ลง​ถ้า​จัด​ดัชนี​ใหม่ — "​สำหรับ​นักเรียน​แต่ละคน…" ​ปะทะ "​สำหรับ​โจทย์​แต่ละ​ข้อ…"; ​การจับมือ ​สมาชิกภาพ ​ค่าเฉลี่ย (​ค่าเฉลี่ย​คือ​การนับ​สอง​ทาง​หาร​ด้วย​จำนวน​หัว) ​รี​เฟล็กซ์: ​นิยาม​เซต​อุบัติการณ์​ให้​ชัดแจ้ง — "​คู่ (x, y) ​ที่​ซึ่ง…" — ​แล้ว​รวมยอด​มัน​ทั้งสอง​ทาง

★★ · ​การจับมือ ​กับ​สำมะโน

(ก) ​จง​พิสูจน์​ว่า​ใน​กราฟ​ใดๆ ​ผลรวม​ของดี​กรี​เท่ากับ​สองเท่า​ของ​จำนวน​เส้น​เชื่อม ​และ​สรุป​ว่า​จำนวน​จุดยอด​ดีกรี​คี่​เป็น​จำนวนคู่​เสมอ (ข) ​ใน​ห้องเรียน​หนึ่ง ​นักเรียน 35 ​คน​แต่ละคน​แก้​โจทย์​ได้​คนละ 3 ​ข้อ​พอดี ​และ​โจทย์​ทุก​ข้อ​ถูก​แก้​โดย​นักเรียน 5 ​คน​พอดี ​มี​โจทย์​ทั้งหมด​กี่​ข้อ?

​หยุด​ก่อน ​ทั้งสอง​ข้อ​คือ​ท่าเดียว​กัน

​เฉลย. (ก) ​นับ​อุบัติการณ์ (v, e) ​ที่​จุดยอด v ​เป็น​ปลาย​ของ​เส้น​เชื่อม e: ​จัดกลุ่ม​ตาม​จุดยอด ​ได้ Σ deg(v); ​จัดกลุ่ม​ตาม​เส้น​เชื่อม ​ได้​เส้น​ละ 2 ​พอดี ​ดังนั้น Σ deg(v) = 2|E| — ​และ​ผลบวก​ของ​จำนวนเต็ม​ที่​ลงเอย​เป็น​คู่ ​ต้อง​มี​พจน์​คี่​อยู่​เป็น​จำนวนคู่​ตัว ​จุดยอด​ดีกรี​คี่​จึง​มา​เป็น​จำนวนคู่​เสมอ (ข) ​นับ​อุบัติการณ์ (​นักเรียน, ​โจทย์) ​สอง​ทาง: 35 · 3 = P · 5 ​ดังนั้น P = 21 ∎ ​ไม่ต้อง​แจกแจง ​ไม่ต้อง​รู้​โครงสร้าง — ​สอง​มุมมอง​เพียงลำพัง​ก็​ตรึง​คำตอบ​อยู่หมัด

​ท่า — ​รวมยอด​เมทริกซ์​ทั้งสอง​ทาง. ​จะ​ราย​แถว​หรือ​ราย​คอลัมน์ ​ยอดรวม​ใหญ่​ไม่​มีทาง​แคร์ ​จง​ทำให้​ความไม่​แคร์​นั้น​พูด​อะไร​ออกมา​สัก​อย่าง


★★★★ · ​จุด​ตรึง​ทุก​จุด ​นับ​จาก​ด้าน​ข้าง

(IMO 1987 ​ข้อ 1) ​ให้ pₙ(k) ​เป็น​จำนวน​การเรียง​สับเปลี่ยน​ของ {1, …, n} ​ที่​มี​จุด​ตรึง k ​จุด​พอดี ​จง​พิสูจน์​ว่า Σₖ₌₀ⁿ k · pₙ(k) = n!

​หยุด​ตรงนี้ ​เซต​หนึ่งเดียว​เซต​ไหน ​ที่​ทั้งสอง​ข้าง​อาจ​กำลัง​นับ​อยู่?

​เฉลย. ​ข้าง​ซ้าย​นับ​การเรียง​สับเปลี่ยน π ​แต่ละ​ตัว ​หนึ่ง​ครั้ง*​ต่อ​จุด​ตรึง​หนึ่ง​จุด​ที่​มัน​มี*: ​มัน​คือ​ขนาด​ของ​เซต​อุบัติการณ์ F = {(π, i) : π(i) = i} ​เมื่อ​จัดกลุ่ม​ตาม π ​จัดกลุ่ม​ตาม i ​แทน​สิ: ​การเรียง​สับเปลี่ยน​ที่​ตรึง i ​ตัว​ที่​กำหนด ​ก็​คือ​การเรียง​สับเปลี่ยน​ของ​สมาชิก​อีก n − 1 ​ตัว​นั่นเอง — ​มี (n − 1)! ​ตัว ​ดังนั้น |F| = n · (n − 1)! = n! ∎ ​เช็ก​สติ​ที่ n = 3: ​การเรียง​สับเปลี่ยน​หนึ่ง​ตัว​มี​จุด​ตรึง 3 ​จุด ​สาม​ตัว​มี 1 ​สอง​ตัว​มี 0; 3·1 + 1·3 + 0·2 = 6 = 3! ✓

​โจทย์ IMO ​แท้ๆ — ​และ​คำเฉลย​ทั้งหมด​คือ​การเปลี่ยน​มุมมอง​ครั้ง​เดียว ​ยาว​สาม​บรรทัด ​ความยาก​กับ​ความยาว​ของ​คำเฉลย​ที่​ดี​ที่สุด​แทบ​เป็นตัว​แปร​อิสระ​ต่อกัน; ​ข้อสอบ​ข้อ​นี้​ทดสอบ​ว่า​ผลบวก​ตัว​นั้น*​ได้กลิ่น*​การนับ​อุบัติการณ์​หรือเปล่า ​อ่าน​ใน​เชิง​ความน่าจะเป็น ​เอกลักษณ์​นี้​บอก​ว่าการ​เรียง​สับเปลี่ยน​โดยเฉลี่ย​มี​จุด​ตรึง​หนึ่ง​จุด​พอดี — ​ซึ่ง​ส่ง​เครื่องมือ​ถัดไป​มา​ใส่​มือ​เรา

​ท่า — ​ทุก​ผลบวก​คือ​เซต​หนึ่ง​ที่​กำลัง​ถูก​นับ ​จง​หา​เซต​นั้น​ให้​เจอ.

​เครื่องจักร​กับ​ท่า​นี้. ​การทวน​สอบ​ว่า​สอง​ยอด​ตรงกัน​คือ​เลขคณิต; *​การเลือก​เซต​อุบัติการณ์*​คือ​การแทน​เสีย​ใหม่ ​ซึ่ง​วาง​นัย​ทั่วไป​ได้​แย่​ใน​โมเดล ​เมื่อ​เจอ​ผลบวก​ถ่วง​น้ำหนัก​ที่​แปลกใหม่

​เลนส์​ความน่าจะเป็น

​เครื่องมือ. ​นำเข้า​ความน่าจะเป็น​สู่​ปัญหา​ที่​ไม่​เอ่ยถึง​มัน​สัก​คำ ​เครื่องยนต์​ที่หนึ่ง — ​ภาวะ​เชิงเส้น​ของ​ค่า​คาดหมาย: E[X₁ + ⋯ + Xₙ] = Σ E[Xᵢ] ​โดย​สมมุติ​ความเป็นอิสระ*​ศูนย์*​ข้อ ​ความยุ่งเหยิง​ที่​พัน​กัน​สห​สัมพันธ์กัน​จึง​แตกตัว​เป็นผล​บวก​ราย​ชิ้นส่วน ​เครื่องยนต์​ที่สอง — ​การเฉลี่ย ​วิธี​ความน่าจะเป็น (probabilistic method) ​ของ Erdős: ​ถ้า​ค่าเฉลี่ย​ทั่ว​ทั้ง​ครอบครัว​คือ v ​สมาชิก​บาง​ตัวย่อม​ทำได้​อย่าง​น้อย v ​สุ่ม​หยิบ​วัตถุ ​คำนวณ​คุณค่า​คาดหมาย​ของ​มัน ​แล้ว​วัตถุ​ดีๆ ​ก็​มี​อยู่​จริง — ​โดย​ไม่​เคย​ถูก​สร้าง​ขึ้น​เลย

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

★★ · ​การเรียง​สับเปลี่ยน​เฉลี่ย

​จง​แสดงว่า​จำนวน​จุด​ตรึง​เฉลี่ย​ของ​การเรียง​สับเปลี่ยน​สุ่ม​ของ n ​สมาชิก​คือ 1 — ​สำหรับ​ทุก n

​หยุด​ก่อน ​ห้าม​ใช้​ผลบวก​บน k

​เฉลย. ​ให้ Xᵢ = 1 ​ถ้า π(i) = i ​มิฉะนั้น​เป็น 0; ​จำนวน​จุด​ตรึง​คือ X = Σ Xᵢ ​และ E[Xᵢ] = P(π(i) = i) = (n − 1)!/n! = 1/n ​ภาวะ​เชิงเส้น — Xᵢ ​ทั้งหลาย​สห​สัมพันธ์กัน​หนักหน่วง ​และ​นั่น​ไม่​สำคัญ​เลย: E[X] = n · (1/n) = 1 ∎

​เลขคณิต​ข้อ​นี้​ก็​คือ​เอกลักษณ์ IMO ​จาก​หมวด​ที่แล้ว ​หาร​ด้วย n! ​แต่​การนับ​สอง​ทาง​ต้องการ​แรงบันดาลใจ — ​ต้องหา​เซต​อุบัติการณ์​ให้​เจอ — ​ขณะที่​ค่า​คาดหมาย​ต้องการ​แค่​รี​เฟล็กซ์​ประจำ​กาย ​ภาษา​ความน่าจะเป็น​แปลง​การปิ๊ง​ครั้ง​เดียว​จบ​ให้​กลายเป็น​การคำนวณ​กิจวัตร; ​การแปลง​นั้นแหละ​คือ​ประเด็น​ของ​การมี​เลนส์​เป็น​ของ​ตัวเอง

​ท่า — ​เขียน​ตัว​ชี้​วัด​ออกมา. ​ภาวะ​เชิงเส้น​ไม่​เคย​ถาม​ว่า​พวก​มัน​อิสระ​ต่อกัน​หรือเปล่า


★★★★ · ​รอยตัด​ใหญ่

​จง​พิสูจน์​ว่า​กราฟ​ทุก​กราฟ​ที่​มี m ​เส้น​เชื่อม ​มี​การแบ่ง​จุดยอด​ออก​เป็น​สอง​ฝั่ง ​ที่​มี​เส้น​เชื่อม​ข้าม​ระหว่าง​ฝั่ง​อย่าง​น้อย m/2 ​เส้น (​ไม่​มี​ความสุ่ม​อยู่​ใน​ตัว​โจทย์​เลย)

​หยุด​ตรงนี้ ​โยน​เหรียญ​ให้​จุดยอด​ทุก​จุด

​เฉลย. ​ระบายสี​จุดยอด​แต่ละ​จุด​เป็น ​ซ้าย ​หรือ ​ขวา ​ด้วย​เหรียญ​เที่ยงตรง​ที่​อิสระ​ต่อกัน ​สำหรับ​เส้น​เชื่อม e = {u, v} ​ให้ Xₑ ​ชี้​วัด​เหตุการณ์ "u ​กับ v ​อยู่​คนละ​ฝั่ง": P(Xₑ = 1) = 1/2 ​ดังนั้น E[Σ Xₑ] = m/2 ​ค่าเฉลี่ย m/2 ​บังคับ​ให้​มี​บาง​ผลลัพธ์ ≥ m/2 — ​ค่าเฉลี่ย​เกิน​ค่าสูงสุด​ของ​ตัวเอง​ไม่​ได้ ​ผลลัพธ์​นั้นแหละ​คือ​การแบ่ง​ฝั่ง​ที่​ต้องการ ∎

​จากนั้น​ถอดความ​สุ่ม (derandomize) ​ด้วย​เพื่อนเก่า​คน​หนึ่ง ​บทพิสูจน์​ไม่​ได้​ระบุชื่อ​รอยตัด​สัก​อัน ​แต่ monovariant (​บท​ที่ 9) ​สกัด​มัน​ออกมา​ได้: ​เริ่ม​ที่ไหน​ก็ได้; ​ตราบใดที่​ยังมี​จุดยอด​สัก​จุด​ที่​มี​เพื่อนบ้าน​ฝั่ง​ตัวเอง​มากกว่า​ฝั่ง​ตรงข้าม ​จง​พลิก​ฝั่ง​มัน ​การพลิก​แต่ละครั้ง​เพิ่มจำนวน​เส้น​ข้าม​ฝั่ง​โดยแท้ ​ซึ่ง​ถูก​ขัง​เพดาน​ไว้​ที่ m ​กระบวนการ​จึง​ต้อง​หยุด — ​และ ณ ​จุด​หยุด ​จุดยอด​ทุก​จุด​มี​อย่าง​น้อย​ครึ่งหนึ่ง​ของดี​กรี​ข้าม​ฝั่ง​อยู่ ​ดังนั้น​เส้น​ข้าม ≥ ½ · Σ deg(v)/2 = m/2 ​การค้น​เฉพาะที่ (local search) ​หา​สิ่ง​ที่​ความน่าจะเป็น​ให้สัญญา​ไว้​จน​เจอ (​สูง​ขึ้น​อีก​ขั้นบันได: ​การกำ​หนด​ค่า​แบบ​สุ่ม​ทำให้​อนุประโยค (clause) ​ของ​สูตร 3-SAT ​ใดๆ ​เป็นจริง​ได้ 7/8 ​ส่วน ​แต่ละ​อนุประโยค​ล้ม​ด้วย​ความน่าจะเป็น 1/8 — ​และ Håstad ​พิสูจน์​ว่า 7/8 ​คือ​ค่า​ประมาณ​ที่​ดี​ที่สุด​แล้ว ​เว้นแต่ P = NP ​ขอบเขต​สุ่ม​แสน​ธรรมดา​คือ​พรมแดน​เป๊ะๆ ​ของ​ความแก้​ไหว)

Erdős ​ก่อตั้ง​วิธี​นี้​ใน​ปี 1947 ​ด้วย​การหา​ขอบเขต​ล่าง​ของ​จำนวน Ramsey ​ผ่าน​การระบายสี​สุ่ม ​มัน​คือ​การคิด​แบบ​กรณี​เฉลี่ย​ใน​ฐานะ​อาวุธ: ​ถาม​ว่า​กรณี*​ตามแบบฉบับ*​ทำได้​แค่​ไหน ​แล้ว​อัปเกรด​ความตามแบบฉบับ​ให้​เป็นการ​มี​อยู่ (​การเฉลี่ย) ​หรือ​เป็น​อัลกอริทึม (​การถอดความ​สุ่ม) ​ปาฏิหาริย์​นักโทษ​ร้อย​คน​ของ​บท​ที่ 7 ​คือ​เลนส์​นี้​เปิด​เต็มกำลัง — ​อัตรา​รอด​ของ​ปัจเจก​ไม่​มี​ใคร​ดีขึ้น​เลย; ​กลยุทธ์​เพียง​ต้อน​ความล้มเหลว​ทั้งหลาย​ให้​ไป​กอง​อยู่​ใน​โลก​ซวย​ชุด​เดียวกัน ​ค่าเฉลี่ย​แตะต้อง​ไม่​ได้; ​ความแปรปรวน​คือ​คาน​งัด

​ท่า — ​อัปเกรด​ค่าเฉลี่ย​เป็นการ​มี​อยู่ ​แล้ว​เป็น​อัลกอริทึม.

​เครื่องจักร​กับ​ท่า​นี้. ​ไม่​มี​อะไร​ให้การ​เสิร์ช​ค้น​เจอ ​จนกว่า​ใคร​สัก​คน​จะ​หล่อ​กรอบ "​มี​อยู่" ​เสีย​ใหม่​เป็น "​ค่าเฉลี่ย" — ​การเป็นเจ้าของ​การตัดสินใจ​ที่จะ​สุ่ม​โลก​ที่​กำหนด​แน่นอน​ไว้​แล้ว ​ยังคง​เป็น​ส่วน​ของ​มนุษย์

​งบประมาณ​มา​ก่อน

​เครื่องมือ. ​ก่อน​ลงมือ​แก้ ​จง​ตั้ง​งบ: ​ขนาด​ของ​ปริภูมิ​ค้นหา ​ปริมาณ​สารสนเทศ​ของ​คำตอบ ​จำนวน​ปฏิบัติการ​ที่​จ่าย​ไหว — ​แล้ว​ปล่อย​ให้​ตัวเลข​เหล่านั้น*​เลือก​วิธี​ให้* ​สำหรับ​โปรแกรมเมอร์​นี่​คือ​ความหมาย​ตรงตัว: ​ราว 10⁸ ​ปฏิบัติการ​ง่ายๆ ​ต่อ​วินาที ​เงื่อนไข​ขอบเขต​ของ​โจทย์​จึง​เข้ารหัส​อัลกอริทึม​ที่​ผู้​ออก​ตั้งใจ​ไว้ ​สำหรับ​นัก​คณิตศาสตร์​มัน​คือ​เชิงทฤษฎี​สารสนเทศ: ​กระบวนการ​ที่​มีผล​ลัพธ์​สาม​ทาง​จำนวน k ​ครั้ง ​แยกแยะ​ได้​อย่าง​มาก 3ᵏ ​สถานการณ์ ​กลยุทธ์​ใดๆ ​จึง​ต้อง​ใช้​อย่าง​น้อย ⌈log(#​กรณี)⌉ ​ขั้น — ​ขอบเขต​ล่าง​ที่​ไม่​เรียกร้อง​ความเฉลียวฉลาด ​เรียกร้อง​แค่​การนับ

​แหวน​ถอดรหัส​ของ​นัก​แข่ง​เขียน​โปรแกรม ​ควรค่า​แก่​การพิมพ์​แปะ​ข้าง​โต๊ะ:

​เงื่อนไข​ขอบเขต​รูปทรง​ที่​จ่าย​ไหว​เจตนา​ตามแบบฉบับ
n ≤ 11n! ≈ 4·10⁷brute-force ​การเรียง​สับเปลี่ยน
n ≤ 20–242ⁿ·nbitmask DP
n ≤ 402^(n/2)meet in the middle
n ≤ 500n³DP ​กำลัง​สาม / ​วิถี​สั้น​สุด​ทุก​คู่
n ≤ 10⁵–10⁶n log nsort / heap / ​แบ่ง​แล้ว​พิชิต
n ≤ 10⁸n​กวาด​เชิงเส้น, two pointers
n ~ 10¹⁸log n / √n​ไบนารี​เสิร์ช​บน​คำตอบ, ​คณิตศาสตร์

​อ่าน​ไป​ข้างหน้า ​ตาราง​นี้​ตั้ง​งบ​ให้​แผน​ของ​คุณ; ​อ่าน​ย้อนกลับ ​มัน​คือ​เครื่อง​ถอดรหัส​เจตนา​ผู้​ออก​โจทย์​ของ​บท​ที่ 8

​กลิ่น. ​เงื่อนไข​ขอบเขต​ใดๆ ​ที่​ถูก​ระบุ​มา — n ≤ 20, n ≤ 10⁵ ​และ n ≤ 10¹⁸ ​คือ​สาม​ปัญหา​คนละเรื่อง​ที่​สวม​โจทย์​ข้อความ​เดียวกัน "​อย่าง​น้อย​ต้อง​ถาม / ​ชั่ง / ​เปรียบเทียบ​กี่​ครั้ง?": ​ขอบเขต​เชิง​สารสนเทศ​กำลัง​ร้องขอ​ให้​ถูก​นับ ​แผนที่​ยัง​ไม่​เคย​ประเมิน​ต้นทุน: ​จง​ประเมิน​ก่อน​ลงมือ

★★ · ​พบกัน​ครึ่งทาง

​มี​สับ​เซต​ของ {1, 2, 3, 4} ​กี่​ชุด​ที่​ผลบวก​เป็น 5 — ​และ​คุณ​จะ​นับ​ผลบวก​สับ​เซต​ใน​หมู่​ตัวเลข 40 ​ตัวอย่าง​ไร ​ใน​เมื่อ brute force ​บน 2⁴⁰ ≈ 10¹² ​สับ​เซต​นั้น​ตาย​สนิท?

​หยุด​ก่อน ​ผ่า​ตัวปัญหา ​ไม่​ใช่​ผ่า​ครึ่ง​ความต่าง

​เฉลย. ​ผ่า​ครึ่ง: L = {1, 2}, R = {3, 4} ​ผลบวก​สับ​เซต​ของ​แต่ละ​ข้าง​คือ {0, 1, 2, 3} ​และ {0, 3, 4, 7} ​สับ​เซต​เต็มตัว​คือ​คู่​หนึ่ง​คู่ ​หยิบ​ชิ้นส่วน​ข้าง​ละ​หนึ่ง ​และ​มัน​แตะ 5 ​เมื่อ sₗ + sᵣ = 5: ​คู่ (1, 4) = {1} + {4} ​กับ (2, 3) = {2} + {3} ​สอง​สับ​เซต ​ตรง​กับ​การแจกแจง​ตรงๆ ​สำหรับ n = 40: ​แจกแจง​ผลบวก 2²⁰ ≈ 10⁶ ​ค่า​ของ​แต่ละ​ครึ่ง sort ​ข้าง​หนึ่ง ​แล้ว​ไบนารี​เสิร์ช​หา​ตัว​เติมเต็ม — ​ราว 2²⁰ · 20 ​ปฏิบัติการ ​เป็นหลัก​วินาที​แทนที่จะ​เป็นหลัก​ศตวรรษ ​ไอเดีย​เดียว​ที่​ใช้​คือ​เลขคณิต: 2ⁿ ​ฆ่า​คุณ​ตาย 2 · 2^(n/2) ​ถูก​แสน​ถูก ​และ​คู่​ของ​ครึ่ง​สับ​เซต​สมนัย​หนึ่งต่อหนึ่ง​กับ​สับ​เซต ​เลขคณิต​งบประมาณ​ไม่​ได้​แค่​ตรวจ​วิธี — ​มัน*​ประดิษฐ์*​วิธี​ขึ้น​มา​เลย ∎

​ท่า — ​ซื้อ​เลขชี้กำลัง​มา​ครึ่ง​เดียว. ​เมื่อ 2ⁿ ​ฆ่า​คุณ ​จง​ถาม​ว่า​ปัญหา​ผ่า​ออก​เป็น​สอง​ครึ่ง​ที่มา​บรรจบ​กัน​ตรง​ตะเข็บ​ได้​หรือไม่

​หน้า​เชิงทฤษฎี​สารสนเทศ​ของ​ท่า​นี้​ชนะ​ศึก​ไป​แล้ว​ใน​บท​ที่ 7: ​การชั่ง​ลูกบอล​สิบสอง​ลูก​มี​คำตอบ​เป็นไปได้ 24 ​แบบ ​กับ​ตาชั่ง​สาม​ผลลัพธ์ — 3² = 9 < 24 ​สอง​ครั้ง​ชั่ง​จึง​ตาย​สนิท; 3³ = 27 ​ผ่าน​ฉิวเฉียด ​และ​ขอบเขต​นี้​ทำงาน​สองหน้า​ที่ *​ออกแบบ*​แผนการ​ชั่ง​ให้​ด้วย: ​การชั่ง​แต่ละครั้ง​ต้อง​ผ่า​ผู้รอดชีวิต​ให้​ใกล้​สาม​ส่วน​เท่าๆ ​กัน ​จึง​ต้อง​สี่​ต่อ​สี่ ​ขณะที่​หก​ต่อ​หก​ทิ้ง​ผลลัพธ์​ตาชั่ง​สมดุล​ไป​เปล่าๆ ​นับ​ปริภูมิ​คำตอบ ​นับ​ความจุ​ช่องสัญญาณ ​ให้​อัตราส่วน​เป็น​หางเสือ — ​รี​เฟล็กซ์​เดียวกัน​นี้​ตีราคา​เกม​ยี่สิบ​คำถาม (2²⁰ ≈ 10⁶ ​วัตถุ) ​การ sort ​ด้วย​การเปรียบ​เทียบ (log₂ n! ≈ n log n) ​และ​เมื่อ​อ่าน​ย้อนกลับ ​เงื่อนไข​ขอบเขต​ของ​คน​ออก​โจทย์

​เครื่องจักร​กับ​ท่า​นี้. ​อะ​ซิมป์​โท​ติก​คือ​ธาตุแท้​ของ​เครื่องจักร ​กระนั้น​การประเมิน​ก่อน​คำนวณ​คือ​พฤติกรรม​เชิง​วางแผน​ที่​เอ​เจนต์​อัตโนมัติ​ขึ้นชื่อลือชา​ว่า​ชอบ​ข้าม — ​และ​ขอบเขต​เชิง​สารสนเทศ​คือ​บทพิสูจน์​ว่าด้วย​กลยุทธ์​ทั้งหมด ​ไม่​ใช่​กลยุทธ์​อัน​ใด​อัน​หนึ่ง: ​รส​ไม่เชิง​สร้าง (nonconstructive) ​แบบ​นั้น​อีกแล้ว

​สาม​ฉากใหญ่

​เรื่องเล่า​เลื่องชื่อ​สาม​เรื่อง ​แต่ละ​เรื่อง​คือ​เครื่องมือ​หนึ่ง​ชิ้น​ใน​ชุด​แฟนซี​ที่​โด่งดัง​ที่สุด​ของ​มัน — ​และ​แต่ละ​เรื่อง​มา​พร้อม​การแก้​ข้อมูล​ที่​ฉบับ​เล่า​ซ้ำ​มัก​ข้าม​ไป

★★ · ​สะพาน​ทั้ง​เจ็ด​แห่ง Königsberg

Königsberg ​ปี 1736 — ​ปัจจุบัน​คือ Kaliningrad ​แม่น้ำ Pregel ​แบ่ง​เมืองออก​เป็น​แผ่นดิน​สี่​ผืน — ​เกาะ Kneiphof ​ฝั่ง​เหนือ ​ฝั่ง​ใต้ ​และ​แหลม​ด้าน​ตะวันออก — ​เชื่อม​กัน​ด้วย​สะพาน​เจ็ด​แห่ง ​จะ​เดินเล่น​ให้​ข้าม​สะพาน​ทุกแห่ง ​แห่ง​ละ​หนึ่ง​ครั้ง​พอดี ​ได้​หรือไม่?

​หยุด​ก่อน ​ตอนนี้​คุณ​มี​เครื่องมือ​แล้ว: ​ตั้งชื่อ​จุดยอด

​เฉลย. ​ท่า​ของ Euler — ​พูด​ได้​เต็มปาก​ว่า​เป็น​ปฐม​บท​ของ​ทฤษฎี​กราฟ​และ​ของ​โท​โพ​โล​ยี "​เรขาคณิต​แห่ง​ตำแหน่ง" ​ใน​ถ้อยคำ​ของ​เขา​เอง — ​คือ​การ*​ลบ​เมือง​ทิ้ง*: ​แผ่นดิน​แต่ละ​ผืน​เป็น​จุด ​สะพาน​แต่ละ​แห่ง​เป็น​เส้น ​สิ่งที่เหลือ​รอด​มี​แค่​โครงสร้าง​อุบัติการณ์ ​จากนั้น​คือ​ข้อสังเกต: ​การเดิน​ที่​ผ่าน​ทะลุ​จุดยอด​หนึ่ง ​บริโภค​สะพาน​ของ​มัน*​เป็น​คู่* ​เข้า​หนึ่ง​ออก​หนึ่ง ​ดังนั้น​แผ่นดิน​ทุก​ผืน ​ยกเว้น​อย่าง​มาก​จุด​ตั้งต้น​กับ​จุดสิ้นสุด ​ต้อง​มี​สะพาน​เป็น​จำนวนคู่ ​ดีกรี​ของ Königsberg ​คือ 5, 3, 3, 3 — ​รวม​ได้ 14 = 2 × 7 ​สะพาน ​เช็ก​สติ​เงียบๆ ​ของ​บท​ตั้ง​การจับมือ — ​จุดยอด​คี่​สี่​จุด ​ในขณะที่​การเดิน​หนึ่ง​รอบ​ทน​ได้​อย่าง​มาก​สอง ​การเดินเล่น​เช่นว่า​จึง​ไม่​มี​อยู่​จริง ∎ Euler ​พิสูจน์​ฝั่ง​ความเป็นไป​ไม่​ได้; ​ส่วน​ที่ว่า​จุดยอด​คี่​ไม่​เกิน​สอง​นั้น*​เพียงพอ*​บน​มัลติ​กราฟ​เชื่อมโยง ​ถูก​ตอก​ตะปู​ปิด​โดย Hierholzer ​ใน​ปี 1873

​คติ​ของ​เรื่อง​คือ​ท่า​เปิด​บท​นี้​ทั้ง​บท​ใน​ฉบับ​จิ๋ว: ​การปิ๊ง​ไม่​ได้​เกี่ยวกับ​สะพาน​เลย ​มัน​คือ​การตัดสินใจ​ว่า​มี​แต่​โครงสร้าง​เท่านั้น​ที่​สำคัญ — ​นามธรรม​หนึ่ง​ชั้น ​จากนั้น​ภาวะ​คู่คี่ (parity) ​ที่​เด็ก​ก็​เช็ก​ได้

​ท่า — ​ลบ​เมือง​ทิ้ง. ​ปอก​ทุกราย​ละเอียด​ที่​คำถาม​ไม่​ได้​บริโภค​ออก​ไป; ​สิ่งที่เหลือ​มัก​เป็นปัญหา​ที่​แก้​ไว้​แล้ว


★★★ · ​วงกลม​ของ Josephus

​ตำนาน​ว่า​ไว้: Yodfat ​ปี ค.ศ. 67 — ​นักประวัติศาสตร์ Flavius Josephus ​ติดกับดัก​อยู่​กับ​เหล่า​ทหาร​ของ​เขา ​และ​รอดชีวิต​จาก​วงกลม​มรณะ ​ความซื่อตรง​ต้อง​มา​ก่อน: ​บันทึก​ของ​เขา​เอง (The Jewish War ​เล่ม 3) ​บอก​ว่า​ใช้การ​จับสลาก ​และ​เขา​เหลือ​รอด​จน​คน​สุดท้าย "​โดยบังเอิญ​หรือ​โดย​พรหมลิขิต" ​ฉบับ​กำหนด​แน่นอน — n ​คน​ยืน​เป็น​วงกลม ​นับ​วน​ไป ​ทุกคน​ที่ k ​ล้ม​ลง ​คน​สุดท้าย​รอด — ​คือ​การจัด​รูป​ของ​นัก​คณิตศาสตร์​ยุค​หลัง ​คุณ​ควร​ไป​ยืน​ตรงไหน?

​หยุด​ก่อน ​แก้วง​สอง​คน​ก่อน ​แล้ว​ค่อย​วง​สาม​คน

​เฉลย. ​ให้ J(n) ​เป็น​ตำแหน่ง​ผู้รอดชีวิต ​ดัชนี​เริ่ม​ที่ 0 ​ก้าว​นับ k ​หลัง​การกำ​จัด​ครั้งแรก (​ตำแหน่ง k − 1) ​คน​ที่​เหลือ n − 1 ​คน​เล่น*​เกม​เดียวกัน​เป๊ะ*​แค่​เลื่อน​ไป k: J(n) = (J(n−1) + k) mod n ​โดย J(1) = 0 ​หนึ่ง​บรรทัด ​รัน​ได้​ใน O(n) ​ทวน​สอบ​ด้วย​การจำลอง​สำหรับ k = 2: n = 5 ​กำจัด 2, 4, 1, 5 ​เหลือ 3 ​และ​ความสัมพันธ์​เวียน​เกิด​ให้ 0, 0, 2, 0, 2 → ​ตำแหน่ง 3 ✓; n = 6 ​กำจัด 2, 4, 6, 3, 1 ​เหลือ 5 ​และ​ความสัมพันธ์​เวียน​เกิด​ให้ 4 → ​ตำแหน่ง 5 ✓ ​สำหรับ k = 2 ​มี​รูป​ปิด: ​เขียน n = 2^m + L ​โดย 0 ≤ L < 2^m; ​ผู้รอดชีวิต ​นับ​จาก 1 ​คือ 2L + 1 ​พูด​อีก​แบบ​ที่​เทียบเท่า​กัน — ​อัญมณี​เม็ด​หนึ่ง — ​หมุน​การแทน​ฐาน​สอง​ของ n ​ไป​ทางซ้าย​หนึ่ง​บิต: 41 = 101001₂ → 010011₂ = 19 ​และ​จริง​ตามนั้น 41 = 32 + 9 ​ให้ 2·9 + 1 = 19 ✓; 6 = 110₂ → 101₂ = 5 ✓ (​รอบ​แรก​กำจัด​ตำแหน่ง​เลขคู่​ทั้งหมด ​และ​ผู้​รอด​ถูก​ติดป้าย​ใหม่​เป็นการ​เลื่อน​บิต​ฐาน​สอง​พอดิบพอดี — ​การเวียน​เกิด​ที่​มองเห็น​ได้​ใน​ตัว​ฐาน​เลข) ​ตัวเลข​ของ​ตำนาน: ​ด้วย n = 41 ​กับ k = 3 ​ความสัมพันธ์​เวียน​เกิด​รัน​เต็ม​รูป​ให้ J(41) = 30 — ​ตำแหน่ง 31 ​เมื่อ​นับ​จาก 1 ​โดย​ผู้​รอด​รอง​สุดท้าย​อยู่​ที่ 16 ​ฉบับ​เล่าขาน​ดั้งเดิม — Josephus ​ที่​ตำแหน่ง 31 ​กับ​สหาย​ที่ 16 — ​แม่นยำ​เชิง​เลขคณิต​เป๊ะ ​ไม่​ว่า​นักประวัติศาสตร์​ผู้​นั้น​จะ​คำนวณ​หรือ​ด้น​สด ∎

​ท่า — ​หด​วง​ให้​เล็ก​ลง. ​การกำ​จัด​หนึ่ง​ครั้ง​เปลี่ยน​เกม​ให้​เป็น​สำเนา​ย่อส่วน​ของ​ตัว​มัน​เอง ​ที่​ถูก​ติดป้าย​ใหม่; ​จง​แก้วง​เล็ก​ที่สุด ​แล้ว​ยก​คำตอบ​กลับ​ขึ้น​มา


★ · ​ผลบวก​ของ​คุณครู

​เรื่องเล่า: ​ครู Büttner ​สั่ง​ให้​ทั้ง​ชั้น​บวก 1 + 2 + ⋯ + 100 ​หมาย​จะ​ได้​ชั่วโมง​เงียบสงบ; ​หนู​น้อย Gauss ​เขียน 5050 ​ลง​กระดานชนวน​แทบจะ​ทันที ​ทำได้​อย่างไร — ​และ​มัน​เกิดขึ้น​จริง​หรือเปล่า?

​หยุด​ก่อน ​คุณ​เจอ​ท่า​นี้​มา​แล้ว​ใน​บท​ที่ 9

​เฉลย. ​จับตัว​แรก​คู่​กับ​ตัว​สุดท้าย: 1 + 100, 2 + 99, …, 50 + 51 — ​ห้าสิบ​คู่ ​คู่​ละ 101 ​พอดี: 50 × 101 = 5050 ​รูป​ทั่วไป​ที่​ทนทาน​กว่า​เลี่ยง​ข้อ​กังวล​เรื่อง n ​คี่​ได้​ทุก​ประตู: ​เขียน​ผลบวก​ไป​ข้างหน้า​และ​ย้อนกลับ ​แล้ว​บวก​ทีละ​คอลัมน์ — 2S = n(n + 1) ​ดังนั้น S = n(n + 1)/2 ∎ ​ทีนี้​มา​ดู​บันทึก​จริง: ​แหล่งข้อมูล​แรก​สุด​ของ​เกร็ด​นี้ ​ชีวประวัติ​ที่ระลึก​ของ Gauss ​โดย Sartorius von Waltershausen (1856) ​เอ่ยถึง​โจทย์​อนุกรม​เลขคณิต*​ข้อ​หนึ่ง* ​แต่​ไม่​ได้​ระบุ​ทั้ง 1-​ถึง-100 ​และท​ริก​จับคู่; ​รายละเอียด​ชวน​เห็นภาพ​พอกพูน​ขึ้น​ตลอด​หนึ่ง​ศตวรรษ​ของ​การเล่า​ซ้ำ ​และ Brian Hayes (American Scientist, 2006) ​ตามรอย​พบ​ฉบับ​เล่า​หลาย​สิบ​ฉบับ​ที่​ขัดแย้ง​กันเอง ​จง​เล่า​มัน​แบบ​ตำนาน; ​จง​สอน​มัน​แบบ​คณิตศาสตร์ ​เนื้อแท้​จริง​คือ​อิน​โวลู​ชัน k ↦ n + 1 − k ​ที่​ทำให้​ทุก​คู่​บวก​ได้​ค่าคงตัว — ​หิน​ฐานราก​ที่​ใช้​บวก​อนุกรม​เลขคณิต​ได้​ทุก​อนุกรม ​และ​แสดงว่า C(n, k) = C(n, n−k)

​ท่า — ​จับคู่​ให้ได้​ค่าคงตัว. ​เครื่องมือ​สมมาตร​ของ​บท​ที่ 9 ​ใน​ชุด​ออกงาน​วันอาทิตย์

​ห้องสมุด ​ครบชุด​แล้ว

​เครื่องมือ​สิบ​หก​ชิ้น​ตลอด​สาม​บท — ​กล่อง​ถูก​ประดิษฐ์ ​ประจุ​ถูก​อนุรักษ์ ​ตัว​สุดขั้ว​ถูก​ซักถาม ​กระจก​ถูก​ยกขึ้น​ส่อง ​การระบายสี​ถูก​วิศวกรรม; ​สมมุติฐาน​ถูก​เสริม​แรง ​ประวัติศาสตร์​ถูก​บีบ​อัด ​ค่า​เหมาะ​ที่สุด​ถูก​ปั้นรูป ​ธรณีประตู​ถูก​ผ่า​ครึ่ง ​ตาราง​ถูก​รัน​ย้อนกลับ; ​จุดยอด​ถูก​ตั้งชื่อ ​สมมาตร​ถูก​หาร​ทิ้ง ​ปี​ถูก​แปลง​เป็น n ​ผลบวก​ถูก​นับ​จาก​ด้าน​ข้าง ​โลก​ถูก​เฉลี่ย ​งบประมาณ​ถูก​อ่าน ​หนังสือ​ทุก​เล่ม​ใน​ห้องสมุด​นี้​คือ​วิธี​ของ*​การมองเห็น* ​ไม่​ใช่​วิธี​ของ​การบดขยี้ ​เครื่องจักร​ก็​อ่าน​ห้องสมุด​นี้​จบ​แล้ว​เช่นกัน — ​พวก​มัน​อ่าน​มา​แล้ว​ทุกอย่าง ​ตรงไหน​ที่​วันนี้​พวก​มัน​รัน​เครื่องมือ​ได้​เร็ว​กว่า​มนุษย์​คน​ไหนๆ ​และ​ตรงไหน​ที่​พวก​มัน​ยัง​เอื้อม​หยิบ​มัน​เอง​ไม่​ได้​หาก​ไม่​มี​ใคร​สะกิด ​คือ​คำถาม​ของ​ภาค​ถัดไป ​ซึ่ง​มา​พร้อม​วันที่​และ​ตัวเลข

บทถัดไป · 17 / 21กระดานคะแนน
Size
Page
Font

Natural Intelligence — A Field Manual of Human Wit

❦
100 Titlepages2วิธีใช้หนังสือเล่มนี้3บทนำ — ทำไมต้องไหวพริบ4ภาคผนวก ค — คลังสำรอง {#appC}5ภาคผนวก ก — ดัชนีท่าคิด {#appA}6ปริศนาหน้าประตู7ยุคทองของนักปริศนา8คิดเรื่องการคิด9ทลายกรอบ10นิรนัยบริสุทธิ์11ตัวเลข โอกาส และรูปทรง12ห้องบอส13แชมป์คิดอย่างไร14ท่าสังหาร15เครื่องมือนักสร้าง16สายตานักจำลองแบบ17กระดานคะแนน18คูเมือง19การไล่กวด20ฝึกแต้มต่อ21หลักสูตรสามสิบวัน