Saya telah menanyakan masalah ini di MathOverflow , tanpa jawaban yang memuaskan.
Pertimbangkan permainan dua pemain berikut ini, yang merupakan penyederhanaan dari permainan kartu yang disebut Winner . (Formulasi berikut diambil dari komentar oleh Guillaume Brunerie di MathOverflow.)
Ada dua pemain A dan B. Setiap pemain memiliki satu set kartu (subset dari ), terlihat dari kedua pemain. Tujuan permainan ini adalah untuk menyingkirkan kartunya sendiri. Pemain pertama memainkan kartu apa saja di atas meja, maka pemain lain harus memainkan kartu (ketat) yang lebih besar, dan seterusnya hingga salah satu pemain tidak dapat bermain atau memutuskan untuk lulus. Kemudian kartu di atas meja dibuang, dan pemain lain mulai lagi dengan memainkan kartu apa pun (yang akan diikuti oleh kartu yang lebih besar). Dan seterusnya sampai salah satu dari dua pemain kehabisan kartu dan memenangkan permainan.
Saya ingin tahu strategi terbaik untuk para pemain (jika dia bisa menang).
Definisi formal
Ditandai dengan konfigurasi permainan di mana set kartu pemain pertama adalah A , set kartu pemain kedua adalah B , dan kartu terbesar di atas meja adalah i , di mana i = 0 berarti tidak ada kartu di atas meja. Saya ingin algoritma menghitung, mengingat i , A , B , apakah pemain pertama memiliki strategi kemenangan dalam konfigurasi w ( i , A , B ) .
Secara formal, saya ingin algoritma untuk menghitung fungsi didefinisikan sebagai berikut:
Mari , B o o l = { F a l s e , T r u e } .
Fungsi
Strategi yang salah
Berikut adalah beberapa strategi yang salah:
sumber
Jawaban:
Ini mungkin komentar, tapi terlalu panjang.
Mereka membuktikan sejumlah fakta menarik tentang strategi optimal, tetapi tidak dapat menemukan algoritma yang efisien untuk bermain optimal, dan juga tidak dapat membuktikan bahwa itu NP-hard.
Untuk permainan misère , di mana setiap orang mencoba untuk mengambil jumlah trik paling sedikit, mereka mampu memberikan strategi yang optimal.
Sebagian besar, hasil ini diperoleh dengan pertama-tama melihat hasil program komputer yang menemukan strategi optimal untuk contoh kecil, kemudian mencari pola untuk mendapatkan dugaan, dan akhirnya membuktikan dugaan ini. Saya menduga bahwa ini juga akan menjadi pendekatan yang bermanfaat untuk permainan OP.
sumber