ตามหาลูกเป็ดในปราสาท
โจทย์
มีปราสาทอยู่แห่งหนึ่งมีห้องที่ติดกันอยู่ทั้งหมด 9 ห้อง ห้องจะเริ่มจากหมายเลขที่ 1 และจบที่หมายเลขที่ 9
ห้องทุกห้องจะเชื่อมกับหมายเลขที่ติดกันเรียงจากซ้ายไปขวา เช่น ห้องที่ 2 จะเชื่อมกับห้องที่ 1 และ 3 ยกเว้นห้องปลายสุดคือห้องที่ 1 กับห้องที่ 9 จะเชื่อมกับแค่ห้องที่ 2 และห้องที่ 8 ตามลำดับ
มีลูกเป็ดแอบนอนอยู่ในห้องใดห้องหนึ่งในคืนที่ 1 หลังจบในแต่ละคืน ลูกเป็ดจะต้องเดินไปห้องข้างๆ อย่างเช่น ถ้าคืนที่ อยู่ห้องที่ 5 คืนที่ จะอยู่ห้องที่ 4 ไม่ก็ห้องที่ 6 แน่ๆ เราต้องการหาว่าลูกเป็ดอยู่ที่ห้องไหนกันแน่ โดยแต่ละคืนเราจะสามารถเปิดห้องได้ 1 ห้องเพื่อตามหาว่าลูกเป็ดอยู่ไหน ถามว่าภายในเวลา 14 วัน สามารถเปิดประตูตรงกับห้องที่มีลูกเป็ดแอบอยู่ในวันนั้นได้หรือไม่
เฉลย
สิ่งที่ต้องสังเกตอย่างแรกคือ เรามีโอกาสเปิดเจอตั้งแต่วันแรกไหม
คำตอบคือ: ก็มีโอกาสแหละ (แต่ก็น้อยนะ)
แล้วถ้าจะเปิดสุ่มไปเรื่อยๆแบบไม่สนอะไรเลย จะเจอไหม ก็เหมือนกันว่าเป็นไปได้ แต่ไม่ได้การันตีนะ ก่อนอื่นต้องลองถามตัวเองดูก่อนว่า
การเปิดแต่ละห้องให้ข้อมูลอะไรกับเราบ้างในวันถัดๆไป?
สังเกตก่อนว่าการถามห้องแรก และห้องสุดท้ายไม่มีประโยชน์อะไรเลย เพราะถ้าลูกเป็ดไม่ได้อยู่ห้องนั้น แล้วยังไงต่อล่ะ?
คืนถัดไปลูกเป็ดก็อยู่ห้องไหนก็ได้อยู่ดี (แต่ percent ของแต่ละห้องไม่เท่ากันนะ) เราก็ไม่ได้ข้อมูลอย่างอื่นเพิ่มมาอยู่ดี
ทีนี้ถ้าเปลี่ยนใหม่มาถามห้องที่ 2 ก่อน เราจะได้อะไรบ้าง ถ้าลูกเป็ดอยู่เลยก็โชคดีไป แต่เราต้องการรับประกันว่าจะหาให้เจอ ดังนั้นจะไม่คิดกรณีเจอทันทีไว้ก่อนนะ แต่ถ้าลูกเป็ดไม่อยู่มันแปลว่าอะไรล่ะ
เนื่องจากว่าห้องที่ 1 มาได้ทางเดียวจากห้องที่ 2 และเรารู้ว่าในคืนแรกลูกเป็ดไม่ได้อยู่ห้องที่ 2 ดังนั้น เราก็มั่นใจได้ว่า ในคืนถัดไปห้องที่ 1 จะไม่มีลูกเป็ดอยู่แน่ ทำให้เราจะเหลือแค่ห้องที่ 2 - 9 ที่มีความเป็นไปได้ว่าลูกเป็ดจะอยู่ในคืนถัดมา
หลังจากนั้นจะถามห้องที่ 3 ต่อ เพราะว่า ถ้าลูกเป็ดไม่อยู่ห้องที่ 3 ในคืนถัดไป ห้องที่ 2 จะไม่มีใครอยู่แน่ๆ เพราะว่าห้องที่ 2 สามารถมาได้จากห้องที่ 1 และ 3 เท่านั้น เราก็จะเหลือแค่ห้องที่ 1 (จากการเดินมาจากห้อง 2) และห้องที่ 3 - 9 ที่เป็นไปได้ว่าลูกเป็ดจะอยู่ในคืนถัดมา
หลังจากนั้นจะถามห้องที่ 4 ต่อ ซึ่งทำให้เรามั่นใจแล้วว่าห้องที่ 2 และ 4 ไม่มีใครอยู่ ดังนั้นก็สามารถสรุปต่อไปว่าในคืนถัดไป ห้องที่ 1 และ 3 จะไม่มีใครอยู่แน่ๆ
และเราสามารถตรวจสอบแบบนี้ต่อไปได้เรื่อยๆจนถึงห้องที่ 8
ตอนนี้ใช้ไปแล้วทั้งหมด 7 วัน และมั่นใจได้ว่าลูกเป็ดไม่อยู่ห้องที่ 2, 4, 6 และ 8 แน่ๆ ซึ่งในคืนถัดไปก็แปลว่า ในคืนถัดไป เราจะมั่นใจได้ว่าห้องเลขคี่จะไม่มีลูกเป็ดอยู่
ที่เหลืออีก 7 วันเหมือนไล่เก็บตกมากกว่าว่าห้องไหนที่ตอนนี้เป็นไปได้บ้าง ซึ่งเราจะเช็กห้องไหนก็ได้ที่ตอนนี้มีความเป็นไปได้ แต่ต้องเรียงจากซ้ายไปขวา หรือ ขวาไปซ้ายนะ เพื่อว่าลูกเป็ดจะได้ไม่มีทางเดินสวนกับเราได้
วิธีนี้ก็จะใช้อีกทั้งหมด 7 วัน รวมเป็นทั้งหมด 14 วันตามที่โจทย์กำหนดพอดี
โจทย์เพิ่มเติม
- ถ้าเปลี่ยนเงื่อนไขเป็นถามกี่ห้องก็ได้ที่ติดกัน เช่นถามห้องช่วง 1 ถึง 5 ไปเลย จะต้องใช้เวลาน้อยสุดกี่วันในการหาว่าลูกเป็ดอยู่ห้องไหน โดยที่จะนับว่าเจอห้องที่มีลูกเป็ดอยู่เมื่อเปิดประตูห้องนั้นเพียงห้องเดียวแล้วเจอเลย โดยไม่ต้องเปิดประตูห้องอื่น