Yuvarlak tabanlı bir masa oyunu için sinir ağı nasıl eğitilir?


11

Tic-tac-toe, satranç, risk veya başka bir yuvarlak tabanlı oyun gibi yuvarlak tabanlı bir masa oyunu için sinir ağı nasıl eğitileceğini merak ediyorum. Bir sonraki hamlenin çıkarım yoluyla elde edilmesi, oyun durumunu girdi olarak besleyerek ve çıktıyı mevcut oyuncu için hamle olarak kullanarak oldukça basit görünüyor. Bununla birlikte, bu amaç için bir yapay zeka eğitimi o kadar basit görünmüyor, çünkü:

  1. Tek bir hamlenin iyi olup olmadığı bir derecelendirme olmayabilir, bu nedenle tek hamlelerin eğitimi doğru seçim gibi görünmüyor
  2. Sinir ağını eğitmek için tüm oyunun tüm durumlarını (girişlerini) ve hareketlerini (çıkışlarını) kullanmak doğru bir seçim değildir, çünkü kayıp bir oyundaki tüm hareketler kötü olmayabilir

Yani yuvarlak tabanlı bir masa oyunu için bir sinir ağını nasıl eğiteceğimizi merak ediyorum? Tensorflow kullanarak tic-tac-toe için sinir ağı oluşturmak istiyorum.

Yanıtlar:


10

Harika bir soru! NN bu tür bir sorun için çok umut verici: Zürafa Satrancı . Lai'nin başarısı oldukça büyük bir anlaşma olarak kabul edildi , ancak ne yazık ki AlphaGo'nun spot ışığı almasından sadece birkaç ay önce geldi.( Zürafa motoru için o kadar da iyi olmasa da , Lai'nin daha sonra DeepMind tarafından işe alındığı her şey iyi çıktı ;)

Lai'nin yaklaşımının oldukça yardımcı olduğunu gördüm ve sağlam sonuçlarla destekleniyor.


"Yuvarlak tabanlı" yerine " sıralı " kullanmak isteyebilirsiniz, çünkü sıralı Oyun Teorisi ve Kombinatoryal Oyun Teorisinde tercih edilen terimdir ve bunlar oyunlara matematiksel analiz uygulayan alanlardır.

Listelediğiniz oyunlar, modern strateji tahta oyunlarından veya genel olarak güçlü bir tema kullanan ve genellikle mekanik ve elemanlar açısından soyut oyunlardan daha az kompakt olan oyunlardan ayırt etmek için " soyut " olarak da adlandırılır . Bu, soyut oyunların Sudoku gibi bulmacalarda olduğu gibi sıralı oyunlarla veya tahta oyunlarıyla veya hatta özellikle oyunlarla sınırlı olmadığı uyarısını taşır.

Bu oyun grubunun resmi adı genellikle Tic-Tac-Toe'nun "önemsiz" (çözülmüş ve kolayca çözülebilir) ve önemsiz olmayan (inatçı ve çözümsüz) olarak sınıflandırılmasıyla " partizan , sıralı, deterministik , mükemmel bilgi " dir. Satranç ve Go gibi oyunlar.


7

Ben bir satranç oyuncusuyum ve cevabım sadece satrançta olacak.

Takviye öğrenimi ile tarafsız bir ağ eğitimi yeni değildir, literatürde birçok kez yapılmıştır.

Ortak stratejileri kısaca açıklayacağım.

  • Bir ağın amacı pozisyon değerlendirmesini öğrenmektir .Hepimiz bir kraliçenin bir piskoposdan daha güçlü olduğunu biliyoruz, ancak ağın açıkça programlanmadan bunu bilmesini sağlayabilir miyiz? Piyon yapısı ne olacak? Ağ, bir pozisyonun kazanılıp kazanılmadığını nasıl değerlendireceğini anlıyor mu?

  • Şimdi, neden ağa ihtiyacımız olduğunu biliyoruz, onu tasarlamamız gerekecek. Tasarım, çalışmalar arasında kökten farklılık göstermektedir. Derin öğrenme popüler olmadan önce insanlar sığ ağı kullanıyordu. Günümüzde, çok katmanlı bir ağ öne çıkıyor.

  • Bir kez ağa sahip olduğumuzda, bir satranç motoru yapmanız gerekir. Sinir ağı sihirli bir şekilde satranç oynayamaz, bir satranç motoruna bağlanması gerekir. Neyse ki, konum değerlendirme kodu yazmamız gerekmiyor çünkü ağ bunu bizim için yapabilir.

  • Şimdi oyun oynamak zorundayız. Bazı yüksek kaliteli satranç veritabanlarıyla başlayabiliriz veya bunun yerine AI ajanımızın başka bir oyuncuyla (örneğin kendisi, başka bir AI ajanı veya bir insanla) oyun oynamasını sağlayabiliriz. Buna pekiştirici öğrenme denir .

  • Oyun oynarken ağ parametresini güncelliyoruz. Bu, stokastik gradyan kökenli (veya diğer benzer tekniklerle) yapılabilir. Eğitimimizi istediğimiz sürece tekrarlıyoruz, genellikle milyonlarca yineleme.

  • Son olarak, satranç için eğitimli tarafsız bir ağ modelimiz var!

Ayrıntılar için aşağıdaki kaynaklara bakın:

https://chessprogramming.wikispaces.com/Learning


Burada sadece smallchess var
quintumnia

Bu, özetlemeden harici bir bağlantı sağlamanın gelecekte nasıl zarar verebileceğinin bir örneğidir. Sağlanan bağlantı artık öldüğü için
Greg Hilston

4

Bence takviye öğrenimine aşina olmalısın. Makine öğreniminin bu alanında, ajan çevresi ile etkileşime girer ve bundan sonra temsilci bir miktar ödül alır. Ajan, çevrenin oyun olduğu sinir ağıdır ve ajan kazanırsa +1 veya kaybederse -1 kazanabilir. Ajan yetiştirmek için bu durumu, eylemi, deneyim deneyimini kullanabilirsiniz. David Silver'ın youtube ve Sutton'ın kitabındaki derslerini de tavsiye edebilirim.

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.