Oldukça karmaşık bir soru soruyorsunuz, ancak temel konulara geri dönmek güzel. Dikkate alınması gereken birkaç kavram var:
Değerlendirme
Bir (gerçek) oyuncuya bir pozisyon gösterilir ve "bu oyunu kim kazanıyor?" Diye sorulursa, nasıl karar verecekler? Büyük olasılıkla, maddi farklılıklar, parçaların geliştirilme dereceleri veya "iyi" konumlandırılmış olmaları, iki kat / izole / bağlanmış / geçen piyonlar, (kontrollü) açık dosyalar gibi birkaç temel şeyi kontrol edeceklerdir. tahta piyonlar.
Şimdi, eğer zorunda olsaydınız, yukarıdakilere dayanarak bir pozisyon puanı hesaplamak için sistematik bir yol bulabilirdiniz. Örneğin, bir piyonun 1 puan değerine ve geçen bir piyonun 0,3 puan değerinde olduğuna karar verebilirsiniz. İzole edilmiş veya iki katına çıkmış piyonlar biraz daha az değere sahip olabilir, vb. Her şeyi eklerseniz, eldeki acil durum için tahmini bir değer elde edersiniz.
Bu değerlendirme olarak bilinir ve temel olarak tüm satranç programlarının pozisyonları değerlendirme yolu vardır (tipik olarak çok zayıf olan yenilik AI satranç motorlarını görmezden gelin).
Peki ya ince, derin pozisyon hareketleri?
Konum değerlendirmesinin yüzeyini ancak zorlukla çizdik. Bir değerlendirme işlevinin gerçek uygulaması, saniyede daha fazla pozisyonun (kaba bir şekilde de olsa) değerlendirilmesine izin vermek için basit veya daha karmaşık olabilir; bu, daha az güven ile değerlendirilmiş daha az pozisyona yol açabilir. Değerlendirme işlevinin yüzlerce, hatta binlerce ayrı bilgi parçasını dikkate alması olağandışı değildir.
Arama
Özellikle, çoğu gerçek oyuncunun hemen düşüneceği bir şey bırakmıştım - oyunu hemen iki tarafa da kazanmanın bir yolu var mı? Herhangi bir arkadaş veya "asılı" adet görünür mü? Bunu önemsizleştirmek kolay olsa da, önemsiz olan herhangi bir şey.
Bir oyuncunun bir kombinasyonda tam güven duyması ne anlama gelir ? Sonunda, tüm seçenekleri hesaplamaktan aşağı kaynar. Gerçek oyuncular genellikle bunu yapmazlar (önemsiz veya çok zorlanan eşler hariç), çoğu zaman sadece bir avuç seçenek düşüneceğiz ve “yapıcı olmayan” görünen ya da açıkça kayba yol açan diğerlerini göz ardı edeceğiz. . Bu hesaplama sırasında sık sık hatalar yaparız, örneğin, hareket sırasındaki bir değişikliğin tehditlerin buharlaşmasına neden olduğunu vb. Farkedebiliriz. Mesele, bir kombinasyondan tamamen emin olmak için, aslında her bir varsayımı varsaymak için, sonuç olarak tüm yollarını hesaplamanız gerekir. oyuncu sadece kendilerine mümkün olan en iyi hamleyi yapacaktır (buna "min / max" denir).
Şimdi, satrançların çok daha geniş bir arama alanına sahip olduğu düşünülürse (bu, "gelecekteki tüm olası hareketler" denen şeydir), bir bilgisayarın hesaplaması için elverişli olandan daha fazla taviz verilmelidir. Tıpkı insanlar gibi, bilgisayarlar da bütün düşünceleri belli kriterlere göre göz ardı etmeye karar verebilir. Bu buluşsal yöntem olarak bilinir . Ancak, zorla uygularsanız, bir kombinasyondan gerçekten emin olabileceğinize rağmen, karmaşık bir değerlendirme işlevinin, tehditlerin varlığını sık sık tespit edebileceğini (örneğin, çatalları, şiş fırsatlarını vb. Bu şekilde arama yapmak için yönlendirebiliriz) dikkat çekicidir. ).
Sonunda, bilgisayarlar son derece hızlı olmasına rağmen, bu kadar derin hesaplamalarını sağlayan buluşsal yöntemdir. Bununla birlikte, modern motorların ne kadar derin hesapladığına şaşırmış olabilirsiniz, hızlı oyunlarda bile, genellikle 3 hareketin ötesinde.
Sonuç / hepsini birleştirme
Yani, özetlemek gerekirse - değerlendirme işlevlerinin içinde yerleşik bir çok istihbarat vardır (yani, ortalama bir insan oyuncudan daha fazla şeyi dikkate alırlar), sezgisel tarama, bilgisayarın muhtemelen iyi sonuçlanmayacağına karar verdiğini düşündüğü düşünceleri ortaya çıkarmasına izin verir. ve bilgisayarlar son derece, son derece hızlı. Onları topla ve yenmek çok zor.