Anda mengajukan pertanyaan yang cukup rumit, tetapi baik untuk kembali ke dasar. Ada beberapa konsep yang perlu dipertimbangkan:
Evaluasi
Jika seorang pemain (nyata) ditunjukkan posisi dan bertanya "siapa yang memenangkan permainan ini?", Bagaimana mereka memutuskan? Kemungkinan besar, mereka akan memeriksa beberapa hal dasar, seperti: perbedaan bahan, sejauh mana potongan telah dikembangkan atau diposisikan "baik", pion berlipat ganda / terisolasi / terhubung / lulus, file terbuka (terkontrol), seberapa jauh papan pionnya.
Sekarang, jika Anda harus, Anda dapat menemukan cara sistematis untuk menghitung skor posisi berdasarkan di atas. Anda dapat memutuskan, misalnya, bahwa gadai bernilai 1 poin, dan gadai yang lulus bernilai 0,3 poin lebih banyak. Gadai yang terisolasi atau berlipat ganda mungkin bernilai sedikit lebih rendah, dll. Jika Anda menjumlahkan semuanya, Anda mendapatkan nilai perkiraan untuk posisi langsung yang ada.
Ini dikenal sebagai evaluasi , dan pada dasarnya semua program catur memiliki cara untuk mengevaluasi posisi (mengabaikan mesin catur AI baru yang biasanya sangat lemah).
Tapi bagaimana dengan gerakan posisi halus dan dalam?
Yah, kita baru saja menggaruk permukaan penilaian posisi. Implementasi aktual dari fungsi evaluasi bisa menjadi sederhana, untuk memungkinkan lebih banyak posisi dievaluasi per detik (walaupun dengan cara kasar), atau lebih kompleks, yang menyebabkan lebih sedikit posisi dievaluasi, tetapi dengan tingkat kepercayaan yang lebih tinggi. Bukan hal yang aneh jika fungsi evaluasi memperhitungkan ratusan atau bahkan ribuan informasi yang terpisah.
Pencarian
Saya secara khusus meninggalkan sesuatu dari atas, yang akan segera dipikirkan oleh sebagian besar pemain nyata - adakah cara untuk segera memenangkan permainan untuk kedua sisi? Adakah pasangan atau potongan "gantung" terlihat? Meskipun mudah untuk menyepelekan hal ini, itu tidak berarti apa-apa.
Apa artinya bagi seorang pemain untuk memiliki kepercayaan penuh dalam kombinasi? Pada akhirnya, itu bermuara pada telah menghitung semua opsi. Pemain sungguhan biasanya tidak akan melakukan ini (kecuali untuk hal-hal sepele atau sangat terpaksa), sebagian besar waktu kita hanya akan mempertimbangkan beberapa opsi, dan mengesampingkan orang lain yang tampaknya "tidak konstruktif" atau jelas menyebabkan kerugian . Kita sering membuat kesalahan selama perhitungan ini, misalnya kita mungkin menyadari bahwa perubahan dalam perintah bergerak membuat ancaman menguap, dll. Intinya adalah bahwa untuk benar-benar yakin kombinasi, Anda benar-benar perlu menghitung semua jalan ke kesimpulannya, dengan asumsi masing-masing pemain hanya akan membuat langkah terbaik yang tersedia bagi mereka (ini disebut "min / max").
Sekarang, mengingat catur memiliki ruang pencarian yang jauh lebih besar (inilah yang "semua kemungkinan pergerakan di masa depan" disebut) daripada apa yang layak untuk dihitung oleh komputer, kompromi perlu dilakukan. Sama seperti manusia, komputer dapat memutuskan untuk mengabaikan seluruh alur pemikiran berdasarkan kriteria tertentu. Ini dikenal sebagai heuristik . Penting untuk dicatat bahwa walaupun Anda hanya dapat benar-benar yakin akan kombinasi jika Anda memaksakannya, fungsi evaluasi yang kompleks sering kali dapat mendeteksi keberadaan ancaman (misalnya kita dapat menghitung garpu, peluang tusuk, dll, untuk memandu pencarian ke arah itu. ).
Pada akhirnya, meskipun komputer sangat cepat, heuristiklah yang memungkinkan mereka menghitung dengan sangat dalam. Yang mengatakan, Anda mungkin terkejut betapa mesin modern menghitung sepenuhnya, biasanya itu di luar 3 bergerak, bahkan dalam permainan cepat.
Kesimpulan / kombinasikan semuanya
Jadi, untuk meringkas - fungsi evaluasi memiliki banyak kecerdasan yang dibangun di dalamnya (yaitu mereka mempertimbangkan lebih banyak hal daripada pemain manusia rata-rata), heuristik memungkinkan komputer untuk menyisihkan garis pemikiran yang diputuskan mungkin tidak akan berakhir dengan baik, dan komputer sangat, sangat cepat. Tambahkan mereka, dan mereka cukup sulit dikalahkan.