Makul bir AI nasıl oluşturulur?


11

Fox and Hounds oyununa dayalı bir mantık oyunu oluşturuyorum. Oyuncu tilkiyi ve AI da tazıları çalar. (görebildiğim kadarıyla) AI'yi mükemmel yapmayı başardım, bu yüzden asla kaybetmez. Bu şekilde bırakmak insan oyuncular için çok eğlenceli olmaz.

Şimdi, yapay zekayı insanın kazanabilmesi için aptallaştırmalıyım, ama nasıl emin değilim. Mevcut AI mantığı desen eşleşmesine dayanır - eğer tahta desen alanından çıkmak için rastgele hareketler yaparsam AI muhtemelen oyunun sonuna kadar aptalca oynar.

Herhangi bir fikir AI tek bir hareketle "deha" dan "tamamen aptal" gitmeyecek şekilde aptal nasıl?


Böylece optimum, daima kazanan stratejiyi buldunuz ve uyguladınız. Neden şimdi biraz daha karmaşık oyunlara geçmiyorsunuz? Ya da, bir meydan okumaya ne dersiniz: Diğer oyuncu ne yaparsa yapsın, daima kaybeden bir strateji uygulayın . Ayrıca bakınız: Satranç / Antichess'i Kaybetmek
Martin Sojka

Belki de bu diğer soruya verdiğim cevaba bir göz atmak istersiniz: gamedev.stackexchange.com/questions/12858/…
Tyn

Tilki ve av köpekleri satranç kadar karmaşık değildir. Yanlış bir hamle ve AI kesin olarak kaybeder. AI'nın aptal görünmesini sağlamak çok kolaydır. Kalem ve kâğıt ve saatlerce stratejik düşünme kullanarak çözdüğüm gerçeği, oyuncularımın da aynı şeyi yapacağı anlamına gelmez.
Milan Babuškov

Yanıtlar:


7

Birçok uygulama, hareketler için rastgele ağırlıklı bir şansa yol açabilir - örneğin, optimal bir hareket yapma şansı ve yetersiz hareket yapma şansı. Bir hareketin ne kadar düşük olduğunu belirlemek çok zor bir sorun olabilir, ancak aynı zamanda AI'nızı çok daha akıllıca kararlar almaya yönlendirecektir.

Önemli not: Zorluk ayarı ne olursa olsun, AI'nin oyunu hemen kazanma şansını kaçırması muhtemelen kötü bir fikir olacaktır. Dönen oyunu bitirecek bir hamle yapma olasılığı varsa, her zaman alınmalıdır. Değilse, oyuncunun AI'nın nasıl davrandığına dair izlenimini kesinlikle yok edecektir.


Teşekkürler. Tüm basit desenler için akıllı oynamasına izin verdim. Oyuncunun özgürlük yolunun kolayca görünmediği iki karmaşık desen var, bu yüzden bu pozisyonda acemi bir insan oyuncuyu andıran hamleler oynayarak AI'yı kaybettiren ek desenler oluşturdum. Oyunun başlangıcında, kazanan pozisyonları rastgele değiştirerek bu tür pozisyonlar için birini kaybediyorum.
Milan Babuškov

10

Bu 'çözülmüş' bir oyun gibi göründüğünden, tek cevap bilgisayarın kasıtlı olarak kötü hamleler yapması gerektiğidir.

Hızlı bir çözüm, en iyi hamleyi hesaplamak, daha sonra o kadar iyi olmayabilecek başka bir yasal hamleyi hesaplamak olabilir. Yapay zekanın zorluk derecesi, mükemmel bir hamle üzerinden diğer iyi hamleyi alma şansı yüzdesi ile ölçülür.

  • Zor -% 90 iyi hamleler
  • Sert -% 70 iyi hamleler
  • Normal -% 50 iyi hamle
  • Basit -% 20 iyi hamle
  • Çocukken Düştü - <% 5 iyi hamle
  • Hotdog - Tümü Rastgele

10
Bu muhtemelen iyi bir fikirdir, ancak kasıtlı olarak yanlış hamleler yapıyorsa geciktirilmiş bir yapay zeka ile sonuçlanırsınız. Başımın üstünden, önce "yasal" hamleler için bir geçiş yapardım, daha sonra her hamle için ağırlık uygular ve ağırlık olarak sipariş ederdim, en yüksek ağırlık en iyi hamledir. Daha sonra zorluğa bağlı olarak daha iyi hareketlere karşı bir RNG yakınsaması yapabilirsiniz.
Jonathan Connell

4
@Jonathan Connell'e katılıyorum. Şunu düşünün: sandıkların arkasına saklanmak vs patlayıcı varillerin arkasına saklanmak vs sandıklar ve aktif bir el bombası arasında saklanmak. AI , hareketin ne kadar kötü olduğunu değerlendirmeli , daha iyi AI daha sık daha iyi hamleler yapmalıdır . Bir AI, vurduğu zamanın% 70'i ve zamanın% 30'u kendini havaya uçurursa büyük veya zor olmayacaktır. Sadece komik olacak.
doppelgreener

2
@Adrian Seeley Son yorumunuz en büyük soruna gerçekten değiyor; benim için yapay zekaya karşı oynayan bir insan, teorik olarak tamamen rastgele olsalar bile, her zaman içgüdüsel olarak seçimlerinin arkasında bir neden bulacaktır. Örneğin bir tahta oyununda bu, hareketleri tahmin etmede yineleme sayısını sınırlayarak önlenebilir, belki bu çözülebilir bir oyunda iyi bir çözüm olabilir mi?
Jonathan Connell

2
Her iki Jonathans'a da katılıyorum, ama '
Çocukken

2
@Jonathan Connell: Teklifinizi / çözümlerinizi cevap olarak göndermelisiniz. Bazı oylar hak ederdi.
bummzack
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.