สวัสดีครับ วันนี้ผมมีคำถามสั้น ๆ เกี่ยวกับโอกาสและความน่าจะเป็นมาลองถามกันดู

สมมุติว่าเจ้ามือมีไพ่อยู่ 3 ใบ
ใน 3 ใบนั้นมี 1 ใบที่เป็น Joker หากคุณจับได้ Joker คุณเป็นฝ่ายชนะเดิมพัน
เกมนี้เจ้ามือสามารถรู้ด้านหลังของไพ่ได้ แต่คนตัดสินใจคือคุณเท่านั้น
1. เจ้ามือให้คุณเลือกไพ่ 1 ใบออกมาจาก 3 ใบโดยไม่เปิดดู
2. เจ้ามือรู้ด้านหลังของไพ่ทั้ง 3 ใบ หลังจากที่คุณเลือกแล้วเจ้ามือเปิดไพ่ 1 ใบที่ไม่ใช่ Joker ออกมาแล้วถามว่า “คุณต้องการเปลี่ยนเป็นอีกใบไหม?”

ถามว่า
1. คุณควรเปลี่ยนไพ่ไหม
2. ความน่าจะเป็นของการเปลี่ยนไพ่เพื่อให้ได้รางวัลเป็นเท่าใด

ก่อนเฉลยลองคิดหาคำตอบกันดูนะครับ :)

เฉลย
กด ctrl+ a หรือใช้เมาส์ทำ High light เพิ่ออ่านคำตอบครับ

เจ้ามือเปิดไพ่ออกมาหนึ่งใบก็เหลือไพ่แค่2ใบ
ใน 2 ใบนั้น ไม่ใบไดก็ใบหนึ่งต้องเป็น Joker แน่นอน
โอกาสมัน 50/50 เห็น ๆ อยู่แล้ว
หลาย ๆ คนน่าจะคิดแบบนี้ใช่ไหมครับ

แต่ช้าก่อน !!
คุณกำลังหลงประเด็นครับ
เกมนี้เป็นเกมที่เริ่มด้วยการเลือกไพ่ 1 ใบ ออกมาจาก 3 ใบ
ดังนั้นความน่าจะเป็นในเกมย่อมไม่ใช่ 50/50แน่นอน
ปัญหาอยู่ที่ว่าเจ้ามือเปิดไพ่ออกมาให้เห็นแล้วเราจะเปลี่ยนไพ่ดีไหม ใช่ไหมครับ
ถึงแม้โอกาสที่เหลือจะดูเหมือน 50/50 แต่ที่จริงแล้วถ้าไม่มีการเปลี่ยนแปลงใด ๆ เกิดขึ้นโอกาสของคุณก็ยังเป็น 1/3 เท่าเดิม

ดังนั้นหากเรายอมเปลี่ยนไพ่ก็เท่ากับเรายอมรับเอาโอกาสที่เพิ่มขึ้นมาที่ เจ้ามือเป็นผู้หยิบยื่นให้นั่นเอง
ที่นี้โอกาสที่เราเปลี่ยนทำไมจึงเป็น 2/3 (66.66%) ไม่ใช่ 50/50 (50%)
ถ้าตอบแบบกำปั้นทุบดินก็คือ เกมนี้ เป็นเกมสุ่มเลือก 1 จาก 3 ไม่ใช่ 1 จาก 2
หลายคนอาจจะยังงง ๆ งั้นเรามาลงในรายละเอียดกันอีกทีนะครับ
โอกาสที่คุณจะตอบถูกมี 1/3 (33.33%)
โอกาสที่คุณจะตอบผิดมี 2/3 (66.66%)
หลังจากที่คุณเลือกไพ่ซึ่งมีโอกาสผิดอยู่ถึง 1/3 เจ้ามือก็ใจดีช่วยหงายไพ่ที่ไม่ถูกรางวัลให้หนึ่งใบ (ซึ่งถ้าผมเป็นเจ้ามือผมคงไม่ทำแบบนั้นแน่ :) )
ที่นี้ที่เหลืออยู่ก็คือไม่ถูกก็ผิดเท่านั้น
ดังนั้นหากคุณยอมรับเสียว่าตัวเองผิด ซึ่งมีโอกาสเป็นแบบนั้นถึง 2/3 คุณก็ควรเปลี่ยนไพ่เสีย
แล้วคุณจะได้รับสิทธิ์นั้น(โอกาส 66.66 %)เดี๋ยวนี้

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

ปัญหานี้สามารถทดลองพิสูจน์ได้ด้วยการทดลองครับ
อาจต้องทดลองเล่นเกมเปิดไพ่สัก 1000 ครั้งขึ้นไปเพื่อให้กฎการถดถอยสู่ค่าเฉลี่ยแสดงออกมาอย่างชัดเจน
แต่ผมได้ทำ simulation เอาไว้แล้วครับ

ต่อไปนี้เป็น โค้ด ที่จำลองสถานการณ์ที่ผู้เล่นเปลี่ยนไพ่

จำนวนครั้งที่ชนะ = 0
จำนวนการสุ่มทดลอง = 10000
แต่ละ ครั้ง ใน ระยะ(จำนวนการสุ่มทดลอง):
   สำรับไพ่ = ["king","queen","joker"]
   สับเปลี่ยน(สำรับไพ่)
   เบอร์ที่ผู้เล่นเลือก = สุ่มจากระยะ(3)  #สุ่มเลือก 0,1,2
   ไพ่ของผู้เล่น = สำรับไพ่.จับออก(เบอร์ที่ผู้เล่นเลือก) #ผู้เล่นเลือกไพ่ไป 1 ใบ
   # เจ้ามือเปิดไพ่ 1 ใบ
   ถ้า สำรับไพ่[0] <> "joker" :
      สำรับไพ่.จับออก(0)
   นอกจากนั้น:
      สำรับไพ่.จับออก(1)
   #ผู้เล่นเปลี่ยนไพ่
   ไพ่ของผู้เล่น = สำรับไพ่[0]
   ถ้า ไพ่ของผู้เล่น == "joker":
      จำนวนครั้งที่ชนะ += 1
แสดงผล( "ผู้เล่นได้คะแนน %d จากการสุ่มทดลอง %d ครั้ง"%(จำนวนครั้งที่ชนะ,จำนวนการสุ่มทดลอง))

ส่วนกรณีที่ผู้เล่นไม่เปลี่ยนไพ่ เราจะแก้ไขโค้ดเดิมเล็กน้อยโดยทำการคอมเมนต์ โค้ดบรรทัดนี้ออกไป “ไพ่ของผู้เล่น = สำรับไพ่[0]”

จำนวนครั้งที่ชนะ = 0
จำนวนการสุ่มทดลอง = 10000
แต่ละ ครั้ง ใน ระยะ(จำนวนการสุ่มทดลอง):
   สำรับไพ่ = ["king","queen","joker"]
   สับเปลี่ยน(สำรับไพ่)
   เบอร์ที่ผู้เล่นเลือก = สุ่มจากระยะ(3)  #สุ่มเลือก 0,1,2
   ไพ่ของผู้เล่น = สำรับไพ่.จับออก(เบอร์ที่ผู้เล่นเลือก) #ผู้เล่นเลือกไพ่ไป 1 ใบ
   # เจ้ามือเปิดไพ่ 1 ใบ
   ถ้า สำรับไพ่[0] <> "joker" :
      สำรับไพ่.จับออก(0)
   นอกจากนั้น:
      สำรับไพ่.จับออก(1)
   #ผู้เล่นเปลี่ยนไพ่
   #ไพ่ของผู้เล่น = สำรับไพ่[0]
   ถ้า ไพ่ของผู้เล่น == "joker":
      จำนวนครั้งที่ชนะ += 1
แสดงผล( "ผู้เล่นได้คะแนน %d จากการสุ่มทดลอง %d ครั้ง"%(จำนวนครั้งที่ชนะ,จำนวนการสุ่มทดลอง))



การรัน simulation แต่ละครั้งจะได้ผลที่ไม่เหมือนกัน เพราะเป็นการสุ่มด้วย computer

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

ผลการรัน simulation ของผมได้ผลดังนี้ครับ (Highlight เพื่อดูคำตอบ)

ผู้เล่นเปลี่ยนไพ่:
ผู้เล่นได้คะแนน 6660 จากการสุ่มทดลอง 10000 ครั้ง

ผู้เล่นไม่เปลี่ยนไพ่:
ผู้เล่นได้คะแนน 3319 จากการสุ่มทดลอง 10000 ครั้ง

ได้ผลใกล้เคียงกับค่าทางสถิติที่เราคำนวนได้ก่อนหน้านี้ใช่ไหมครับ

Comments
  1. ache says:

    1.ควรเปลี่ยนหรือไม่ควรมีค่าเท่ากัน แล้วแต่คน

    2. เป็นได้ทั้ง 50-50 หรือ 0 เปอเซ็นต์ (ในกรณีที่ไม่มีไพ่โจ๊กเกอร์เลย)

  2. Champ says:

    อธิบายได้งงจริงๆครับ

    start—–J——-เปลี่ยน—-> ไม่ถูกรางวัล
    | \—ไม่เปลี่ยน–> ถูกรางวัล
    |
    |—X——-เปลี่ยน—-> ถูกรางวัล
    | \—-ไม่เปลี่ยน—–> อดแดรก
    |
    |—X——-เปลี่ยน——> ถูกรางวัล
    \—-ไม่เปลี่ยน——–> อดแดรก

    โอกาสที่เปลี่ยนไพ่ในครั้งที่สองแล้วจะถูกรางวัลเป็น 2/3 ครับ

  3. ตอนเรียนอยู๋ cs เหมือนเคยเจอพร้อมๆกะโจทย์ pancake

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s