Yapay Zeka Bilgisayar Satrancı Nasıl Kullanılır


19

Bazı (tarihi) makalelerde satranç yapay zekanın drosophila'sı olarak adlandırılmıştır. Mevcut araştırmada, sadece bir arama algoritmasının en iyi gelişmiş bilgisayar bilimi uygulaması olduğunu düşünürken, AI-tekniklerini uygulayabileceği (ve uygulayabileceği) alanların hala mevcut olduğuna inanıyorum.

Basit bir örnek , programın belirli pozisyon türlerine uygun olmadığı için, programa açılışta belirli hareketlerin kullanılıp kullanılmayacağını veya kullanılamayacağını öğretebileceği kitap öğrenimi açmak olabilir . Bir tür yeniden öğrenim öğrenimi kullanabilir ve bunu otomatikleştirebiliriz: Programı kendi kendine oynayabilir ve hat kazanma olasılığını artırabilir ve hat kaybetme olasılığını azaltabilirim.

Daha karmaşık bir örnek, bir öğrenme değerlendirme fonksiyonunu kullanmaktır (örneğin, parça-kare tabloların değerlerini değiştirebilir ). Ancak, düşünüyorum:

  • muazzam miktarda gerçekçi pozisyon olması nedeniyle tüm gürültü göz önüne alındığında (gerçekçi açılış çizgilerinin aksine)
  • ve bir bilgisayar satranç oyununun maliyeti (süresi) ve yükleri oynama ihtiyacı ile.

Bunu nasıl etkili bir şekilde yapabilirsiniz? (veya diğer tekniklere, örneğin sinir ağlarına bakmalıyım.)


3
Standart yaklaşım alfa-beta budama minimakstır. buluşsal yöntemle. Yapay zekaya ait Arama ailesinden, makine öğrenen aileden geliyor.
Lyndon White

2
Gerçek satranç ustaları temelde daha önce oynadıkları tüm oyunları hatırlarlar.

2
Karşı iddia da var. Kimin söylediğini hatırlayamıyorum ama böyle gidiyor. Biyologlar, fizyoloji, genetik vb. Hakkında daha derin ve daha derin bir anlayış elde etmek için drosophila üzerinde deneyler kullanırlar. Yapay zeka insanları, satranç oynarken daha iyi ve daha iyi olmak için satranç bilgisayarları yazarlar. Bu bize bilgisayar bilimi hakkında pek bir şey öğretmez; süper hızlı, süper güçlü drosophila yetiştiren ve onların birbirleriyle savaşmasını sağlayan biyologlar gibi olurdu.
David Richerby

mecaz wrt, muhtemelen "yapay zekanın drosophila" dan farklı yönlerden daha fazladır, esp ~ 1997 kadar kararlı bir şekilde üst insanı dövmek değildi ve araştırma devam ediyor, vb
vzn

Yanıtlar:


16

Satranç için tüm eyalet alanı muazzamdır - kabaca 10 43 (Shannon numarası (Shannon, 1950) , ( Wikipedia )) olarak tahmin edilebilir .

Sunduğunuz fikir - Oyunu öğrenmek için birbirleriyle oynayan Takviye Öğrenme ajanları - Tavla - TD-Gammon (Tesauro, 1995) , ( Sutton & Barto tarafından Güçlendirme Öğrenimi Bölümü ) başarıyla uygulandı . Ayrıca sinir ağlarını oyunun değer işlevini tahmin etmek için kullandı. Bununla birlikte, Tavla'daki durumların sayısı satrançtan önemli ölçüde daha küçük olduğundan, bu sorun çok daha basittir: 18.528.584.051.601.162.496 ( Tavla Forum Arşivi dizisi ).

Bununla birlikte, birkaç başlangıç ​​hamlesinden sonra oyunu bitirir ve sadece "iyi açıklıklar" öğrenmeyi hedeflerseniz, benzer bir yaklaşımla başarılı olabilirsiniz. Ana sorun, açılış oyunundan sonra oyunu değerlendirmek olacaktır, ki bu zor görünüyor. İyi bilinen açıklıklardan sonra sadece belirlenen pozisyonlara benzerlik ölçüsü yeterli değildir, çünkü rakip aptalca bir hamle yapacaksa pozisyon onlardan uzak olabilir (bu yüzden öğrenme aracısının hatası nedeniyle olmaz, bu yüzden "yanlış "iyi bir sonuç olarak değerlendirilmelidir).

Referanslar:


1
Gerçekten de en zor kısmı, açılışların sonucunu puanlamak için ampirik bir yol bulmaktır. Farklı açıklıklar farklı şekillerde iyidir, bu nedenle muhtemelen çok sayıda kabul edilebilir açıklık vardır.
JDong

3

Ders kitaplarındaki AI veya ML'nin olası (veya garip) yöntemlerinin denendiğinden ve basit kaba kuvvetle karşılaştırıldığında hemen hemen başarısız olduğundan eminim.

Benim kişisel perspektifim, satrancın artık modern yapay zekaya hiç ilgisi olmadığı ... Basitçe, çünkü çözüldü : sadece modern bir bilgisayar ve kaba kuvvet kullanarak. Bu yüzden, daha verimli bir şekilde çözmek için "akıllı" bir sistem oluşturmaya ihtiyaç olduğunu düşünmüyorum (cep telefonumda iyi çalışıyor) ve bazı bilinmeyen ve daha fazlasına bile ihtiyaç olmadığına inanıyorum. "akıllı" bir yaklaşım var.


1
Bunun neden reddedildiğinden emin değilim. Satrancın "çözüldüğü" iddiası biraz yanlıştır, çünkü hiçbir bilgisayar olası bir pozisyona bakamaz ve onu mükemmel şekilde değerlendiremez. Bununla birlikte, iliasfl satrancın AI araştırmalarına olan çekiciliğinin çoğunu kaybettiğine dikkat çekiyor. Bir kere, en iyi bilgisayar satranç programları artık yeterli işlem gücü ve zaman verildiğinde en iyi insanlardan çok daha güçlüdür. Bu, programcılar için bir algoritmanın ne kadar iyi çalıştığını değerlendirmeyi giderek zorlaştırır.
elixenide

1
Teşekkürler, kaba kuvvetin bir çözüm olduğu anlamıyla çözüldüğünü söyledim. Tabii ki AI topluluğu (genel olarak sadece burada değil) bu "çözümden" memnun değil. Bununla birlikte, zaten bu görevi çözmek için "akıllı" davranış sunan ve hatta en iyi insanları, dönemi kazanan bir hesaplama sistemimiz var. Şahsen, satrancın, kariyerlerine saldırmak için harcanan mevcut akademisyen kitlesinin emekli olduğu birkaç yıl sonra yapay zeka için konu dışı olacağına inanıyorum.

Mevcut bilgisayar satranç uygulamalarını 'kaba kuvvet tarafından çözüldü' olarak adlandırmam - hala büyük miktarlarda oyun sahalarını arıyorlar, ancak orada kaba olmayan kuvvetin birçok bileşeni var. Tabii ki, onlar diğer sorunlara iyi genelleme yapacak bir "insan tarzı" bir çözüm değil, ama bir "insan tarzı" satranç AI olsaydı, o zaman birden çok büyüklükte daha az sipariş olacağını şaşırmam mevcut özel çözümlerden daha verimli ve basittir.
Peteris

Bence bu cevap ve yorumları Google'ın AlphaZero'su tarafından açıkça reddedildi: en.wikipedia.org/wiki/AlphaZero Stockish kurulumu hakkındaki eleştiriyi kabul etseniz ve tüm maçları çizmiş olsalar bile, bu seviyeye ulaşmış bir sistem birkaç saatlik eğitim ile açıkça üstün.
Kamal

2

Bir AI probleminin nasıl çözüleceğini belirlemek için onu tanımlamanız gerektiğini belirtmek gerekir. İster öyle Tam gözlemlenebilir veya Kısmen gözlemlenebilir o olup olmadığını ve Deterministik veya Stokastik / Şans.

Satranç Ayrıca (dama gibi, ve örneğin Git) deterministik olduğu (tavla, Monopoly veya örneğin Poker aksine) Son olarak, düşmanlar vardır ve, Tam gözlemlenebilir olduğu için bir sonraki en iyi hamleyi belirlerken kullanımı yararlı olduğunu olarak rakip Arama türünü MiniMax gibi algoritmalar. Bir sorunu sınıflandırmak, ne tür bir arama algoritması uygulamak istediğimizi belirlememize yardımcı olabilir. Ve satranç durumunda, Düşman Arama uygun olacaktır.

Minimax özellikle

Ö(bn)

Ö(bm)

Yani satranç durumunda, b 35 ve m 100 olurdu. Alfa-beta kesme gibi, etrafında daha verimli olmanın yolları veya stratejileri vardır.


Ayrıca bu bağlamda, birkaç parçaya kadar satranç için son oyunların zaten tablo haline getirildiği - bir başka optimizasyon.
BartoszKP

Bu normal bir yaklaşımdır, ancak bir makine öğrenme yaklaşımı değildir. Soru, Makine öğrenimi etiketini kullanıyor.
Lyndon White

@Oxinabox her ne kadar doğru olsa da, asker başlıkta veya bedende makine öğrenimi yaklaşımıyla ilgilendiğini, ancak aklında olan bir yaklaşımın bir örneğini paylaştığı yerde hiçbir şeyden bahsetmedi. Sorunu Machine Learning ile sınırlamaya veya tek bir öğrenme algoritmasına (NN) gerek yoktur.
Iancovici

Gerçekten, bu iyi
Lyndon White

Kesin olmak gerekirse, satranç Tam Gözlemlenebilir değildir, çünkü bilmediğimiz bir pozisyon verildiğinde, örneğin bir kral veya kale zaten hareket ettirilmiş veya hareket ettirilmemiştir, ancak hareket üretimi için önemlidir (rıhtım hala mümkün mü?), ancak bir programcı, hareketsiz kral / kaleyi ve taşınan kral / kaleyi farklı figürler olarak farklılaştırarak konum gösterimini değiştirerek Tamamen Gözlenebilir yapabilir, ancak bazı zorluklar ekler.
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.