คุณทำโจทย์เลขเด็ก ป.5 ได้หรือไม่ : วันเกิดของเชอริล

นี่เป็นโจทย์ของเด็ก ป.5 ในประเทศสิงคโปร์ที่ได้รับการแชร์ผ่านทาง Facebook อย่างล้นหลามจนกลายเป็น Viral ที่ดังมากๆในขณะนี้

โจทย์

อัลเบิร์ต เบอร์นาร์ตและเชอริลเป็นเพื่อนกัน
และพวกเขาต้องการจะทราบว่าวันเกิดของเชอริลนั้นเกิดวันที่เท่าไหร่ ด้วยความสนุกของเชอริล เชอริลไม่บอกพวกเขาโดยตรง
เชอริลให้ตัวเลือกสำหรับวันเกิดของเชอริลมาทั้งหมด 10 อัน
May 15 May 16 May 19
June 17 June 18
July 14 July 16
August 14 August 15 August 17
นอกจากนี้ เชอริลได้ทิ้งคำใบ้ให้พวกเขาทั้งสองคน
โดยเชอริล จะบอกเฉพาะเดือนเกิดให้แก่อัลเบิร์ต
และจะบอกเฉพาะวันที่ที่เชอริลเกิดให้แก่เบอร์นาร์ต
โดยอัลเบิร์ตไม่รู้วันที่ที่เชอริลเกิด ส่วนเบอร์นาร์ตก็ไม่รู้เดือนที่เชอริลเกิด
แล้วอัลเบิร์ตกับเบอร์นาร์ตก็ได้คุยกัน
  • อัลเบิร์ต : ผมไม่สามารถตอบได้อย่างแน่นอนหรอกว่าเชอริลเกิดวันไหนและเดือนไหน แต่สิ่งที่ผมพอรู้คือเบอร์นาร์ตก็ตอบไม่ได้เหมือนกัน
  • เบอร์นาร์ต : ตอนแรกผมก็ตอบไม่ได้หรอก แต่ตอนนี้ผมตอบได้แล้วละ
  • อัลเบิร์ต : โอ้ ผมก็ตอบได้แล้วเหมือนกัน
คำถาม แล้วเชอริลเกิดวันที่เท่าไหร่และเดือนไหนละ ?

ได้มีการปรับเปลี่ยนประโยคเล็กน้อย เพราะผมไม่รู้ใช้คำอะไรดีในการเรียก birthday กับ day of birth
Viral นี้ผมได้นำมาจากเว็บ The New York Times ซึ่งมีเครดิตจริงๆมาจากเฟสบุ๊คจริงๆของนาย Kenneth Kong ซึ่งผมได้นำมาแปลเป็นภาษาไทยอีกทีให้คนอื่นเข้าใจง่ายๆ
นี้คือข้อความต้นฉบับที่เป็นภาษาอังกฤษ
cheryl-birthday-problem
ประโยคอาจจะไม่เหมือนกันเลยทีเดียว แต่ใจความสำคัญหลักที่จะบอกใบ้สำหรับการแก้ปัญหานี้ยังคงอยู่ครบ เอาละถึงเวลาแก้ปัญหาโลกแตกอันนี้
คำถาม
คุณรู้หรือไม่ว่าเชอริลเกิดวันไหน
ให้ลองคิดเล่นสักพักก่อนครับแล้วค่อยเปิดเฉลยอ่านดูก็ได้ ซึ่งกว่าผมจะคิดออกนี่ก็ใช้เวลานานพอสมควร ซึ่งภูมิใจสุดๆที่เป็น Viral ปริศนาโลกแตกอันแรกที่คิดออก

คำตอบ

เฉลย : ตอนที่ 1

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

ประโยคที่ 1

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

สิ่งที่อัลเบิร์ตรู้

สิ่งที่อัลเบิร์ตรู้ คือ เดือน
แต่อัลเบิร์ตไม่ได้รู้แค่เดือนเกิดของเชอริลอย่างเดียว
เขายังรู้ด้วยว่า 10 ตัวเลือกที่เชอริลให้มานั้นมีอะไร
เพราะฉะนั้นข้อมูล 2 อย่างที่อัลเบิร์ตรู้ คือ เดือน และ 10 ตัวเลือก
แล้วยังไงต่อ ?
10 ตัวเลือกนั้น มันมีข้อมูลที่เกี่ยวข้องกับวันและเดือนด้วย
ลองจินตนาการว่าคุณเป็นอัลเบิร์ต
สิ่งแรกที่คุณจะทำหลังจากที่เชอริลบอกเดือนเกิดมาคืออะไร ?
คุณจะพยายามตัดตัวเลือกให้ได้มากที่สุด จาก 10 ตัวเลือก อาจจะเหลือแค่ 3 ตัวเลือก
โดยเงื่อนไขการตัดตัวเลือกคือ ถ้าเดือนไม่ตรงกับที่คุณรู้ คุณก็จะตัดออก
คราวนี้สิ่งที่คุณรู้ไม่ใช่ 10 ตัวเลือกอีกต่อไป
แต่จะเป็น 2 ไม่ก็ 3 ตัวเลือก ที่ตัวเลือกแต่ละตัวนั้นมีเดือนตรงกับสิ่งที่คุณรู้
แล้วอัลเบิร์ตได้ข้อมูลอะไรอีก ?
อัลเบิร์ตยังทราบวันที่แต่ละวันในตัวเลือกที่เขาหยิบขึ้นมาด้วย
สมมุติว่าเชอริลบอกอัลเบิร์ตว่าเชอริลเกิดเดือน May
อัลเบิร์ตจะทำการตัดตัวเลือกเหลือแค่ 15,16,19 เดือน May
เพราะฉะนั้นคุณต้องเปลี่ยนความคิดใหม่ว่าอัลเบิร์ตไม่ได้รู้ เดือนเกิด กับ 10 ตัวเลือกอีกต่อไป
แต่สิ่งที่เขารู้คือ เดือนเกิด และ วันที่ทั้งหมดที่เป็นไปได้ และ 10 ตัวเลือก

สิ่งที่เบอร์นาร์ตรู้

เหมือนกับอัลเบิร์ตนั่นแหละครับ แค่สลับกัน
อัลเบิร์ตรู้ เดือนเกิด และ วันเกิดทั้งหมดที่เป็นไปได้ และ 10 ตัวเลือก
แต่สิ่งที่เบอร์นาร์ตรู้กับ วันเกิด กับ เดือนทั้งหมดที่เป็นไปได้ และ 10 ตัวเลือก

แต่สิ่งที่ผมพอรู้คือเบอร์นาร์ตก็ตอบไม่ได้เหมือนกัน

ทำไมอัลเบิร์ตถ้ากล้าการันตีว่าเบอร์นาร์ตไม่มีทางตอบได้แน่ๆ
อะไรคือเงื่อนไขที่ทำให้เบอร์นาร์ตตอบไม่ได้ ?
ปิ๊ง ป่องง… คำตอบมีมากกว่า 1 คำตอบครับ
ถ้ามีมากกว่า 1 คำตอบเบอร์นาร์ตก็ตอบไม่ได้ครับ
ถ้าสมมุติว่าคุณเป็นเบอร์นาร์ต แล้วคุณได้ยินเชอริลพูดว่า 19 ขึ้นมา คุณจะสามารถตอบคำตอบได้เลยโดยไม่ต้องรู้เดือน เพราะอะไร ? เพราะว่าใน 10 ตัวเลือกนั้น มีตัวเลือกที่เป็นวันที่ 19 เพียงแค่วันเดียวยังไงละครับ
เพราะฉะนั้นเงื่อนไขที่ทำให้เบอร์นาร์ตตอบไม่ได้คือ ใน 10 ตัวเลือกนั้น คือใน 10 ตัวเลือกมีวันเกิดที่ซ้ำกันยังไงละครับ เบอร์นาร์ตจึงไม่สามารถตอบได้

แล้วอัลเบิร์ตรู้ได้เบอร์นาร์ตตอบไม่ได้

เราจะสมมุติให้ว่าอัลเบิร์ตฉลาดมากๆละกัน
ถ้าอัลเบิร์ตรู้แค่ เดือนเกิด และ วันเกิดทั้งหมดที่เป็นไปได้ และ 10 ตัวเลือก
ยังถือว่าฉลาดน้อยครับ 555
อัลเบิร์ตสามารถฟันธงได้ว่า เบอร์นาร์ตไม่สามารถตอบได้จากข้อมูลที่เขามี
ยังไง ?
ผมใบ้ให้ละกัน
วันเกิดทั้งหมดที่เป็นไปได้ และ 10 ตัวเลือก

ส่วนผสมที่ลงตัว

อัลเบิร์ตก็ไล่ทุก วันเกิดทั้งหมดที่เป็นไปได้
แล้วก็ย้อนกลับไปยังสิ่งที่ผมพูดนั่นคือ เราจะไม่สามารถตอบคำตอบได้ ถ้าคำตอบนั้นมีมากกว่า 1 คำตอบ
อัลเบิร์ตก็ไล่ วันเกิดทั้งหมดที่เป็นไปได้ ที่เขารู้ แล้วเขาก็ได้พบข้อมูลที่น่าอัศจรรย์ใจก็คือ
ทุก วันเกิดทั้งหมดที่เป็นไปได้ ที่อัลเบิร์ตรู้ ทุกอันมีคำตอบมากกว่า 1 คำตอบครับ

ฟันธง

นั่นเลยทำให้อัลเบิร์ตสามารถฟันธงได้ว่า เบอร์นาร์ตไม่มีทางตอบได้แน่ๆ เชรดดดดดด

แล้วไงต่อ ?

จากที่ผมกล่าวไปข้างต้น คือ อัลเบิร์ตนั้นได้ไล่วันเกิดทุกวันที่เป็นไปได้ แล้วก็พบว่าวันเกิดทุกวันในเดือนที่อัลเบิร์ตทราบนั้น ทุกกวันมีคำตอบมากกว่า 1 คำตอบครับ
เราก็สามารถลดตัวเลือกให้แคบลงได้จากคำใบ้อันนี้
โดยการหาว่า เดือนไหนบ้าง ที่วันเกิดทุกอันมีคำตอบมากกว่า 1 คำตอบ
  • May ตัดออกครับ วันที่ 15,16 มี 2 คำตอบก็จริง แต่วันที่ 19 มีคำตอบเดียวครับ ถ้าเกิดเดือนที่อัลเบิร์ตรู้ว่าเป็น May นั้น อัลเบิร์ตจะไม่สามารถการันตีได้ว่าเบอร์นาร์ตจะไม่สามารถตอบได้
เพราะถ้าสมมุติว่าเบอร์นาร์ตอุตริได้วันที่ 19 ขึ้นมา เบอร์นาร์ตจะสามารถตอบได้ทันทีโดยไม่ต้องรู้เดือนเกิดของเชอริล เพราะว่าใน 10 ตัวเลือกนั้น มีตัวเลือกที่เป็นวันที่ 19 แค่ตัวเลือกเดียวยังไงละ
  • June ตัดออก เนื่องจากมีวันที่ 18 ซึ่งมีคำตอบเดียว
  • July เก็บไว้ เพราะวันที่ 14,16 มี 2 คำตอบ
  • August เก็บไว้ เพราะวันที่ 14,15,17 มี 2 คำตอบ

ถ้าเป็นเดือน May กับ June จะทำให้ประโยคที่อัลเบิร์ตพูดไม่สมเหตุสมผลครับ สำหรับเดือน July กับ August นั้นเป็นเดือนที่ทำให้ประโยคของอัลเบิร์ตนั้นสมเหตุสมผล
เราจึงสามารถตัดตัวเลือกได้เยอะมากขึ้นจากคำใบ้อันแรกจากประโยคที่อัลเบิร์ตพูดข้างต้น

งง

แน่นอนครับว่าบางคนยังไม่ค่อยเก็ตไอเดียทั้งหมดที่ผมไปข้างต้นนี้ เพราะอะไร ?
เพราะคุณมองแต่มุมมองที่คุณมองอัลเบิร์ต และคุณมองเบอร์นาร์ต แยกแต่ละคน และคิดว่าคนทั้งสองนั้นจะไม่พยายามคิดอะไรต่อเลยทันทีที่ได้ เดือนและวันที่จากเชอริลมา
แต่ปัญหานี้เป็นปัญหาโลกแตกครับ ต้องคิดให้ลึกนิดนึง
สิ่งที่ผมพูดมาทั้งหมดนั้น เป็นมุมมองของ อัลเบิร์ตคิดแทนเบอร์นาร์ตครับ คืออัลเบิร์ตจะไม่พูดประโยคนี้ออกมาได้ ถ้าเขาไม่ได้คิดแทนเบอร์นาร์ตครับ
ซึ่งประโยคมันชัดเจนตรงที่ว่า “แต่สิ่งที่ผมพอรู้คือเบอร์นาร์ตก็ตอบไม่ได้เหมือนกัน” นั้นแสดงว่าอัลเบิร์ตได้มีเงื่อนไขอะไรบางอย่างและวิเคราะห์อย่างละเอียด จนกระทั่งรู้ว่าเบอร์นาร์ตตอบไม่ได้แน่ๆ
ต้องมองไปให้ลึกถึง อัลเบิร์ตมองเบอร์นาร์ต ครับ (หรือพูดง่ายๆคือ ไอ้อัลเบิร์ตเนี่ยมันไปคิดแทนเบอร์นาร์ตครับ)
แล้วลองกลับไปอ่านใหม่อีกรอบจะช่วยให้เข้าใจขึ้นเยอะครับ
เฉลย : ตอนที่ 2

กดเพื่อดูเฉลย

ประโยคที่ 2

ตอนแรกผมก็ตอบไม่ได้หรอก แต่ตอนนี้ผมตอบได้แล้วละ
อะไรคือบอกใบ้ในประโยคนี้

ความสัมพันธ์

ตอนแรกตอบไม่ได้
แล้วทำไมตอนนี้ตอบได้แล้วละ ?
เพราะประโยคอันแรกเป็นคำใบ้ที่สำคัญมากๆที่จะช่วยให้เบอร์นาร์ตสามารถตัด ช้อยออกไปได้เยอะมาก จากที่ผมกล่าวไว้ข้างต้นจะเห็นว่ามีเดือน 2 เดือนที่ถูกตัดออก ซึ่งเราสามารถการันตีได้เลยว่า ไม่ใช่ 2 เดือนนี้แน่ๆที่เป็นไปได้ จากประโยคที่อัลเบิร์ตพูดในประโยคแรก
เรามาสรุปกันก่อนนะครับว่าตอนนี้ช้อยที่เป็นไปได้นั้นมีอะไรอยู่บ้าง
July 14 July 16
August 14 August 15 August 17
เหลือคำตอบที่เป็นไปอยู่ทั้งหมด 5 อัน

คำใบ้ที่ 2

เรามาทวนประโยคที่ 2 กันอีกรอบนะครับ “ตอนแรกตอบไม่ได้หรอก แต่ตอนนี้ตอบได้แล้ว” อะไรคือสิ่งที่เรารู้จากประโยคนี้
นั่นคือก่อนที่อัลเบิร์ตจะพูดประโยคที่ 1 ออกมา เบอร์นาร์ตไม่สามารถการันตีได้ แต่พออัลเบิร์ตพูดปึบ มันทำให้เบอร์นาร์ตสามารถตอบได้ทันที
อะไรคือสิ่งที่ประโยคที่ 1 บอกเรา
ประโยคที่ 1 นั้น
ช่วย ให้เราตัดให้เหลือตัวเลือกเพียงแค่ 5 ตัวเลือกที่เป็นไปได้ แต่ก็อย่าลืมว่าเบอร์นาร์ตนั้นมีข้อมูลเกี่ยววันที่ที่เชอริลเกิดตั้งแต่ต้น อยู่แล้ว
เบอร์นาร์ต รู้วันเกิด และเบอร์นาร์ตรู้ 5 ตัวเลือกที่ตัดออกเรียบร้อยแล้ว

อะไรคือสิ่งที่ทำให้เบอร์นาร์ตฟันธง

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

สรุป

ดังนั้นจากประโยคที่ 2 จะทำให้เราตีความได้ว่า ตัดตัวเลือกที่มีเลขวันเกิดซ้ำกันออก เพราะมันจะไม่สมเหตุสมผลกับประโยคที่ 2 ยังไงละครับ
ดังนั้นตัวเลือกเราเริ่มแคบลงมาทุกทีจะเหลือเพียงแค่ 3 อันคือ
July 16 August 15 และ August 17
เฉลย : ตอนที่ 3

กดเพื่อดูเฉลย

ประโยคที่ 3

โอ้ ผมก็ตอบได้แล้วเหมือนกัน
ถ้ามองให้ลึกจะเห็นว่าประโยคที่ 3 นั้น ใจความสำคัญเหมือนประโยคที่ 2 ทุกประการ แต่มี 2 อย่างที่แตกต่างจากประโยคที่ 2 คือ คนที่พูด กับ ลำดับที่พูด

สิ่งที่แตกต่าง

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

ทวน

ตอนนี้ช้อยที่เป็นไปได้เหลือเพียงแค่ 3 ช้อยแล้วนะครับ
ได้แก่
July 16 August 15 และ August 17
แล้วอะไรคือสิ่งที่ทำให้อัลเบิร์ตรู้คำตอบได้ทันทีจากตัวเลือกทั้ง 3 ตัวนี้
จะเห็นว่ารูปแบบมันคล้ายๆกับประโยคที่ 2 มากเลยใช่ไหมครับ แต่สิ่งที่เบอร์นาร์ตทำคือตัดวันที่ซ้ำ
ส่วนอัลเบิร์ตเขาจะตัดเดือนที่ซ้ำครับ
เพราะอะไร ?
อย่าลืมนะครับว่าอัลเบิร์ตมีข้อมูลของเดือนเกิดของเชอริลอยู่แล้วตั้งแต่ ต้นด้วย เพราะฉะนั้นการที่อัลเบิร์ตจะสามารถตอบได้นั้นคือมีเงื่อนไขอยู่อย่างเดียว คือ เดือนที่เขารู้นั้นมีคำตอบอยู่แค่อันเดียว
ถ้าใช้สิ่งที่อัลเบิร์ตรู้ กับ คำใบ้ในประโยคทั้ง 2 ที่ทำให้ตัดตัวเลือกที่เป็นไปไม่ได้ออกจนเหลือเพียงแค่ 3 ตัวเลือก
อะไรคือคำตอบสุดท้ายกัน ?

July 16

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

เครดิต

โพสต์ยอดนิยมจากบล็อกนี้

I miss you all กับ I miss all of you ต่างกันอย่างไร

ปัญหาและเฉลยวิชาธรรม นักธรรมชั้นตรี สอบในสนามหลวง วันอังคาร ที่ ๒๙ กันยายน พ.ศ.๒๕๕๒

ปัญหาและเฉลยวิชาอนุพุทธประวัติ นักธรรมชั้นโท สอบในสนามหลวง วันอาทิตย์ ที่ ๒๐ พฤศจิกายน พ.ศ. ๒๕๔๘