dağıtılmış alfa beta budama


19

Dağıtılmış bir mimaride alfa-beta budama ile satranç için minimax arama ağacını işlememe izin veren etkili bir algoritma arıyorum . Bulduğum algoritmaların (PVS, YBWC, DTS aşağıya bakınız) hepsi oldukça eskidir (1990 en sonuncudur). O zamandan beri birçok önemli gelişme olduğunu varsayıyorum. Bu alandaki mevcut standart nedir?

Ayrıca lütfen beni bir aptalın DTS'nin açıklamasına işaret ettim, çünkü okuduğum araştırma kağıtlarından anlayamıyorum.

Yukarıda belirtilen algoritmalar:

  • PVS: İlke Varyasyonu Bölme
  • YBWC: Genç Kardeşler Bekle Kavramı
  • DTS: Dinamik Ağaç Bölme

burada tartışılıyorlar .



2
Bu, (minimax aramasını veya varyantlarından herhangi birini paralelleştirmek) özellikle zor bir sorundur. Bu yıl Richard Korf'un "Kombinatoryal Aramada Araştırma Zorlukları" başlıklı bir makalesinde şunlar okunabilir: "[...] alfa-beta budama ile minimax araması, paralel hale getirilmesi çok zor oldu" İçtenlikle şüphe duyuyorum Her zaman verimli bir şekilde yapan bir algoritma var ...
Carlos Linares López

Yani, ben sadece çok mütevazı bir 4. sınıf bilgisayar bilimi lisans olduğumu düşününce, serileştirilmiş bir algoritma için gitmeli miyim yoksa kabul edilebilir bir alt doğrusal hız beklemek mi denemeliyim?
23'te 28

Cevabımdaki gecikme için üzgünüm, bu Gelen Kutumda tamamen fark edilmeden geçti. Nitekim, nihai tasarrufların tamamen değerlendirme fonksiyonunuz tarafından verilen puanların arama ağacının yapraklarına dağılımına bağlı olmasını beklerim. Genel olarak, dağıtılmış bir arama algoritmasının serileştirilmiş bir alfa-beta arama algoritmasından çok daha iyi performans göstereceğine dair bir garanti yoktur. Böylece, kesinlikle mümkün olduğunca çok sayıda geliştirme (sipariş hamle, transpozisyon tabloları, vb.)
Deneyen

Paralel alfa-beta ile bazı başarılar elde ettim (temel olarak bağlandığınız wiki sayfasında açıklandığı gibi).
Jeremy List

Yanıtlar:


3

Evet, teori hem satranç analizi literatürü hem de genel paralel programlama teknikleri nedeniyle önemli ölçüde ve bir miktar ilerlemiştir. dağıtılmış kümeler / paralellik üzerine (satranç) alfa beta budama konusunda bazı yeni referanslar. ayrıca, erken dağıtılmış hesaplama satranç literatürünün bir çok temel paralel tasarım deseninden önce gelir ve bu çerçevede kavramsallaştırılabilir.

DTS'nin arkasındaki temel fikir, arama ağaçlarının hareket / düzen karmaşıklığına bağlı olarak hesaplama düğümleri arasında dağıtılmasıdır. "erken biten" kullanılmayan işlemciler, başlangıçta olabildiğince eşit olarak dağıtılabilen ancak düzensiz olduğu ortaya çıkacak bir başlangıç ​​tahsisatının ötesinde ek işler yapabilir. dolayısıyla temelde bir tür "yük dengeleme" ve "üretici / tüketici" kuyruğu ya da iş planlamasına benzer.

Bu boştaki işlemci (paylaşılan bellek kullanarak) boşta olduğunu yayınlar ve diğer işlemcilerin ağacında arama yapmasına "yardım etmek" için kullanılabilir. Meşgul işlemciler "ağacın durumu" verilerini toplar ve boşta işlemcinin incelemesi için paylaşılan bellekte saklar. Bu boş işlemci bu verileri analiz eder ve meşgul işlemcilerin hangilerinin (varsa) aramaya yardımcı olacak kadar karmaşık bir ağaca sahip olduğuna karar verir. Eğer böyle bir konum bulunursa, boşta işlemci bu düğümün sahibi olan işlemciyi bilgilendirir ve kuvvetleri "birleştirir".

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.