ปริศนา Monty Hall: ทำไมการเปลี่ยนประตูถึงเพิ่มโอกาสชนะ 2 ใน 3

นี่คือหนึ่งในปริศนาทางคณิตศาสตร์ที่โด่งดังและขัดต่อสัญชาตญาณมากที่สุดในโลก ลองจินตนาการว่าคุณอยู่ในเกมโชว์…

  • ข้างหน้าคุณมี 3 ประตู: ประตู A, B, และ C

  • หลังประตูหนึ่งมี รถยนต์ (รางวัลใหญ่!)

  • หลังประตูอีกสองบานมี แพะ (คุณแพ้)

  • คุณไม่รู้ว่าอะไรอยู่หลังประตูไหน

เกมเริ่มต้น:

  1. คุณเลือก: คุณเลือกประตู 1 บาน (สมมติว่าคุณเลือก ประตู A)

  2. พิธีกร (Monty) เปิด: พิธีกรซึ่ง รู้ว่ารถอยู่หลังประตูไหน จะเปิดประตูบานอื่น 1 บานที่ ไม่ใช่ประตูที่คุณเลือก และ เป็นแพะ (สมมติว่าเขาเปิด ประตู B และคุณเห็นแพะ)

  3. ข้อเสนอ: ตอนนี้เหลือประตูที่ปิดอยู่ 2 บาน คือ ประตู A (ที่คุณเลือก) และ ประตู C (ที่เหลือ) พิธีกรหันมาถามคุณว่า: “คุณต้องการจะ เปลี่ยนใจ ไปเลือกประตู C หรือจะ ยืนยัน ที่ประตู A?”

คำถามคือ: คุณควรเปลี่ยนหรือไม่? หรือโอกาสชนะมัน 50/50 เท่ากัน?

สัญชาตญาณของคนส่วนใหญ่บอกว่า “ตอนนี้เหลือแค่ 2 ประตู โอกาสก็ 50/50 สิ จะเปลี่ยนหรือไม่เปลี่ยนก็เหมือนกัน”

คำตอบที่ถูกต้องคือ: คุณควร “เปลี่ยน” เสมอ!

การเปลี่ยนประตูจะทำให้โอกาสชนะของคุณเพิ่มจาก 1 ใน 3 (33.3%) กลายเป็น 2 ใน 3 (66.7%)

บทความนี้จะอธิบายว่าทำไม และพิสูจน์ให้เห็นด้วยโค้ด Python ครับ


🧠 วิเคราะห์ความน่าจะเป็น: ทำไมไม่ใช่ 50/50?

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

ลองมาแยกแยะความน่าจะเป็นตั้งแต่ต้นครับ

ขั้นตอนที่ 1: การเลือกครั้งแรกของคุณ

เมื่อคุณเลือกประตู A ในตอนแรก โอกาสที่รถจะอยู่หลังประตู A คือเท่าไหร่?

  • P(รถอยู่หลัง A) = 1/3

  • ดังนั้น โอกาสที่รถจะอยู่หลังประตูอื่น (B หรือ C) คือ P(รถอยู่หลัง B หรือ C) = 2/3

ณ จุดนี้ ทุกอย่างชัดเจน คุณมีโอกาส 1 ใน 3 ที่จะทายถูกตั้งแต่แรก

ขั้นตอนที่ 2: พิธีกรให้ข้อมูล

นี่คือจุดเปลี่ยนครับ พิธีกรจะเปิดประตูที่เป็น “แพะ” และ “ไม่ใช่ประตูของคุณ”

ให้เราวิเคราะห์ 2 กลยุทธ์:

1. กลยุทธ์ “อยู่ประตูเดิม” (Stay Strategy)

ถ้าคุณตัดสินใจว่าจะไม่เปลี่ยน… คุณจะชนะเกมนี้ในกรณีเดียวเท่านั้น:

  • คุณจะชนะ ก็ต่อเมื่อ การเลือกครั้งแรกของคุณ (1/3) นั้นถูกต้อง

ไม่ว่าพิธีกรจะเปิดประตูไหน ถ้าคุณเลือกถูกตั้งแต่แรก (เลือกประตูรถ) คุณก็จะชนะ แต่ถ้าคุณเลือกผิดตั้งแต่แรก (เลือกประตูแพะ) คุณก็จะแพ้

ดังนั้น โอกาสชนะของกลยุทธ์ “อยู่ประตูเดิม” คือ 1/3

2. กลยุทธ์ “เปลี่ยนประตู” (Switch Strategy)

ทีนี้มาดูกลยุทธ์การ “เปลี่ยน” โดยอิงจากความน่าจะเป็น 2/3 ที่เราตั้งไว้:

  • กรณีที่ 1: คุณเลือกถูกในครั้งแรก (โอกาส 1/3)

    • คุณเลือก A (เป็นรถ)

    • พิธีกรจะเปิด B หรือ C (ซึ่งเป็นแพะทั้งคู่)

    • คุณ “เปลี่ยน” ประตู -> คุณจะย้ายจากรถไปหาแพะ

    • ในกรณีนี้ คุณจะ “แพ้”

  • กรณีที่ 2: คุณเลือกผิดในครั้งแรก (โอกาส 2/3)

    • คุณเลือก A (เป็นแพะ)

    • รถตัวจริงซ่อนอยู่หลัง B หรือ C

    • พิธีกร รู้ว่ารถอยู่ไหน เขาจึง ต้อง เปิดประตูแพะอีกบาน

      • ถ้าคุณเลือก A (แพะ) และรถอยู่หลัง C -> พิธีกร ต้อง เปิด B

      • ถ้าคุณเลือก A (แพะ) และรถอยู่หลัง B -> พิธีกร ต้อง เปิด C

    • ไม่ว่าทางใด ประตูที่พิธีกร ไม่ได้เปิด และ ไม่ใช่ประตูของคุณ (ประตูที่คุณจะสลับไป) คือประตูรถเสมอ

    • คุณ “เปลี่ยน” ประตู -> คุณจะย้ายจากแพะไปหารถ

    • ในกรณีนี้ คุณจะ “ชนะ”

สรุป:

  • ถ้าคุณเลือกถูก (1/3) แล้วเปลี่ยน -> คุณแพ้

  • ถ้าคุณเลือกผิด (2/3) แล้วเปลี่ยน -> คุณชนะ

ดังนั้น กลยุทธ์ “เปลี่ยนประตู” จะให้โอกาสคุณชนะถึง 2/3 ครับ!


🐐 ขยายสเกลปัญหาให้เห็นภาพ (The 100-Door Analogy)

ถ้ายังรู้สึกขัดๆ ลองนึกถึงปัญหานี้ในสเกลที่ใหญ่ขึ้น:

  • มี 100 ประตู

  • มีรถ 1 คัน และ แพะ 99 ตัว

  • คุณเลือก ประตูที่ 1 (โอกาสชนะ 1/100)

  • พิธีกร (ที่รู้ว่ารถอยู่ไหน) เดินไปเปิดประตู 98 บาน (ประตูที่ 2 ถึง 99) ที่เป็นแพะทั้งหมด โดยเว้น “ประตูที่ 74” ไว้บานหนึ่ง

  • ตอนนี้เหลือประตูที่ปิดอยู่ 2 บาน: ประตูที่ 1 (ที่คุณเลือก) และ ประตูที่ 74

  • พิธีกรถามว่า “จะเปลี่ยนไปประตู 74 ไหม?”

ในสถานการณ์นี้ ชัดเจนมากว่าคุณควรเปลี่ยน!

  • ประตูที่ 1 ของคุณมีโอกาสแค่ 1/100

  • โอกาส 99/100 ที่รถจะอยู่ “ที่อื่น” (ประตู 2-100)

  • พิธีกรได้ใช้ความรู้ของเขา “กำจัด” ประตูที่เป็นแพะ 98 บานในกลุ่ม “ที่อื่น” นั้นทิ้งไป ทำให้ความน่าจะเป็น 99/100 ทั้งหมด มารวมกันอยู่ที่ประตู 74 ที่เหลืออยู่

การเปลี่ยนไปประตู 74 ก็คือการเลือกกลุ่ม 99% นั่นเอง ปัญหา 3 ประตูก็ใช้ตรรกะเดียวกันเป๊ะ เพียงแต่ตัวเลข 1/3 กับ 2/3 มันไม่ต่างกันสุดขั้วเท่า 1/100 กับ 99/100 ครับ


💻 ทดลองจำลองด้วย Python

ถ้าคณิตศาสตร์ยังไม่น่าเชื่อถือพอ เรามาลองเขียนโปรแกรมจำลองเกมนี้สัก 10,000 ครั้ง แล้วดูว่าผลลัพธ์จะเป็นอย่างไร

เราจะจำลองทั้งสองกลยุทธ์:

  1. Stay: ผู้เล่นเลือกประตูแล้วไม่เปลี่ยน

  2. Switch: ผู้เล่นเลือกประตู แล้วเปลี่ยนไปประตูที่เหลืออีกบานเสมอ

Python

import random

def run_monty_hall_simulation(num_trials):
    """
    จำลองปัญหา Monty Hall
    
    num_trials: จำนวนครั้งที่จะทดลองเล่น
    """
    stay_wins = 0
    switch_wins = 0
    
    for _ in range(num_trials):
        # 1. ตั้งค่าเกม: 0, 1, 2. สุ่มว่ารถอยู่หลังประตูไหน
        doors = [0, 1, 2]
        car_door = random.choice(doors)
        
        # 2. ผู้เล่นเลือกประตู (สุ่ม)
        player_choice = random.choice(doors)
        
        # 3. พิธีกรเปิดประตู (ต้องเป็นแพะ และไม่ใช่ที่ผู้เล่นเลือก)
        # สร้างลิสต์ประตูที่พิธีกรสามารถเปิดได้
        possible_host_doors = []
        for door in doors:
            if door != player_choice and door != car_door:
                possible_host_doors.append(door)
                
        host_door = random.choice(possible_host_doors)
        
        # 4. หาประตูที่เหลือ (สำหรับสลับ)
        # ประตูที่เหลือคือประตูที่ไม่ใช่ประตูที่ผู้เล่นเลือก และไม่ใช่ประตูที่พิธีกรเปิด
        switch_choice = [door for door in doors if door != player_choice and door != host_door][0]
        
        # 5. ตรวจสอบผลลัพธ์
        
        # กลยุทธ์ "อยู่ประตูเดิม" (Stay)
        if player_choice == car_door:
            stay_wins += 1
            
        # กลยุทธ์ "เปลี่ยนประตู" (Switch)
        if switch_choice == car_door:
            switch_wins += 1
            
    return stay_wins, switch_wins

# --- เริ่มการทดลอง ---
TRIALS = 100000
stay_wins, switch_wins = run_monty_hall_simulation(TRIALS)

print(f"--- ผลการจำลอง Monty Hall {TRIALS:,} ครั้ง ---")
print(f"\nกลยุทธ์ 'อยู่ประตูเดิม' (Stay):")
print(f"ชนะ: {stay_wins:,} ครั้ง ({stay_wins/TRIALS:.2%})")

print(f"\nกลยุทธ์ 'เปลี่ยนประตู' (Switch):")
print(f"ชนะ: {switch_wins:,} ครั้ง ({switch_wins/TRIALS:.2%})")

ผลลัพธ์ที่คาดว่าจะได้ (อาจคลาดเคลื่อนเล็กน้อย):

--- ผลการจำลอง Monty Hall 100,000 ครั้ง ---

กลยุทธ์ 'อยู่ประตูเดิม' (Stay):
ชนะ: 33,310 ครั้ง (33.31%)

กลยุทธ์ 'เปลี่ยนประตู' (Switch):
ชนะ: 66,690 ครั้ง (66.69%)

สรุป

การทดลองจำลองด้วย Python ยืนยันสิ่งเดียวกับที่คณิตศาสตร์บอกเรา: การเปลี่ยนประตูเพิ่มโอกาสชนะของคุณเป็น 2 ใน 3 อย่างชัดเจน

ปริศนา Monty Hall เป็นบทเรียนที่ยอดเยี่ยมว่าสัญชาตญาณของเราสามารถล้มเหลวได้อย่างไรเมื่อต้องเจอกับความน่าจะเป็น และการกระทำที่มี “ข้อมูล” แฝงอยู่ (การเปิดประตูของพิธีกร) สามารถเปลี่ยนแปลงภูมิทัศน์ของความน่าจะเป็นทั้งหมดได้อย่างไร

ดังนั้น หากคุณเคยเจอสถานการณ์นี้ในชีวิตจริง… จง “เปลี่ยน” ครับ!

ความคิดเห็น