22 ม.ค. เวลา 23:21 • เกม

เกม OX คือเกมที่เล่นง่าย ๆ เวลาไม่มีอะไรทำครับ #1

video ประกอบการอธิบายครับ :
โอเคครับ คือเมื่อหลายเดือนก่อน ผมได้ไปเจอคลิป ๆ นึงของ techcast ที่ได้พูดถึงเกี่ยวกับเกม eggy chess ซึ่งเป็น mini game ในเกม ragnarok … อะไรสักอย่างครับ555
ซึ่งผมก็สงสัยว่ามันเป็นเกมแบบไหนเลยดูต่อไปเรื่อย ๆ ซึ่งก็ได้ความว่าตัวเกมจะคล้ายกับเกม OX ที่เราเล่นกัน แต่ความน่าสนใจอยู่ที่ตัวหมากไม่ได้มีแค่แบบเดียวและจะสามารถวางทับที่ตัวหมากของอีกฝ่ายบางตัวได้
นั่นเลยทำให้ผมสงสัยว่า เอ้~~ แล้วแบบนี้ผลลัพธ์มันจะห่างจาก 255,168 (จำนวนผลลัพธ์ของเกม OX) ไปเท่าใดแล้ววิธีการเล่น (กลยุทธ์) จะเป็นแบบไหนกันนะ?
เลยทำให้อยากลองคิดเลขขึ้นมาครับ
แต่ก่อนหน้านั้น ถ้าเราไม่คิดเกมตั้งต้นอย่าง OX ก็คงจะทำให้คนที่ไม่เคยรู้มาก่อนแตกได้ใช่ไหมครับ เพราะฉะนั้นในโพสต์นี้เราจะกล่าวถึงของคลาสสิคนี้ก่อนแล้วเราค่อยไปกันต่อในขั้นถัดไปกันนะครับ
โดยก่อนหน้าที่จะเข้าเรื่องทฤษฎีเกมว่ามันคืออะไรกับใช้ยังไง สิ่งที่ค้างคาในตอนแรกสุดก็คงจะเป็น … เกม OX นี่มันมีผลลัพธ์กี่รูปแบบกันใช่ไหมครับ
ถ้าใครเคยผ่านหัวข้อการเรียงสับเปลี่ยนก็คงจะเคยทำโจทย์แบบนี้ใช่ไหมครับ555 แต่เผอิญว่าเกมนี้มันค่อนข้างจะประยุกต์ได้น้อย ถ้ามี อาจารย์ก็คงใส่มันเข้าไปเป็นตัวอย่างเฉย ๆ แล้วก็ผ่านไปสินนะครับ
(แล้วก็ผ่านไปเลย555)
แต่ถ้ายังเราก็มาคิดไปพร้อม ๆ กันดีกว่าครับ ซึ่งผมขอแนะนำให้ไปปรับพื้นฐานวิธีการจัดในวิดีโอ Gacha Rate ก่อนนะครับ :
แล้วก็จริง ๆ แล้วอะไรที่คลาสสิคมักจะถูก Simplify หรือถูกย่อยไปหมดแล้วครับ สามารถหาอ่านได้เองเลย ไม่ต้องง้ออาจารย์ (ผมล้อเล่นนะครับ อย่าให้ผม F เลย555)
แต่ว่าถ้าให้ผมเริ่มเราก็จะเริ่มจาก ก่อนอื่นเราต้องพิจารณาเงื่อนไขของเกมกันก่อนครับ
(ในที่นี่ผมขอจินตนาการว่าทุกคนรู้กฎของเกม OX กันทุกคนแล้วนะครับ)
1. ตัวหมากของแต่ละตัวของแต่ละฝั่งหน้าตาเหมือนกัน ซึ่งก็คือ X ก็จะเป็น X ที่เหมือนกันทั้งงหมดหรือถ้าเป็น O ก็จะเป็น O เหมือนกันทั้งหมด (หรือก็คือเป็นของซ้ำนั่นเอง)
2. แม้ตำแหน่งที่จบจะเหมือนกันแต่ถ้าลำดับในการลงต่างกันก็ถือว่าเป็นคนละวิธี นั่นหมายความว่าสิ่งที่เราจะเอามาเรียงสับเปลี่ยนคือตำแหน่งนั้นเอง เช่น
วิธีการลงแบบบนจะถือว่าต่างกับแบบล่าง
3. เราจะกำหนดให้ผลลัพธ์ที่เกิดขึ้นเป็นการเรียงสับเปลี่ยนเชิงเส้นหรือเส้นตรง เพราะว่า เราจะผลัดกันลงและไม่มีการวนกันเกิดขึ้นนั่นเองครับ
โดยจะเขียนให้อยู่ในรูปของ list : [x, o, x, o, ...] โดยจะสมมติว่าให้ x เริ่มก่อนและแทนแต่ละค่าด้วยตำแหน่ง เช่น [x:i00, o:i12, x:i01, o:i21, x:i02]
(ที่ผมเขียนโปรแกรมควบคู่ไปด้วย เพราะว่า จะได้นำผลลัพธ์ไปใช้ต่อได้ในอนาคตครับ เพราะ ทฤษฎีเกม ถ้าให้ทดมือ ผมว่าผมน่าจะแตกก่อน เพราะ มันต้องแจกแจงด้วยส่วนนึงครับ)
ซึ่งเราจะแทนแต่ละตำแหน่งด้วยตัวอักษร ดังนี้ครับ
Definition I
Definition II
Permutation of 9 things
ซึ่งก็จะมีวิธีการทำให้จบเกมโดยให้มีการชนะได้ 8 วิธี
Result I.I
Result I.II.I
Result I.II.II
ซึ่งจำนวนรอบที่ทำให้เกมจบจะเริ่มตั้งแต่ 5-9 ตาเดินจะทำให้เกิดผลลัพธ์ได้ดังนี้เลยครับ
จำนวนผลลัพธ์ของ 5 ตาเดิน I
จำนวนผลลัพธ์ของ 5 ตาเดิน II
จำนวนผลลัพธ์ของ 6 ตาเดิน I
ตัวอย่างบางกรณีที่ไม่นับว่าจบใน 6 ตาเดิน
จำนวนผลลัพธ์ของ 6 ตาเดิน II
จำนวนผลลัพธ์ของ 7 ตาเดิน I
ตัวอย่างบางกรณีที่ไม่นับว่าจบใน 7 ตาเดิน
จำนวนผลลัพธ์ของ 7 ตาเดิน II
จำนวนผลลัพธ์ของ 8 ตาเดิน I
ตัวอย่างบางกรณีที่ไม่นับว่าจบใน 8 ตาเดิน
จำนวนผลลัพธ์ของ 8 ตาเดิน II
จำนวนผลลัพธ์ของ 9 ตาเดิน I
จำนวนผลลัพธ์ที่ไม่นับของ 9 ตาเดิน I
ตัวอย่างบางกรณีที่ไม่นับใน 9 ตาเดิน I
จำนวนผลลัพธ์ที่ไม่นับใน 9 ตาเดิน II
ตัวอย่างบางกรณีที่ไม่นับใน 9 ตาเดิน II
จำนวนผลลัพธ์ใน 9 ตาเดินแล้วฝ่ายที่เริ่มก่อนชนะ
จำนวนวิธีใน 9 ตาเดิน I
จำนวนวิธีใน 9 ตาเดิน II
จำนวนวิธีใน 9 ตาเดิน III
จำนวนวิธีใน 9 ตาเดิน IV
จำนวนผลลัพธ์ที่ทำให้เสมอ
ตัวอย่างบางกรณีที่ทำให้เสมอ
หมุนตารางตำแหน่ง
จำนวนวิธีที่ทำให้เสมอ
วิธีการหมุนแกนสามารถกลับไปอ่านได้ในโพสต์การหมุนรูปได้เลยนะครับ :
เราจะได้จำนวนวิธีการทั้งหมด ดังนี้ครับ
จำนวนผลลัพธ์ทั้งหมด
จำนวนวิธีทั้งหมด
ในส่วนของ coding แนะนำให้ไปฟังใน video จะรู้เรื่องหรือรู้ Idea มากกว่าครับ555
เมื่อเรารู้วิธีการเดินหรือผลลัพธ์ทั้งหมดที่เป็นไปได้แล้ว งั้นเรามาลองพิจารณาบางกรณีกันดูสักหน่อยดีกว่า
กรณีผลลัพธ์ที่เป็น [C, B, F, E, I] :
ผลลัพธ์บางกรณี I
หรือกรณีผลลัพธ์ที่เป็น [A, E, I, G, C, ...] :
ผลลัพธ์บางกรณี II
จากภาพจะสังเกตเห็นได้ว่า จะมีบางตาที่เป็นผลลัพธ์ที่ไม่อาจจะเกิดขึ้นจริงได้หรือก็มีตาเห็นว่าถูกบังคับเดิน
กล่าวคือ ผลลัพธ์ที่คำนวณที่เป็นเซตคำตอบทั้งตอบทั้งหมดคือผลลัพธ์จากการทดลองสุ่ม หรือพูดอีกนัยหนึ่งวิธีการเดินของเราไม่ได้เกิดขึ้นแบบสุ่มนั่นเอง
นั่นหมายความว่าการที่เราจะเดินแต่ละครั้งเราจะเดินให้ผลลัพธ์เป็นไปตามต้องการ มีแบบแผนหรือกลยุทธ์นั่นเอง
จึงให้กำเนิดทฤษฎีที่จะเอามาอธิบายการตัดสินใจของเรานั่นเองครับ นั่นก็คือ "ทฤษฎีเกม" นั่นเอง
โอเคครับ ถึงจะบอกว่า เกม แต่ความจริงแล้วมันก็ไม่จำเป็นต้องใช้กับเกมที่เล่นเพื่อความสนุกจริง ๆ อย่างเดียวก็ได้ครับ เพราะว่า โดยเนื้อหาแล้วมันเป็นทฤษฎีหรือหลักการที่เกี่ยวกับการตัดสินใจในบางสถานการณ์ครับ
เช่น สมมติในตอนเช้าคุณจะเลือกกินอะไร ระหว่าง ข้าวต้ม หรือ ข้าวที่ถูกราดด้วยแกง บางคนก็อาจจะเลือกอะไรก็ได้ไม่มีผลอะไรกิน ๆ ไปเถอะ หรือเลือกข้าวต้ม เพราะ ไม่หนักท้อง หรือข้าวราดแกง เพราะ ไม่ชอบข้าวต้ม
ไม่ว่าจะด้วยเหตุผลอะไรก็ตามการเลือกของเราไม่ได้เกิดขึ้นแบบสุ่มใช่ไหม เพราะ เรามีเหตุผลในการเลือกของเราเสมอ นี่เป็นเรื่องเกี่ยวกับการตัดสินใจครับ ซึ่งจะถูกเรียกว่า "ทฤษฎีการตัดสินใจ"
แต่ "ทฤษฎีเกม" ก็คือ "ทฤษฎีการตัดสินใจ" สำหรับการตัดสินใจที่มีผู้ตัดสินใจมากกว่า 1 คนครับ ผลลัพธ์จากการตัดสินใจของเราก็จะขึ้นกับคนหลาย ๆ คนอย่างในที่นี้ก็คือผู้เล่นสองคนที่เล่นเกม OX ครับ
โดยที่ตอนที่เราจะเลือกอะไรสักอย่าง เราก็ต้องสร้างเกณฑ์ในการเลือกใช่ไหมครับ และเราก็อาจจะแทนค่ามันด้วยตัวเลขหรือแต้มในการเลือก และในตอนสุดท้ายก็อาจจะเลือกตัวที่คะแนนสูงสุดไป
(อารมณ์ก็ประมาณทำแบบสอบถามที่ถามตัวเองนั่นแหละครับ)
เช่นอะไรในลักษณะนี้
การตัดสินใจว่าจะไปโรงเรียนเช้าไหมจากคนที่อยากเจอ
เรื่องมันชักจะสนุกขึ้นมาแล้วใช่ไหมครับ ซึ่งการที่เราจะไปสู่เกม eggy chess ได้ก็อาจจะต้องเข้าใจวิธีการของ OX เสียก่อน
ซึ่งทฤษฎีเกมของเกม OX จะเป็นยังไงนั้นไว้ติดตามโพสต์หน้านะครับ เพราะว่าถ้าไปกันต่อ ... ยาวแน่ ๆ และเดี๋ยวจะเบื่อกันซ่ะก่อนครับ555
(จริง ๆ เป็นข้ออ้างในการขี้เกียจตัดคลิปของผมแหละครับ ไม่มีอะไร555)
ส่วนจำนวนวิธีทั้งหมดของเกม eggy chess นั้นจะเพิ่มเงื่อนไขที่ต้องเลือกตัวหมากก่อนกับกรณีที่จะวางทับได้ไหมเข้าไปด้วยครับ
ซึ่งจำนวนวิธีการจัดกลุ่มแบบ star and bar สามารถกลับไปอ่านได้โพสต์เก่าของผมได้เลยครับ :
สำหรับโพสต์นี้หากผิดพลาดประการใดก็ขออภัยมา ณ ที่นี้ด้วยนะครับ ขอขอบคุณที่ผ่านทางมาครับ ไว้พบกันใหม่โพสต์หน้าครับ
สำหรับโพสต์นี้ขอบคุณมากเลยครับ
โฆษณา