Gomoku için, sinir ağlarını veya genetik algoritmayı kullanmak biraz zaman alabilir ve her ikisi de biraz zaman alır ve daha sık değil, istediğiniz şekilde gitmeyin. Gomoku oyun ağacı oldukça büyüktür, ancak eşlemenin aksine minimax, oyun ağacı budaması ve iyi bir sezgisel işlev (yarım ve tam 2s, 3s, 4s, ... vb. Sayma içerir) ile iyi bir AI alabilirsiniz. tüm alanı kapatalım.
Alfa beta budama ve minimax hakkında bilginiz yoksa bkz. Https://www.cs.cornell.edu/courses/cs312/2002sp/lectures/rec21.htm
Gerçekten sinir ağları veya genetik algoritmalar kullanmak istiyorsanız, öğrenme deneyimi için yapabilirsiniz. Sinir ağları ile ilgili olarak, bunu yapmanın bir yolu şudur:
- Bir kart durum girişi (boş, siyah, beyaz için 0,1,2 dizisi) alan ve kart durumunun 'iyilik' değerini çıkaran sezgisel bir işlev tanımlayın. Sinir ağı sezgisel işlevimizdir.
- Bu oyunda hamlelerin optimum olduğunu varsayarsak, şu anki en iyi hamle (mevcut parametrelerinizle) ve verilerinizin hangi hamlenin söylediği arasındaki farktan yararlanın. Hata fonksiyonumuzu bu şekilde tanımlıyoruz! Böylece bu farkı en aza indiriyorsunuz, böylece sinir ağınızdaki en güçlü hareketin söylediği şey, oyun verilerinizin en güçlü olduğu şeydir. (Bu hata fonksiyonunun optimizasyonu, backpagagation veya genetik algoritma ile yapılabilir).
- İdeal olarak, bu noktaya kadar artık ('güçlü') sinir ağı tabanlı değerlendirme fonksiyonunuzu, sabit kodlu buluşsal yöntemler yerine oyun ağacı taşıma değerlendirmeleriniz için kullanabilirsiniz.
Tabii ki bu sadece bir yol ve önce oyun verilerini bulmanız gerekecek.
Yukarıda belirtildiği gibi bir sinir ağında parametre optimizasyonu veya oyun ağacı arama gibi genetik algoritma uygulayan bir yan not, bu nedenle sorun ayarını nasıl tanımladığınızdan emin olduğunuzdan emin olun! Aynı şey, bir sinir ağını uygulamak için alternatif yollar için de geçerlidir.
Son olarak, gomuku'nun çözüldüğünü bilmek yardımcı olur. Başkalarının düşünce ve fikirleri için /programming/6952607/ai-strategy-for-gomoku-a-variation-of-tic-tac-toe adresine bakın
.