ฉันสามารถพบกับความท้าทายเกี่ยวกับรหัสสำหรับ Mastermind ได้เท่านั้นดังนั้นนี่เป็นเวอร์ชันที่ท้าทายรหัสที่ฉันอยากทำกับตัวเอง
กลยุทธ์ที่ดีที่สุดสำหรับเกม Mastermind ปกติ MM (4,6) ถูกค้นพบโดย Koyama และ Lai ในปี 1993 โดยมีการเดา # โดยเฉลี่ย = 5625/1296 ~ 4.34 MM (5,8) ยังคงไม่ได้รับการแก้ไข แต่คาดว่าจะมีค่าเฉลี่ย # ของการเดา ~ 5.5
งานของคุณคือการสร้างกลยุทธ์ MM (5,8) นั่นคือสำหรับ 5 หลุมและ 8 สีครอบคลุมpow(8,5) = 32768
โซลูชั่นที่แตกต่างที่เป็นไปได้ทั้งหมด เห็นได้ชัดว่ามันไม่จำเป็นต้องดีที่สุด คุณมีสองทางเลือก:
- โพสต์โปรแกรมกำหนดขึ้นที่สร้างกลยุทธ์ โปรแกรมจะต้องสามารถคอมไพล์ได้ / รันได้บน Windows 7, Mac OS X หรือ Linux โดยไม่ต้องใช้ซอฟต์แวร์พิเศษใด ๆ
- เผยแพร่กลยุทธ์ของคุณ (พร้อมกับชื่อ StackExchange ของคุณ) ที่ใดที่หนึ่งบนอินเทอร์เน็ตและโพสต์ URL ที่นี่
ในทั้งสองกรณีให้ระบุคะแนน (ดูด้านล่าง) ในส่วนหัวของคำตอบ
กลยุทธ์จะต้องเข้ารหัสตามไวยากรณ์ต่อไปนี้:
strategy : guessing-strategy | known-solution-strategy
guessing-strategy : '{' guess ':' branches '}'
known-solution-strategy : guess
guess : color color color color color
color : 'A'..'H'
branches : '{' branch (',' branch)* '}'
branch : reply ':' strategy
reply : number-of-blacks number-of-whites
number-of-blacks : number-of-key-pegs
number-of-whites : number-of-key-pegs
number-of-key-pegs : '0'..'5'
อัลกอริทึมที่ใช้ในการตัดสินใจจำนวนหมุดสีดำ / ขาวมีการอธิบายไว้ในhttp://en.wikipedia.org/wiki/Mastermind_(board_game)
โปรดทราบว่าการตอบ "50" (เช่นการคาดเดาที่ถูกต้อง) นั้นจะบอกเป็นนัยและไม่ได้เป็นส่วนหนึ่งของไวยากรณ์
เกณฑ์การให้คะแนน: N = ผลรวมของจำนวนการเดาสำหรับแต่ละพา ธ / โซลูชัน 32768 กลยุทธ์ที่มีค่า N ต่ำสุดชนะ First tie-break: จำนวนการทายต่ำสุดที่ต่ำที่สุด tie-break ที่สอง: คำตอบที่โพสต์แรก การแข่งขันจบลง1 สิงหาคม 2014 00:00 GMT
ตัวอย่างของกลยุทธ์สำหรับ MM (2,3) ด้วยคะแนน = 21:
{AB:{10:{AC:{10:AA,01:CB,00:BB}},02:BA,01:{BC:{01:CA}},00:CC}}
เมื่อใช้กลยุทธ์นี้เกมที่เป็นไปได้ 9 เกมจะเป็นดังนี้:
- AB 20
- AB 10, AC 20
- AB 10, AC 10, AA 20
- AB 10, AC 01, CB 20
- AB 10, AC 00, BB 20
- AB 02, BA 20
- AB 01, BC 20
- AB 01, BC 01, CA 20
- AB 00, CC 20
ในไม่ช้าฉันจะโพสต์เครื่องมือตรวจสอบกลยุทธ์ MM (5,8) บน Java เพื่อความสะดวกของคุณ
{AB:{10|01:BB}}
ไหม ฉันมีคำตอบ แต่มันค่อนข้างไร้เดียงสาและเนื่องจากโครงสร้างของไวยากรณ์มันไม่ได้ปรับขนาดได้เลย (4 หลุม 3 สีสร้างกลยุทธ์ 147MB ซึ่งฉันสามารถตัดลงได้อย่างมากโดยการรวมส่วนต่าง ๆ ของ ต้นไม้).