Dalam beberapa makalah (historis), catur telah disebut sebagai drosophila kecerdasan buatan. Sementara saya mengira bahwa dalam penelitian saat ini, aplikasi algoritma pencarian belaka adalah yang terbaik ilmu komputer , saya percaya bahwa masih ada daerah di mana dapat menerapkan (dan berlatih) teknik AI.
Contoh sederhana akan membuka buku belajar di mana seseorang dapat mengajarkan program apakah menggunakan atau tidak menggunakan gerakan tertentu dalam pembukaan karena program tidak cocok untuk jenis posisi tertentu. Kita dapat menggunakan bentuk pembelajaran penguatan kembali dan mengotomatiskan ini: Saya kira saya bisa memainkan program melawan dirinya sendiri dan meningkatkan probabilitas garis menang dan mengurangi kemungkinan garis hilang.
Contoh yang lebih kompleks adalah dengan menggunakan fungsi evaluasi pembelajaran (misalnya, seseorang dapat mengubah nilai tabel piece-square ). Namun, saya berpikir:
- diberikan semua kebisingan karena ada sejumlah besar posisi realistis (sebagai lawan dari jumlah garis pembukaan realistis)
- dan dengan biaya (durasi) permainan catur komputer, dan kebutuhan untuk bermain banyak.
Bagaimana seseorang dapat melakukan ini secara efektif? (Atau haruskah saya melihat teknik lain, misalnya jaringan saraf.)
Jawaban:
Seluruh ruang negara untuk catur sangat besar - kira-kira dapat diperkirakan sebagai 10 43 (nomor Shannon (Shannon, 1950) , ( Wikipedia )).
Gagasan yang Anda sajikan - agen Pembelajaran Penguatan yang saling bermain untuk mempelajari permainan - berhasil diterapkan pada Backgammon - TD-Gammon (Tesauro, 1995) , ( Bab dalam Pembelajaran Penguatan oleh Sutton & Barto ). Itu juga menggunakan Neural Networks untuk memperkirakan fungsi nilai gim. Namun masalah ini jauh lebih sederhana, karena jumlah negara di Backgammon secara signifikan lebih kecil daripada di catur, yaitu: 18.528.584.051.601.162.496 ( thread Arsip Forum Backgammon ).
Jika Anda, bagaimanapun, akan mengakhiri permainan setelah beberapa langkah awal dan bertujuan hanya untuk belajar "bukaan yang baik" Anda bisa berhasil dengan pendekatan analog. Masalah utama adalah untuk mengevaluasi permainan setelah pertandingan pembukaan, yang tampaknya sulit. Hanya mengukur kesamaan dengan posisi yang ditetapkan setelah bukaan terkenal tidak cukup, karena posisi bisa jauh dari mereka jika lawan akan membuat langkah bodoh (jadi itu bukan karena kesalahan agen pembelajaran, sehingga posisi bahkan jika "salah "Harus dievaluasi sebagai hasil yang baik).
Referensi:
SHANNON, Claude E. "Memprogram komputer untuk bermain catur." Dalam Philosophical Magazine, seri ke-7, 41, no. 314 (Maret 1950): 256-75.
Gerald Tesauro. 1995. Pembelajaran perbedaan temporal dan TD-Gammon. Komunal. ACM 38, 3 (Maret 1995), 58-68
sumber
Saya cukup yakin bahwa setiap kemungkinan (atau aneh) metode AI atau ML dalam buku teks telah dicoba dan cukup banyak gagal dibandingkan dengan brute force sederhana.
Perspektif pribadi saya adalah bahwa catur itu sendiri tidak lagi menarik bagi AI modern ... Sederhananya, karena diselesaikan : dengan hanya menggunakan komputer modern dan kekuatan kasar. Jadi, saya tidak merasa bahwa ada kebutuhan untuk menciptakan sistem "cerdas" untuk menyelesaikannya secara lebih efisien (berfungsi dengan baik di ponsel saya), dan saya percaya bahwa tidak ada kebutuhan untuk beberapa yang tidak dikenal dan lebih Pendekatan "cerdas" ada.
sumber
Saya pikir perlu dicatat bahwa untuk menentukan bagaimana mengatasi masalah AI Anda harus mendefinisikannya. Apakah itu sepenuhnya dapat diamati atau sebagian dapat diamati , dan apakah itu bersifat deterministik atau stokastik / peluang.
Catur adalah Sepenuhnya diamati, (tidak seperti Backgammon, Monopoly atau poker misalnya) Hal ini juga deterministik (seperti Checkers, dan Go misalnya) Terakhir, musuh ada dan karena itu saat menentukan berikutnya langkah terbaik hal ini berguna untuk menggunakan Adversarial Pencarian jenis algoritma seperti MiniMax. Mengklasifikasikan masalah dapat membantu kami menentukan jenis algoritma pencarian yang ingin kami terapkan. Dan dalam hal catur, Pencarian Adversarial akan cocok.
Minimax khususnya memiliki a
Jadi dalam hal catur, b akan menjadi 35, dan m akan menjadi 100. Ada cara di sekitarnya atau strategi untuk membuatnya lebih efisien, seperti cutoff alpha-beta.
sumber