Mükemmel bir satranç algoritması olabilir mi?


15

Mevcut satranç algoritmaları, oyuncunun hamlesine ve rakibin hamlelerine bağlı olarak olası yolların ağacında yaklaşık 1 veya belki 2 seviye aşağı gider. Diyelim ki bir satranç oyununda rakibin olası tüm hareketlerini tahmin eden bir algoritma geliştirmek için hesaplama gücümüz var. Oyuncuların hareketlerine bağlı olarak rakibin herhangi bir anda alabileceği tüm olası yolları içeren bir algoritma. Hiç kaybetmeyecek mükemmel bir satranç algoritması olabilir mi? Ya da belki her zaman kazanacak bir algoritma? Teoride, olası tüm hareketleri tahmin edebilecek biri, her birini yenmenin bir yolunu bulmalı veya belirli bir yolun onu yenmek için kendiliğinden yol göstermesi durumunda farklı bir yol seçmelidir ...

edit-- sorum gerçekten nedir. En iyi şekilde oynayabilen mükemmel bir algoritma için hesaplama gücümüz olduğunu varsayalım. Rakip aynı optimal algoritma ile oynadığında ne olur? Bu, sınırlı sayıda (çok büyük ya da değil) hamle olan 2 oyuncu oyununun hepsinde de geçerli olacaktır. Her zaman kazanan optimal bir algoritma olabilir mi?

Kişisel tanım: Optimal bir algoritma her zaman kazanan mükemmel bir algoritmadır ... (asla kaybetmeyen biri değil, daima kazanan bir algoritmadır)



Bu soru çeşitli yanılgılara dayanmaktadır. Birincisi, satranç bilgisayarları bir ya da iki kat daha uzağa bakmaktadır: beş yıl önce sıradan bir dizüstü bilgisayarda bile, oldukça sıradan satranç programları 15-16 kat ileriye ve 25+ kritik çizgilere bakıyordu. İkincisi, cevaplarda gösterildiği gibi "mükemmel" in "her zaman kazanır" olarak tanımlanması mümkün değildir. Üçüncüsü, satranç motorları hamleleri "tahmin etmez": olası tepkilere karşı iyi hamleleri hesaplar ve oynarlar.
David Richerby

Yanıtlar:


13

Sorunuz eski kestaneye benziyor: "Karşı konulmaz bir güç taşınmaz bir nesneyle buluştuğunda ne olur?" Sorun sorunun kendisidir: açıklandığı gibi iki varlık aynı mantıksal olarak tutarlı evrende var olamaz. Her zaman kazanan bir algoritma olan optimal algoritmanız, bir tarafın kazanması ve diğerinin tanım gereği kaybetmesi gereken bir oyunda her iki taraf tarafından da oynatılamaz. Böylece tanımlanan algoritmanız tanımlanamaz.


3
Örneğin, ilk oyuncunun kazanmasına izin veren bir algoritma olabilir . Bu, önce oynamanın bir avantajı olduğu anlamına gelir. Ya da belki de en uygun algoritma sadece ikinci oyuncunun kazanmasına izin verir . Bu ikinci oyuncuya avantaj sağlayacaktır. Üçüncü olasılık (lar), bir oyuncunun kazanmayı garanti etmemesine rağmen her zaman berabere zorlamasını sağlayan bir algoritmadır (çünkü OP bilmek istediği gibi, örneğin her iki oyuncu da aynı kazanma stratejisini oynarsa , birinci veya ikinci oynamanın avantajı yoksa).
Realz Lahana Salatası

3
@Realz Evet, eğer bir "optimal algoritma" tanımını değiştirirseniz, istediğinizi kanıtlayabilirsiniz. Sorgulayıcının kullanmamızı istediği tanımı kullandım.
Kyle Jones

İnsanlardan çıkmaya çalıştığım cevap bu. Her zaman kazanan bir algoritma olamaz çünkü bu 2 oyunculu bir oyundur, bu nedenle algoritmanın çalışabilmesinin bir yolu yoktur çünkü her iki oyuncu da aynı algoritmaya sahip olabilir, bu yüzden ikisinden en az biri kazanmaya (kaybetme veya çizme) zorlanır . Aynı soruyu öğretmenime sordum ve bu sonuca
varması

3
@JohnDemetriou Sorun şu sonucun yanlış olması . O optimal bir algoritma o Beyaz oynamak ve kazanmak için izin verir varolduğunu tamamen mümkündür, ancak Siyah - Satranç çünkü birinci taşıyıcı avantajı bir simetrik oyun değil olamaz o Beyaz olmadığını basit bir nedenden dolayı algoritma kullanıyoruz!
Steven Stadnicki

Ben ilk gidiş şunu not edelim, mümkündür değil aslında bir avantaj ve her zaman izin veren bir algoritma aslında olduğu Siyah White'ın iyi oyun karşı kazanmak için - ama algoritması falan her zaman olabilir olduğunu hemen açık olmalı Siyah ya da Beyaz olsun bir kişinin kazanmasına izin verin . Bu yüzden insanlar 'mümkün olan en iyi sonuçtan' bahsediyor, çünkü 'her iki taraftan kazanmak' önemsiz bir şekilde imkansız.
Steven Stadnicki

23

Her şeyden önce, tüm farklı olasılıkları dikkate almasalar da, satranç algoritmalarının 2 kattan fazla göründüğüne inanıyorum; arama ağacının budanması, olası hamle sayısındaki kombinatoryal patlamayı önlemek için çok önemlidir.

Satranç gibi bir oyun için, kazananın kimliğine ilişkin üç olasılık vardır: ya oyuncu 1'in kazanma stratejisi vardır ya da oyuncu 2'nin kazanma stratejisi vardır ya da her iki oyuncu da en uygun oyun altındadır. Satranç oyunu için hangisinin geçerli olduğu bilinmemektedir. Bununla birlikte, satranç sonlu bir oyun olduğu için, satrancı en iyi şekilde oynayan çok büyük bir masadan oluşan bir bilgisayar algoritması vardır.

Tabii ki, böyle bir algoritma pratik olmaz. Ancak bazı daha basit oyunlar için, oyunun "değeri" (varsa oyuncu kazanır) belirlenmiştir ve en uygun algoritma geliştirilmiştir. Böyle bir oyun çözülmüş bir oyun olarak bilinir .

Kombinatoryal oyunlarla ilgilenen (denilen) matematiksel konu kombinatoryal oyun teorisidir . Matematikçiler, oyunun grafiğinde verilen izin verilen tüm pozisyonları ve hareketleri içeren bir oyunun değerini belirlemek için özyinelemeli bir yöntem geliştirdiler. Wikipedia girişinde veya konuyla ilgili ders notlarında bu algoritmanın bir tanımını bulabilmeniz gerekir.


evet, gerçekten, ama ben başka bir soru ile herhangi bir cevap cevap çalışıyordu, her iki oyuncu da optimum algoritma ile oynamak ne olur ???? bir oyuncu en uygun algoritmayı yenmek için bir yol bulursa ne olur?
John Demetriou

11
@JohnDemetriou Her iki oyuncu da en iyi şekilde oynadığında, biraz sonuç alırsınız. Bu sonuca oyunun değeri denir. Satranç beyaz kazanırsa, siyahın yapamayacağı hiçbir şey beyaz oyuncuyu en iyi şekilde oynayamaz. Beyaz, oyunun başlangıcından itibaren gelişen olası herhangi bir durumda siyahın yapabileceği herhangi bir hareket için mükemmel bir sayaç içeren büyük bir kitaba (veya böyle bir kitaptan hareketi hesaplamalı olarak üretebilir) sahiptir. BTW, soru işaretleri üzerinde chillax. Her cümle için bir tane yeterlidir.
rrenaud

Soru işaretleri için özür dilerim. Genel olarak yazdığım şekildedir. Ya satranç en uygun kazançsa. Beyaz ve siyah aynı kitaba ve sayaçlara sahipse? O zaman ne olacak?
John Demetriou

1
@JohnDemetriou "Optimal", "mümkün olan en iyi" anlamına gelir. Eğer satranç kurallarının matematiksel sonuçları, en iyi siyahın en uygun beyaza karşı yapabileceğidir (hatta beyazın zaferini mümkün olduğu kadar uzun süre geciktirebilir), o zaman siyah için en uygun algoritma bunu başarır, ve en uygun olmayan rakiplere karşı kazanabilir.
Ben

1
@JohnDemetriou Her zaman Beyaz olarak kazanan bir algoritma olması mümkündür ; Açıkçası bu algoritma, daha önce özetlenen nedenlerle her zaman Siyah olarak kazanamazdı (çünkü kendisine karşı oynuyordu). Hatta Siyah'ın 'sattığı' satrancın mükemmel bir şekilde oynandığı ve Siyah için herhangi bir muhalefete karşı kazanmayı garanti eden bir algoritma olduğu bile ortaya çıkıyor . 'Her zaman her iki taraftan kazanan bir algoritma' demek istiyorsanız o zaman bu terminolojiyi kullanmanızı öneririm; 'optimal' zaten iyi tanımlanmış bir anlama sahiptir.
Steven Stadnicki

8

Her şeyden önce, iyi satranç algoritmaları 1 veya 2 seviyeden daha fazla görünüyor. Saf ağaç araması kullanmak yerine, dikkate alınacak seçenek sayısını daraltmak için alfa-beta budama yaparlar . Açılışlar ve son oyunlar için, oyunun ortasında kullanılan ağaç aramadan daha iyi performansa sahip olduğu için büyük bir hareket veritabanı kullanıldığını unutmayın.

Soruya sorduğunuzda "satranç çözülebilir mi?" Varsayımsal olarak, bu sonucun yakında herhangi bir zamanda ulaşılıp ulaşılamayacağına dair görüşler farklı olmasına rağmen. Dama, örneğin 2007'de çözüldü, ancak çok daha az pozisyona sahip (satrançtaki sayının kare kökü etrafında). Daha fazla bilgi için Wikipedia makalesine bakın .

Bu arada, şu anki en iyi satranç AI'ları neredeyse her zaman dünya şampiyonlarıyla yenilgiye uğrar ya da berabere kalır; şu anda mükemmel olmasa da, algoritmalar en azından oldukça iyi!


6

Prensip olarak, satranç diğer tüm oyunlar gibi çözülebilir. Ancak diğer cevapların işaret ettiği gibi, bunun yakın zamanda gerçekleşmesi beklenmemektedir.

Düzenleme: Yorumlarda [1] bir aldatmaca olduğuna dikkat çekildi, bu yüzden bu cevabın geri kalanını atlayın.

Bununla birlikte, bu yönde bazı son gelişmeler olmuştur. [1] King's Gambit adlı satranç açılışının çözüldüğünü iddia ediyor : Beyaz için çekilen tek bir hareket var, diğer tüm açılış hareketleri ise Siyah için bir galibiyete yol açıyor. [1] oyun ağacını tam olarak keşfetmediğini, ancak yalnızca bu sonuçların yüksek olasılıkla elde edildiğini iddia ettiğini unutmayın.

[1] http://chessbase.com/newsdetail.asp?newsid=8047


1
Gerçekten çok ilginç bir yazı!
Paresh

O zaman bu uygun bir algoritma değildir. Optimal bir algoritmanın var olup olmayacağını soruyorum (bilgi işlem gücümüz varsa)
John Demetriou

1
Doğru, ve "optimal algoritma" tanımınızı her zaman kazanan bir algoritma olarak düşünürsek, böyle bir algoritma hem siyah hem de beyaz oyuncular için var olamaz . Daha büyük (ancak sonlu) oyun ağacının yanı sıra, çözümün zaten bilindiği Hex gibi diğer oyunlara kıyasla bu konuda satranç hakkında özel bir şey yoktur: İlk oyuncu Hex oynamak için en uygun (bilinen) stratejiyi kullanıyorsa , ikinci oyuncu tarafından kullanılan algoritma ne olursa olsun, ilk oyuncu her zaman kazanır.
Peter

Kralın Gambit'inin çözülmekte olan makalesi bir aldatmaca olduğu ortaya çıktı. "Bu yazı Rybka programının yazarı Vasik Rajlich ve ailesi 31 Mart'ta Polonya'nın Varşova kentinden Budapeşte, Macaristan'daki yeni bir daireye taşındı. Ertesi gün hareketli kutular ve ortamın koşuşturmasına rağmen telefon ve internet bağlantılarını Vas, nazikçe aşağıdaki röportaj kabul etti "- başka bir deyişle, bu 1 Nisan'da oldu ...
Joe K

-1

Her zaman bir satranç oyunu kazanıp kazanamayacağınız oyunun kurallarına bağlıdır. Bununla birlikte, Minimax adlı bir teknik / algoritma vardır (ayrıntılar için bkz . Https://en.wikipedia.org/wiki/Minimax ). Algoritma, özyinelemeli işlevli farklı senaryolarda hangi oyuncunun üst ele sahip olduğunu tahmin etmeye çalışmaktır. İşte bunun daha basit bir oyunla nasıl çalıştığının açık bir açıklaması: Tic-tac-toe https://www.neverstopbuilding.com/blog/2013/12/13/tic-tac-toe-understanding-the-minimax-algorithm13 .


Diğer cevaplar açıkça minimax'ı ifade etmese de, bazıları sonunda kendilerine veya alfa-beta budamasına yol açan bağlantıları, minimax'ı daha verimli bir şekilde uygulamak için bir algoritmayı ifade eder. Bu cevap henüz söylenmemiş ne ekliyor?
Ayrık kertenkele

-3

soruda gerçekten kavramsallaştırılmamış veya diğer cevaplarda işaret edilen büyük devlet alanını vurgulayan başka bir cevap ekleyecektir. öncülünüze katılmamanız gerekir:

Diyelim ki bir satranç oyununda rakibin olası tüm hareketlerini tahmin eden bir algoritma geliştirmek için hesaplama gücümüz var.

bilgisayar tabanlı satranç oyunları / algoritmaları alanını tanıtan ve analizinin temelde değişmediği ve hala sağlam olduğu (sonraki bilgisayar devrimi ve Moores yasasıyla bile) shannons 1950 makalesi, "Satranç Oynamak için Bilgisayar Programlama" konusuna bakın . hamle sayısını tahmin eder. kesinlikle astronomik. "devrim niteliğinde öngörülemeyen gelişmelerle bile asla akla gelebilecek donanımın içinde".

muhtemelen bu büyüklükteki sayıları anlamakta zorluk çeken, belgelenmiş psikolojik bir gerçek [3], muhtemelen birçok psikolojik yanlılıktan [2] biridir. Karşı-olgusal düşünceye de bakınız . [4] Süper bilgisayarlar büyük problemleri hesaplarken, tartışmasız olarak şu anda inşa edilmiş veya hiç yapılabilecek herhangi bir süper bilgisayar aralığında değil olması inşa etti. (ve birçok satranç meraklısı, hareket / pozisyon olasılıklarındaki bu "kombinatoryal patlamanın", kasten binyıllık bir oyuna tasarlanmış gibi görünen "lezzet" oyunlarının içsel bir yönü olduğunu iddia edecektir ).

bu nedenle satranç temelde daha küçük "çözülebilir" durum alanlarına sahip olan [bilgisayar bilimi ve oyun teorisi vb. üzerinde bazı çalışmalar olan] ve bazı anahtar yollarla bu çerçevede değerlendirilemeyen bazı oyunlardan farklıdır.

101234x10791081

Şimdi, dedi ki, oyunda arama alanını önemli ölçüde budamak için kullanılabilecek teorik içgörüler olabilir. bu 1950'den beri oldu, ama aslında hiçbir şekilde çığır açıcı bir şekilde değil.

Ayrıca bakınız

[1] satranç çözmenin hesaplama karmaşıklığı nedir, tcs.se

[2] yargı ve karar vermede insan yanlılıkları

[3] Psikoloji öğrencileri sayıları kavramsallaştırma üzerine araştırma yayınlar

[4] karşı olgusal düşünme


teorimde sorum, bilgisayar gücümüzün diyelim ki başladı, dünyanın bilgisayarlarının yarısını beyaz için bir küme ve diğer yarısı için siyah için birleştiriyoruz ....
John Demetriou

1
ahbap, şimdi var olan veya var olan her süper bilgisayarı bağlasa bile tutar. o zaman sorunuz "teoride, eğer teori yanlışsa ..." teorisine (fizik dahil) temelde açıkçası, evrende şu anda veya gelecekte atomlardan daha fazla yol hesaplayamayacağınızı söylüyor. .
vzn

3
doğru, ama soru DAHA FAZLA BİLGİSAYAR GÜCÜNE SAHİP OLDUĞUMUZLA başlayalım, bu yapılabilir mi? asıl soru bu, eğer gücümüz varsa, bir algoritma olabilir mi?
John Demetriou

+1, satrancı tam olarak çözmek için gereken hesaplama gücüne ulaşmak için fiziksel olarak imkansız olduğunu belirtmek için. Ayrıca, neden bu -1 ile -1 bilmiyorum, bu adil düşünüyorum ve diğer cevaplara iyi bir fikir katıyor.
Alejandro Piad
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.