Kart oyunu kazanan basitleştirilmiş bir sürümü


9

MathOverflow'da bu sorunu tatmin edici bir cevap olmadan sordum .

Winner adlı kart oyununun basitleştirilmesi olan aşağıdaki iki oyunculu oyunu düşünün . (Aşağıdaki formülasyon, MathOverflow üzerinde Guillaume Brunerie tarafından yapılan bir yorumdan alınmıştır.)

İki A ve B oyuncusu vardır. Her oyuncunun bir dizi kartı vardır ( {1,,n}), her iki oyuncudan da görülebilir. Oyunun amacı kendi kartlarından kurtulmaktır. İlk oyuncu masada herhangi bir kart oynar, daha sonra diğer oyuncu (kesinlikle) daha büyük bir kart oynamalıdır ve oyunculardan biri oynayamayacak veya geçmeye karar verene kadar devam edecektir. Sonra masadaki kartlar atılır ve diğer oyuncu herhangi bir kart oynayarak tekrar başlar (bunu daha büyük bir kart takip eder). Ve böylece iki oyuncudan biri kartlar bitene ve oyunu kazanana kadar devam eder.

Oyuncular için en iyi stratejiyi bilmek istiyorum (eğer kazanabilirse).

Resmi tanımlama

Gösteren: w(i,A,B) İlk oyuncu kartlarının bulunduğu oyunun yapılandırması A, ikinci oyuncunun kart dizisi Bve masadaki en büyük kart i, nerede i=0masada kart olmadığı anlamına gelir. Hesaplamak için bir algoritma istiyorumi,A,B, ilk oyuncunun yapılandırmada kazanan bir stratejisi olup olmadığı w(i,A,B).

Resmi olarak, fonksiyonu hesaplamak için bir algoritma istiyorum f aşağıdaki gibi tanımlanmıştır:

İzin Vermek Zn={1,2,,n}, Bool={False,True}.

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

nerede

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

Yanlış stratejiler

İşte bazı yanlış stratejiler:

  1. Her zaman en küçük kartı oynayın. İzin Vermekn=3,A={1,3},B={2}, konfigürasyonda A oyuncusu için kazanan strateji w(0,A,B) kart oynamak 3. A oyuncusu kart 1 oynarsa kaybeder.
  2. Diğer oyuncuda sadece bir kart yoksa en küçük kartı oynayın. Strateji 1'den daha güçlü bir stratejidir, fakat aynı zamanda yanlıştır. Sadece yapılandırmayı düşününw(0,{1,4,6,7},{2,3,5,8}). A oyuncusu strateji 2'yi kullanırsa kaybeder:124568pass3Böylece A oyuncusu kaybeder.

6
Bu soru ilginç, ancak lütfen mümkün olduğunca okunabilir hale getirmeye çalışın. Örneğin, Guillaume Brunerie'nin, söz konusu varsayımdan farklı olan ve sadece okuyucuları karıştırabilen “Sanırım oyuncu tarafından bilinmesi gereken…” kısmı da dahil olmak üzere yorum kelimesini kopyalamak zorunda değilsiniz. Ayrıca, lütfen üçünün ilk formülasyonunu çıkarmayı düşünün: ikinci formülasyon sezgisel bir anlayış verir, üçüncüsü resmi bir tanım verir ve ilkinin herhangi bir amaca hizmet ettiğini düşünmüyorum.
Tsuyoshi Ito

5
Muhtemelen bunu analiz etmenin en iyi yolu, herhangi bir pozisyon için en uygun hareketleri anlayan bir program yazmak ve desen aramaktır. Orada hiçbir önsel bu oyun güzel bir strateji olması gerektiğini sebep.
Peter Shor

2
Ben az sayıda kart ile bir strateji başlar ve oradan çalışır. Örneğin, her oyuncunun 2 kartı varsa, hangi oyuncunun bir sonraki turuna bakılmaksızın, hangi oyuncunun en yüksek kart kazanırsa. En yüksek kartı oynar, diğer oyuncu geçmelidir, sonra son kartını oynar.
Joe

Herhangi biri GB'nin postscript 1'i takip etme tanımını yeniden yazmama yardımcı olabilir mi? Ben anadili olmayan biri olduğum için üzgünüm ve böyle karmaşık bir oyunu tanımlamak benim yeteneğim dışında.
Yai0Phah

1
@Tsuyoshi: A oyuncusu her zaman en küçük kartı oynarsa, B oyuncusu kazanır. A oyuncusu kart 1 oynarsa ve her zaman en küçük kartı oynamazsa, A oyuncusu kazanabilir. Bu, strateji 2'ye her zaman kazanan daha küçük bir karşı örnek olduğu anlamına gelir.
Peter Shor

Yanıtlar:


4

Bu muhtemelen bir yorum olmalı, ama çok uzun.

İlgili bir oyun Jeff Kahn, Jeff Lagarias ve Hans Witsenhausen tarafından Single-Suit Two-Person Card Play I, II, III ve On Laskar's Card Game makalelerinde incelenmiştir. Çalıştıkları oyunda, her oyuncun kartlar 2n numaralı kartlar 1 2n. Her hile iki karttan oluşur, yüksek kart hile kazanır ve kazanan lider. Amaç en çok hileyi almaktır.

Optimal strateji hakkında bir dizi ilginç gerçekleri kanıtladılar, ancak optimal oyun için etkili bir algoritma bulamadılar ve bunun NP-zor olduğunu kanıtlayamadılar.

İçin misère'den her kişinin hileler en az sayıda almaya çalışır oyunun, bunlar optimal strateji vermek başardık.

Çoğunlukla, bu sonuçlar önce küçük örnekler için en uygun stratejiyi bulan bir bilgisayar programının sonuçlarına bakarak, daha sonra varsayımları elde etmek için kalıplar arayarak ve son olarak bu varsayımları kanıtlayarak elde edildi. Bunun OP'nin oyunu için de verimli bir yaklaşım olacağından şüpheleniyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.