Donanım satranç analizini nasıl etkiler
İşlemci çekirdekleri, hash boyutu ve dizüstünün bir sunucudan farklı analiz etmesinin nedeni
Bir satranç motorunu çalıştırdığında yalnızca bir program açmış olmuyorsun: bilgisayarından saniyede milyonlarca pozisyonu taramasını, her birini değerlendirmesini ve en iyi kanaatini bildirmesini istiyorsun. Bunu ne kadar iyi yapacağı doğrudan üzerinde koştuğu donanıma bağlı. Yine de bu belirleyici etkenden satranç platformlarında neredeyse hiç söz edilmez.
Gelişimini ciddiye alan herkesin donanımla analiz kalitesi arasındaki ilişkiyi bilmesi gerekir. Aynı pozisyonun farklı cihazlarda neden farklı değerlendirildiğini, telefonundaki "derinlik 20" ile güçlü bir masaüstündeki "derinlik 20"nin neden aynı şey olmadığını bu ilişki açıklar.
İşlemci: analizin arkasındaki beyin
Stockfish gibi motorlar her şeyden çok işlemciyi zorlar. İşleri oyun ağaçları kurup taramaktır: hamle ve karşılıklardan oluşan, partinin çok ilerisine uzanan dallanmış diziler. İşlemci ne kadar hızlıysa motor saniyede o kadar çok pozisyon değerlendirir (saniyedeki düğüm sayısı, yani NPS ile ölçülür).
Modern bir masaüstü işlemcisi Stockfish ile saniyede 30-50 milyon düğüme ulaşabilirken, bir mobil işlemci 3-8 milyonda kalır. Kabaca 5-10 katlık bu fark doğrudan derinliğe yansır. Aynı sürede masaüstü pozisyonun çok daha derinine iner ve telefonun görmeye vakti olmayan taktik dizileri ile konumsal incelikleri bulur.
Çok çekirdekli işlemciler bir de paralel aramayı getirir. Stockfish tek yerine 8 iş parçacığı kullandığında sekiz kat hızlanmaz — eşgüdüm maliyeti payın bir kısmını yer — ama aynı sürede belirgin biçimde daha derine ulaşır. Platformların sunucu analizinin, senin cihazında koşan analizden genellikle daha iyi olmasının nedeni budur.
Hash tabloları: bellek önemlidir
Genellikle kısaca "hash" denen transpozisyon tablosu, motorun daha önce değerlendirdiği pozisyonları sakladığı bir bellek alanıdır. Motor aynı pozisyonla başka bir hamle sırasıyla yeniden karşılaştığında — satrançta bu sürekli olur — her şeyi baştan hesaplamak yerine önceki değerlendirmesine bakar.
Bu tablonun boyutu analiz kalitesini doğrudan etkiler. Daha çok hash ile motor daha fazla incelenmiş pozisyonu elinde tutar ve aynı işi iki kez yapmaz. Hash yetersizse gördüğü pozisyonları sürekli "unutur" ve hesap gücünü boşa harcar.
Genel bir ölçü olarak kullanılabilir belleğin yarısı kadar ayrılır, ancak çoğu kullanıcı için 512 MB ile 2 GB arası rahat bir aralıktır. Fazla yüksek bir değer işletim sistemi belleği diske taşımaya başladığında her şeyi yavaşlatır.
ChessOnyx'in sunduğu gibi tarayıcı içinde çalışan analizde bellek daha kısıtlıdır. WebAssembly, tarayıcının koyduğu bellek sınırları içinde çalışır. Tarayıcı analizinin son derece yetenekli olmasına rağmen cömert bellekli yerel bir masaüstü uygulamasına tam olarak yetişememesinin bir nedeni de budur.
NNUE: sinir ağı devrimi
Bugünkü Stockfish pozisyon değerlendirmesinde NNUE (Efficiently Updatable Neural Network) kullanır. Yüz milyonlarca pozisyonla eğitilmiş bu sinir ağı, motorun konumsal kavrayışını eskiden elle yazılan değerlendirme fonksiyonuna kıyasla çarpıcı biçimde geliştirdi.
NNUE, düğüm başına eski yaklaşımdan biraz daha pahalıdır; her pozisyonun değerlendirilmesi bir tık uzun sürer. Ama değerlendirmeler o kadar isabetlidir ki motor düşük derinliklerde bile daha iyi karar verir. Sonuçta çok daha güçlü bir oyun ve daha güvenilir bir analiz çıkar.
NNUE ağının kendisi, motor başlarken yüklenen bir dosyadır ve bu ağın farklı sürümleri farklı değerlendirmeler üretir. Farklı platformların analizlerini karşılaştırırken hepsinin üzerinde "Stockfish" yazsa bile farklı NNUE ağları kullanıyor olabileceklerini akılda tutmakta yarar var.
Tarayıcı, masaüstü ve sunucu
Analiz için üç yaygın ortam vardır ve her birinin kendine özgü yanları bulunur:
Tarayıcı tabanlı analiz (WebAssembly) doğrudan senin cihazında çalışır. Pratiktir, kurulum istemez ve her cihazda iş görür. Buna karşılık tarayıcının bellek sınırlarına takılır ve WebAssembly'nin ek yükü yüzünden yerel uygulamalardan biraz yavaştır. Güncel bir masaüstü tarayıcısında sağlam bir kalite alırsın; telefonda sonuçlar daha sığ kalır.
Masaüstü uygulamaları (yerel Stockfish, ChessBase ve benzerleri) donanımını sonuna kadar kullanır. İşlemci iş parçacıklarına ve belleğe tarayıcı kısıtları olmadan doğrudan erişirler. Ciddi analiz için güçlü bir makinede çalışan masaüstü uygulaması en iyi bireysel deneyimi verir.
Sunucu tabanlı analiz güçlü bulut donanımında koşar ve sonucu tarayıcına gönderir. Tarayıcının rahatlığıyla sunucunun gücünü birleştirir. Karşılığında sunucunun erişilebilirliğine bağımlı kalırsın ve derinliği ya da parametreleri genellikle serbestçe ayarlayamazsın.
Her yaklaşımın kendine göre yeri var. ChessOnyx tarayıcı tabanlı analizi seçiyor, çünkü hiçbir kurulum istemeden analizin üzerinde doğrudan denetim vermek istiyoruz. Hesap senin cihazında yapılır, sunuculara veri gitmez — yani partilerin sende kalır.
Bunun senin için anlamı
Donanımın rolünü anlamak sonuçları daha isabetli okumanı sağlar. Pratik çıkarımlar şunlar:
Farklı cihaz ya da platformların değerlendirmelerinin birebir tutmasını bekleme. Evdeki analizinle bir platformun analizi arasındaki 0,1-0,3'lük fark olağandır.
Ciddi analiz yapıyorsan elindeki en güçlü cihazı kullan. Modern çok çekirdekli işlemcili bir masaüstü, telefondan belirgin biçimde daha iyi sonuç verir.
Motora zaman tanı. Hangi donanımda olursa olsun, motoru daha uzun çalıştırmak daha güvenilir sonuç doğurur. Bir pozisyon üzerinde beş saniye, otuz saniyenin anlattığının çok azını anlatır.
Yalnızca süreye değil derinliğe bak. Derinlik 25, hızlı bir bilgisayarda da yavaş bir telefonda da aynı arama derinliğidir; fark, birinin saniyeler içinde, diğerinin belki dakikalar içinde oraya varmasıdır. Analizleri karşılaştırırken benzer süreleri değil benzer derinlikleri karşılaştır.
Donanımın ne olursa olsun motor güçlü bir araç olmayı sürdürür. Mütevazı cihazlarda bile bugünün Stockfish'i, on yıl önce insanüstü sayılacak bir analiz sunar. Önemli olan, kendi düzeneğindeki sınırlarını bilmek ve sonuçları buna göre okumaktır.