Kart oyunu “Savaş” ın değiştirilmiş bir versiyonunu analiz etme


13

Genellikle çocuklar tarafından oynanan basit bir oyun olan War oyunu, 52 oyun kartının standart destesini kullanan iki kişi tarafından oynanır. Başlangıçta, deste karıştırılır ve tüm kartlara iki oyuncu ikişer dağıtılır, böylece her biri rasgele sırada 26 rastgele kart bulunur. Oyuncuların her iki desteyi de incelemelerine izin verildiğini (ancak değiştirmediğini) varsayacağız, böylece her oyuncu her iki destedeki kartları ve sıralarını biliyor. Bu genellikle pratikte yapılan bir nottur, ancak oyunun nasıl oynandığı hakkında hiçbir şeyi değiştirmez ve sorunun bu versiyonunun tamamen deterministik kalmasına yardımcı olur.

Ardından, oyuncular ilgili destelerden en üstteki kartları gösterir. Daha büyük kartı ortaya çıkaran oyuncu (normal sıraya göre: 2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Kraliçe, Kral, As) ilk olarak kartını ( yüksek kart) ve ardından rakibin kartı (düşük kart) destenin alt kısmında (tipik olarak, bunun sırası uygulanmaz, ancak bu sorunun ilk versiyonunu belirleyici tutmak için, böyle bir sipariş uygulanacaktır).

Beraberlik durumunda, her oyuncu destelerinin üstünden dört ek kart çıkarır. Bir oyuncu tarafından gösterilen dördüncü kart başka bir oyuncu tarafından gösterilen dördüncü karttan daha yüksekse, dördüncü kartı daha yüksek olan oyuncu tie-break sırasında oynanan tüm kartları kazanır, bu durumda kazanan kartlar ilk önce kartın alt kısmına yerleştirilir. kazananın destesi (ilk giren, ilk giren sırada; diğer bir deyişle, önce altta eski kartlar bulunur), ardından kaybedenlerin kartları (aynı sırada).

Sonraki bağlar durumunda, kravatın kazananı belirlenene kadar işlem tekrarlanır. Eğer bir oyuncunun kartı biterse ve berabere kalmaya devam edemezse, hala kartı olan oyuncu kazanan ilan edilir. Her iki oyuncu da aynı anda oynamak için kartlar biterse, oyun berabere ilan edilir.

Bir oyuncunun kartları bitene kadar (yani destesinde daha fazla kart kalmayıncaya kadar) rauntlar oynanır, bu noktada hala kartları olan oyuncu kazanan ilan edilir.

Oyun şu ana kadar açıklandığı gibi, sonucu belirlemek için ne beceri ne de şans söz konusu değildir. 52 kartın sınırlı sayıda permütasyonu olduğundan, destelerin başlangıçta dağıtılabileceği sınırlı sayıda yol vardır ve bunu takip eder (oyundaki tek durum bilgisi her iki oyuncunun destesinin mevcut durumu olduğundan ) her oyun konfigürasyonunun sonucuna bir önsel karar verilebilir. Kuşkusuz, muhtemelen Savaş oyununu kazanmak ve aynı şekilde kaybetmek. Ayrıca, bir Savaş oyununun Beraberlik veya sonsuz bir döngü ile sonuçlanması ihtimalini açık bırakıyoruz; yukarıda açıklanan tamamen deterministik versiyon için böyle olabilir veya olmayabilir.

Oyunun daha ilginç hale getirmeye çalışan çeşitli varyasyonları (ve hayır, hepsi bir içme oyununa dönüştürmeyi içermez). Oyunu daha ilginç hale getirmeyi düşündüğüm bir yol, oyuncuların belirli turlarda otomatik “koz” ilan etmelerine izin vermektir. Her turda, oyuncu (ya da her iki oyuncu) "koz" ilan edebilir. Eğer bir oyuncu "koz" ilan ederse, o oyuncu oynanan kartlardan bağımsız olarak raundu kazanır. Her iki oyuncu da "koz" ilan ederse, raunt berabere kalır ve oyun buna göre devam eder.

Oyuncuların koz yeteneğini sınırlayan çeşitli kurallar düşünülebilir (sınırsız çömelme her zaman Kravat oyunuyla sonuçlanır, çünkü oyuncular her turda koz atacaklardır). Bu fikre dayanarak ancak farklı koz sınırlayıcı mekanizmalar kullanarak iki versiyon (başımın hemen üstünde; bu çizgiler boyunca daha ilginç versiyonlar muhtemelen mümkündür) öneriyorum:

  1. k
  2. k

Şimdi yukarıda açıklanan sürümlerin her biri için geçerli olan sorular için:

  1. Bazı olası ilk oyun konfigürasyonları için, onu kullanan oyuncu her zaman kazanacak (güçlü kazanan strateji) bir strateji var mı? Varsa, bu strateji nedir? Değilse, neden olmasın?
  2. Bazı olası ilk oyun konfigürasyonları için, onu kullanan oyuncu her zaman bir kravat kazanabilir veya zorlayabilir (kazanan strateji)? Varsa, bu strateji nedir? Değilse, neden olmasın?
  3. SS

Açık olmak gerekirse, bir "strateji" yi, stratejiyi kullanan oyuncunun hangi turda koyacağını belirleyen sabit bir algoritma olarak düşünüyorum. Örneğin, "yapabildiğinizde koz" algoritması bir strateji ve algoritmadır (sezgisel algoritma). Sorduğum şeyin başka bir yolu şudur:

Bu oyunları oynamak için iyi (veya makul olarak en uygun) buluşsal yöntemler var mı?

kk=0


Alternatif bir versiyon da var: eğer her iki oyuncu da koz oynarsa, kurallar normaldir (yani en yüksek kart kazanır).
Joe

@ Joe Mükemmel öneri! Aslında, daha genel olarak, alternatif versiyonlar sadece oyuncuların koz verme yeteneğini nasıl kazanabileceklerini değiştirerek değil, aynı zamanda her iki oyuncunun da aynı turda yuvarlanma şeklini değiştirerek elde edilebilir. Bu tür bir analiz, aksi takdirde benzer sürümlerin analizini neredeyse kolaylaştıracağından, sunduğunuz durumun bir analizini yapmaktan çekinmeyin.
Patrick87

Yanıtlar:


7

Doğru anlarsam, oyunla ilgili tüm bilgiler her iki oyuncu için de kullanılabilir. Yani, başlangıç ​​konfigürasyonu ve olası tüm hamleler her iki oyuncu tarafından da bilinir (esas olarak her iki oyuncu da diğer oyuncunun kartlarına bakabilir). Bu oyunu mükemmel bilgi sıfır toplamlı bir oyun yapar. Bu nedenle, her oyuncu için, o oyuncu için her oyunda en iyi sonucu elde edecek mükemmel bir strateji vardır. Bu, 1912'de Alman matematikçi Ernst Zermelo tarafından kanıtlandı.

Stratejinin ne olduğunu bilmiyorum, ama bunun için büyük bir oyun ağacı oluşturmayı ve min-max algoritmasını kullanarak benim için bir strateji bulmayı hayal edebiliyordum .

Her oyunun ağacının iki oyuncunun elinde olduğu kadar kök olurdu. Ağaçtaki dallar oyuncuların hareketlerine karşılık gelir. En basit durumda, bunlar sadece gerekli kartları yerleştirmekten oluşur. Daha ileri durumlarda, 'koz' hareketi yapılabilir. Ağacın iç düğümleri, kartların geçerli yapılandırmasının ne olduğunu ve wrt 'trumps' durumu hakkında herhangi bir bilgi kaydeder. Ağacın yaprakları, örneğin Oyuncu 1'e bir galibiyet için +1, bir beraberlik için 0 ve Oyuncu 2'ye bir galibiyet için -1 ile etiketlenecek olan oyun sonu pozisyonlarına karşılık gelir .

Şimdi min-max algoritması aşağıdaki gibi çalışacaktır (Oyuncu 1'in bakış açısından). Oyuncu 1'in hareket ettiği bir düğüme baktığını ve aşağıdaki düğümlerin +1, 0 veya -1 (ek ödeme) ile açıklandığını varsayın.), oyuncunun verilen sonucu almak için yapması gereken seçimlerle birlikte. Oyuncu 1, en büyük getiriye sahip düğümü, getiriyi kaydeden kayıtları ve bunu elde etmek için gerekli seçimi seçer. Oyuncu 2'nin hamle yaptığı düğüm için, minimum getiriye sahip düğüm seçilir ve seçim kaydedilir. Bu Oyuncu 2'nin en düşük puanı kazanmayı hedeflediğini gösterir. Bu ağacın yayılır. Her düğümde kaydedilen seçimler, bir oyuncunun yapabileceği en iyi stratejiye karşılık gelir. Son kazanç kimin kazanacağını belirler. Bu kesin olarak kazanç açısından bir işlevdir, ancak kesin hamle seçimi değişebilir.

Potansiyel olarak döngü yapılandırmaları , daha önce görülen bir yapılandırmaya geri dönen döngüler eklenerek oyun ağacına dahil edilebilir (üstten hesaplanırken). Bu tür düğümler için Oyuncu 1'in oynadığı bir düğüm ise en büyük sabit noktayı ve Oyuncu 2 oynadığında en az sabit noktayı alırsınız.

Her iki oyuncunun da her iki desteyi de inceleyebileceği varsayımını yapmadıysanız, bu yaklaşımın geçerli olmayacağını unutmayın. Oyun daha sonra şans içerir ve seçilen strateji oyuna özel olur.

Oyunculardan biri için güçlü veya zayıf bir kazanma stratejisi olup olmadığı, tüm ağaçlara uygulanan min-max algoritmasının sonucuna bağlıdır. Ama elbette birçoğu var .... Biri için ağacı hesaplamak muhtemelen oldukça kolaydır, çünkü oyun boyunca çok fazla seçenek yoktur.


Bunu kendim cevaplamak için bazı girişimler yaptıktan sonra, işaret ettiğin şeyi kısaca anladım, yani, mutlaka optimal bir strateji olması gerektiğini, ancak gerçekçi bir şekilde, böyle bir strateji için kuralları belirtmenin inanılmaz derecede karmaşık olabileceğini fark ettim. Ayrıca, oyuncuların bu oyunların bazı sürümlerinde çıkmaza girebilmelerinin mümkün olduğu anlaşılıyor ... her ikisi de koz atabiliyor, ancak çöpe atılan yapılandırmanın ne olması gerektiği konusunda anlaşamıyorlar (biri diğeri olmazsa koz olur) 't, diğeri ise koz olur). Çok ilginç.
Patrick87
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.