Versi sederhana dari permainan kartu Winner

9

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.{1,,n}

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 ) .w(i,A,B)ABii=0i,A,Bw(i,A,B)

Secara formal, saya ingin algoritma untuk menghitung fungsi didefinisikan sebagai berikut:f

Mari , B o o l = { F a l s e , T r u e } .Zn={1,2,,n}Bool={False,True}

Fungsi f:{0,1,,n}×2Zn×2ZnBool

f(i,A,B)={FalseB=TrueBjA:j>i,f(j,B,A{j})=FalseTrueBf(0,B,A)=FalseFalseotherwise

Strategi yang salah

Berikut adalah beberapa strategi yang salah:

  1. n=3,A={1,3},B={2}w(0,A,B)3
  2. w(0,{1,4,6,7},{2,3,5,8})124568pass3
Yai0Phah
sumber
6
Pertanyaan ini menarik, tetapi cobalah membuatnya semudah mungkin dibaca. Misalnya, Anda tidak perlu menyalin komentar Guillaume Brunerie secara verbal termasuk bagian "Saya pikir itu adalah A yang harus diketahui oleh pemain ...", yang berbeda dari asumsi dalam pertanyaan Anda dan hanya dapat membingungkan pembaca. Juga, tolong pertimbangkan untuk menghapus formulasi pertama dari ketiganya: formulasi kedua memberikan pemahaman intuitif, yang ketiga memberikan definisi formal, dan saya tidak berpikir bahwa yang pertama melayani tujuan apa pun.
Tsuyoshi Ito
5
Mungkin cara terbaik untuk menganalisis ini adalah dengan menulis program yang menggambarkan gerakan optimal untuk posisi apa pun, dan mencari pola. Tidak ada alasan apriori bahwa game ini harus memiliki strategi yang bagus.
Peter Shor
2
Saya akan memulai untuk strategi dengan sejumlah kartu dan bekerja dari sana. Misalnya, jika setiap pemain memiliki 2 kartu, maka pemain mana saja yang memiliki kartu tertinggi yang menang, terlepas dari pemain mana yang memiliki giliran berikutnya. Dia memainkan kartu tertinggi, pemain lain harus lulus, lalu dia memainkan kartu terakhirnya.
Joe
Adakah yang bisa membantu saya untuk mendeskripsikan ulang dekrip GB untuk mengikuti postscript 1? Saya merasa menyesal karena saya bukan penutur asli dan menggambarkan permainan yang rumit seperti itu di luar kemampuan saya.
Yai0Phah
1
@ Tsuyoshi: Jika pemain A selalu memainkan kartu terkecil, pemain B menang. Jika pemain A memainkan kartu 1, dan tidak selalu memainkan kartu terkecil, pemain A dapat menang. Ini berarti ada contoh tandingan yang lebih kecil untuk strategi 2 yang selalu menang.
Peter Shor

Jawaban:

4

Ini mungkin komentar, tapi terlalu panjang.

n2n1 2n

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.

Peter Shor
sumber