Algoritma terbaik meningkatkan alpha-beta?

8

Saya sedang belajar AI. Guru saya memberi kami kode sumber permainan seperti catur dan meminta kami untuk meningkatkannya. Latihan saya adalah untuk meningkatkan penerapan algoritma alpha / beta di game itu. Programmer sudah menggunakan tabel transposisi, MTD (f) dengan memori alpha / beta + (MTD (f) adalah algoritma terbaik yang saya tahu sejauh ini). Jadi apakah ada algoritma yang lebih baik untuk meningkatkan pencarian alpha-beta atau cara yang baik untuk mengimplementasikan MTD (f) dalam coding game?

Risa
sumber

Jawaban:

6

Saya akan menjawab secara umum lebih spesifik. Pertama, dalam pengalaman saya ketika seorang profesor bertanya apakah ada cara yang lebih baik .. Saya segera pergi ke buku dan mencari hal-hal yang dicatat penulis sebagai kekurangan dari algoritma yang dimaksud. Kedua, saya melihat optimasi yang telah membantu saya di masa lalu.

Untuk algoritma pencarian pohon seperti alpha-beta saya akan melihat menambahkan heuristik yang mengurangi jumlah pencarian atau menyebabkannya mencari di lokasi yang lebih mungkin terlebih dahulu.

Saya akan menetapkan bobot untuk jalur yang bisa diambil di pohon berdasarkan hasil masa lalu. Jika suatu jalur menghasilkan skor yang lebih tinggi di masa lalu, itu mungkin jalan yang baik untuk diambil kembali. Singkat cerita, tambahkan heuristik ke jalur dan pilih untuk pergi dengan mereka sehingga algoritma dapat berakhir lebih awal.

Perhatikan bahwa saya tidak begitu ingat banyak tentang algoritma spesifik, hanya saja itu adalah pohon dan pendekatan naif untuk itu tidak melibatkan heuristik ini.

brandon
sumber
Saya pikir Anda berbicara tentang en.wikipedia.org/wiki/Killer_heuristic
Adam
Sepertinya begitu. Saya mencoba memberikan jawaban yang kurang spesifik untuk membantu masalah di masa depan karena pendekatannya sama saja. Masalah sebenarnya bukan risa yang tidak tahu optimasi alpha-beta, itu karena mereka perlu melihat pendekatan umum optimasi, terutama di AI karena ini adalah bidang yang sangat terkait pencarian.
brandon
4

Anda tidak menyebutkan pemangkasan gerakan nol atau pengurangan gerakan terlambat. Mereka cukup mudah diimplementasikan dan bahkan lebih efektif dalam mengurangi ukuran pencarian daripada pemangkasan alpha-beta. Ekstensi pencarian juga penting untuk mengurangi efek cakrawala; pencarian ketenangan khususnya merupakan komponen yang sangat penting untuk AI catur.

Kira Chow
sumber
1

Perhatikan urutan pemesanan dan pencarian variasi prinsip

Druzil
sumber