'Othello' çözüldü mü?
(arxiv.org)- 8×8 Othello/Reversi için, iki taraf da kusursuz oynadığında nihai sonucun beraberlik olduğu hesaplamalı olarak kanıtlandı; bu da araştırmacılara göre oyunun zayıf çözüm düzeyine ulaştığını gösteriyor
- Olası oyun kayıtlarının yaklaşık 10^58, tahta konumlarının ise yaklaşık 10^28 olduğu tahmin edildiğinden, arama uzayı çok büyük ve bu nedenle oyun, daha önce çözülmüş olan checkers'tan çok daha zor bir problem olarak kalmıştı
- Bu sonuç, başlangıç konumunun oyun kuramsal değerini ve bu değere ulaştıran stratejiyi ortaya koyuyor; oyundaki tüm ara konumları hesaplayan güçlü çözüm değil
- Araştırmacılar, Othello yazılımı tabanlı sezgisel arama ile alpha-beta search kullandıklarını ve kesin çözüme ulaşmak için gereken arama ölçeğinin önceki tahminlerden daha küçük olduğunu belirtiyor
- Sonucun yeniden üretilebilmesi için ham veriler ve programlar GitHub, Zenodo ve figshare'de yayımlandı; böylece saf strateji oyunlarını çözme araştırmaları için doğrulanabilir bir örnek olarak kullanılabilir
Othello'nun hesaplamalı çözümü
- 8×8 tahtadaki Othello zayıf biçimde çözüldü ve başlangıç konumunun oyun kuramsal değeri beraberlik olarak hesaplandı
- Her iki taraf da hata yapmadan en iyi oyunu oynarsa sonuç beraberlik oluyor ve bu çalışma bunu hesaplamalı olarak kanıtlıyor
- Figure 1'de en iyi oyun kayıtlarından biri ve nihai sonuç sunuluyor
- Bu varyantta herhangi bir anda sapma olursa, araştırmacıların yazılımı rakip taraf olarak beraberliği veya galibiyeti garanti ediyor
- Bu sonuç, insan Othello uzmanlarının uzun süredir öngördüğü beraberlikle uyumlu; araştırmacılar bu yüzden sonucun kendisini şaşırtıcı bulmuyor
Çözümün kapsamı ve oyun kuramsal değer
- Tam bilgili bir oyunu çözmek, iki tarafın da kusursuz oyun sergilemesi durumundaki nihai sonucu, yani oyun kuramsal değeri belirlemek anlamına gelir
- Çözülmüş oyunlar genelde üç düzeyde sınıflandırılır
- Ultra-zayıf çözüm (ultra-weakly solved): Yalnızca başlangıç tahtası konumunun oyun kuramsal değerinin bilinmesi
- Zayıf çözüm (weakly solved): Başlangıç konumunun oyun kuramsal değeriyle birlikte, makul hesaplama kaynakları içinde iki tarafın da bu değere ulaşmasını sağlayan stratejilerin bilinmesi
- Güçlü çözüm (strongly solved): Oyun sırasında ortaya çıkabilecek tüm olası konumların sonucunun hesaplanması
- Bu çalışma, Othello'nun zayıf çözüldüğü bir örnek; tüm olası pozisyonları hesaplayan güçlü çözüm değil
- checkers da aynı anlamda zayıf çözülmüş bir oyun olarak veriliyor
Othello'nun neden bu kadar uzun süre çözümsüz kaldığı
- Othello, stratejik derinliği yüksek popüler bir oyun; 19. yüzyılda İngiltere'de icat edildi, 20. yüzyılda bugünkü biçimi Japonya'da yaygınlaştı ve dünya genelinde oynanıyor
- Dünya şampiyonası 1977'den beri her yıl düzenleniyor; bu da küresel popülerliğini gösteriyor
- Arama uzayı son derece büyük
- Bir konum başına ortalama yaklaşık 10 hamle
- Bir oyunun tamamında ortalama yaklaşık 58 hamle
- Olası oyun kayıtları yaklaşık 10^58
- Olası tahta konumları yaklaşık 10^28
- Bu ölçek, şimdiye kadar çözülmüş zor oyunların, özellikle de checkersın, çok üzerindeydi
- Bu devasa arama uzayı nedeniyle Othello, bilgisayar biliminin uzun soluklu problemlerinden biri olarak kaldı
Arama yöntemi ve hesaplama verimliliği
- Araştırmacılar zayıf çözümü hedefleyerek alpha-beta search kullandı
- Oyun çözme algoritmaları, hedefe ve oyunun doğasına göre değişir
- Zayıf çözüm için alpha-beta search sık kullanılır
- Güçlü çözüm için retrograde analysis sıkça tercih edilir
- Çok uzun çözüm dizilerine sahip bulmacalar için df-pn search gibi yöntemler geliştirilmiştir
- alpha-beta search, oyun grafiğini derinlik öncelikli biçimde sıralı olarak tarayan bir algoritma olduğundan, yalnızca basit paralelleştirmeyle arama verimliliğini büyük ölçüde artırmak zordur
- Paralel arama için çeşitli yöntemler araştırılmıştır
- Paylaşımlı bellek ortamlarında YBWC ve Lazy SMP popüler yöntemlerdir
- Dağıtık bellek ortamlarında APHID ve ABDADA ilgili algoritmalar arasında gösterilir
- Dağıtık bellek ortamlarında düğümler arası bant genişliği ve gecikme gibi koşullar büyük farklılık gösterdiğinden, geliştiriciler ortama uygun algoritmayı seçmek veya yenisini geliştirmek zorunda kalabilir
- Modern bilgisayar kümeleri kullanılsa bile Othello'yu çözmek büyük bir engeldi; ancak güncel Othello yazılımının değiştirilerek arama verimliliğinin artırılması bir dönüm noktası oldu
Çözülmüş diğer oyunlar ve olası kullanım alanları
- Othello'dan önce çözülmüş zor oyunların en güncel örneği olarak checkers veriliyor
- Connect Four, Qubic, Go-Moku, Nine Men’s Morris ve Awari gibi trivial olmayan oyunlar da çözülmüş örnekler arasında sıralanıyor
- Bir oyunu çözmenin zorluğu büyük ölçüde oyun içindeki konum veya durum sayısına bağlıdır
- Bir oyunu çözmek, yalnızca nihai sonucu ortaya koymakla kalmaz; o oyun temelinde bulmaca üretimi için de kullanılabilir
- Araştırmacılar, yeniden üretim için ham verileri ve programları GitHub, Zenodo ve figshare üzerinden sağlıyor
1 yorum
Hacker News görüşleri
“2.958.551 konum arasından 2.587 konum seçip sonuç hakkında bir hipotez kurduk; bu hipotezlerin hepsi doğruysa başlangıç konumunun beraberlik olduğunu kanıtlamış oluruz” deniyor ama daha ayrıntılı bir açıklama yok
Bu, oyunun tamamen çözüldüğünden çok, yazarın kazanma varyantlarını epey uğraşıp aradığı ama bulamadığı izlenimini veriyor
“Başlangıç konumunun beraberlik olduğunu kanıtlayabilecek bir altküme seçmenin birçok yolu var, ama biz Algorithm 1 ile küçük bir altküme elde ettik” deniyor
Algorithm 1’in, “50 boş kareli tüm konumların tahmin skorlarını alıp, bu altkümedeki tüm konumlar çözülür ve çözümler tahminlerle uyuşursa başlangıç konumunun da sonuç olarak çözülmesini sağlayan” bir altküme döndürdüğü açıklanıyor
Genel olarak makalenin anlatımı sezgisel değil. Yazar haklı olabilir ama mantığı gerçekten oturup adım adım takip etmek gerekiyor gibi; ilk izlenimim şüpheci yönde
Bu tür kanıtlar başka yerlerde de var. Örneğin Dört Renk Teoremi de sonlu sayıda konfigürasyona indirgenip sonra elle renklendirilmişti
https://github.com/eukaryo/reversi-scripts/blob/main/reversi... içindeki betik, her şeyin doğru olduğu varsayımıyla kusursuz oynuyor. Depodaki diğer betikler, 36 boş kareli konum çözümleriyle hesaplanan verileri kullanıyor; bu kadarı sıradan bir makinede de yapılabilir gibi görünüyor
Özünde yapı, zayıf çözümden erişilebilen 37 ile 64 boş kareli tüm konumları içeren 300 GB’ın altındaki bir tabloya bakıyor; 36 veya daha az boş kareli konumları ise edax
-solveile çözüyor gibiOthello, temel heuristic kurallarla bile ne kadar güçlü olunabileceğini göstermeye çok uygun bir oyun
Oyun ilerlerken asla oynanmaması gereken kareler var; tersine mümkünse mutlaka oynanması gereken kareler de var
Sadece bu kuralları uygulasanız bile epey iyi bir rakip çıkıyor ortaya ve insanların çok basit şeylere bile ne kadar hızlı “zeka” atfettiğini görmek ilginç
Benzer basit heuristics kullanan bir uygulamayı, yine aynı derecede basit ama korkunç derecede kötü olan “en çok taşı çevir” stratejili bir uygulamayla karşılaştırmışlardı
Heuristic algoritma ezici biçimde kazanmıştı; 60’a 4 ya da daha da kötü bir skor olduğunu hatırlıyorum
19 boş kare kaldığında oyunun geri kalanını tamamen çözüyordu ve bu oldukça etkileyiciydi
Othello, iki AA pille çalışan 10 dolarlık LCD el oyunlarında bile bulunan bir oyundu
Oyunla ilgileniyorsanız, bilgisayar bilimi ve yapay zeka araştırmacıları arasında da popüler olan Othello Dünya Şampiyonası şu anda İtalya'nın Roma kentinde sürüyor
Maçlar liveothello.com ve Youtube @WorldOthello üzerinden canlı yayınlanıyor
Othello'nun da dama gibi üst düzey maçların çoğunun beraberlikle bittiği bir oyun olup olmadığını merak ediyorum
Harika
Yaklaşık 15 yıl önce kardeşimle oynadığım daha basit bir oyunu çözmüştüm. Tahtanın iki yanında yaklaşık 10’ar çukur bulunan ve içine taş konan bir Afrika oyunuydu
Bir alfa-beta motoru yazdım ve bizim oynama biçimimize göre saçma derecede her zaman kazandıran bir strateji keşfetti. Ondan sonra birden bütün oyunları kazanmaya başladım ve kardeşim bir daha benimle oynamak istemedi. Bilgisayar bilimciye karşı optometristin tipik mücadelesiydi
Yaşlı Afrikalıların Mancala oynayışını izlerseniz öğrenecek çok şey var. İnanılmaz hızlı oynuyorlar ve hilenin oyunun bir parçası hâline geldiği bir poker hissi de var
Taşları yeterince hızlı dağıtırsanız bir kabı atlayabilir ya da bir taşı fazladan bırakıp avantaj elde edebilirsiniz
Ben o kadar becerikli değilim ve ailemle oynadığım için hile yapmıyorum. Yine de çok farklı bir oyuna dönüşüyor. İngiliz hanımefendilerinin çay içerken yavaş yavaş Mahjong oynamasıyla, Çin'de kumarhanelerde para üzerine oynanması arasındaki fark gibi
Çok fazla kazanır ya da çok fazla kaybederseniz oyundan keyif almamaya başlarsınız
Ama optometrist olmanın burada neyle ilgili olduğunu bilmiyorum
Bu gerçek mi? Yazarın tek kişi olması ve daha önce adını duymadığım bir derin öğrenme girişiminde çalışması bana biraz tuhaf geldi
Herhâlde şu anda hakem değerlendirmesindedir, değil mi?
Ayrıca Othello tam olarak Riemann hipotezi düzeyinde bir şey değil. O kadar çalışılmış bir alan değildi ve belki de hâlâ erişilebilir kolay problemler kalmıştı
Othello, çocuklarla birlikte oynamak için gerçekten en iyi oyunlardan biri.
Kuralları basit, öğrenilecek kalıplar var ve bir sürü taşı birden çevirmenin verdiği keyif de cabası. En önemlisi, sadece çocuklar için değil yetişkinler için de aynı derecede eğlenceli.
6 yaşındaki bir çocuğu ezmeden, ama oyunun da sırf şansa dayalı basit bir oyun gibi hissettirmemesini sağlayarak ben de gayet keyif alabildim
https://mancala.fandom.com/wiki/Hus
Teoride şans yok, ama pratikte zincirleme tepkimeler yüzünden o kadar ileriyi hesaplamak mümkün olmuyor.
Tahtayı kendiniz de kolayca yapabilirsiniz
Oyunu denemek isterseniz, çocuklarla birlikte yaptığımız bir sürümü buraya koymuştum: https://jawj.github.io/fliptiles
“AI” oyuncusu çok zayıf
Yeni bir oyun öğrenmiş oldum
Bilgisayar 33 puan aldı, ben 31
Othello'nun önemsiz olduğunu düşünüyorsanız Zebra'yı deneyebilirsiniz
Orijinal yazarın sitesi: http://radagast.se/othello/
GitHub kaynak kodu: https://github.com/hoshir/zebra
Othello'da sevdiğim şey, hamle ile alan arasındaki çelişki
Oyun ilerlerken kendi turumda hamle yapma eylemi bir bakıma benim aleyhime işliyor, ama yine de mutlaka oynamak zorundayım.
Bu yüzden, alan fazla daralıp kesin bir etki gücünü yeniden kazanmanız gereken an gelene kadar, alan kaplarken aynı zamanda küçük ve içeride kalmanız gerekiyor
Bununla bağlantılı olarak, 6x6 Reversi'yi kusursuz oynayan bir şey de var
https://mame.github.io/6x6-reversi-oracle/
Kaynak: https://twitter.com/mametter/status/1476379841004183556
8x8'in hâlâ çözülmediğini şimdiye kadar bilmiyordum