Pendekatan alternatif untuk pemrograman mesin catur

14

Sejauh yang saya mengerti, secara kasar, mesin catur bekerja dengan:

  1. menghitung semua variasi yang mungkin (pohon permainan) hingga beberapa kedalaman
  2. mengevaluasi posisi akhir berdasarkan beberapa kriteria (material, aktivitas piece ...)
  3. berdasarkan evaluasi ini memutuskan untuk langkah terbaik

Saya sepenuhnya mengerti bahwa untuk memiliki mesin yang efisien ada cara untuk memangkas garis tertentu, membatasi kedalaman, dll; tapi ini bukan pertanyaan saya.

Pertanyaannya adalah: Apakah ada upaya alternatif untuk memprogram mesin catur (tidak harus kuat, tetapi juga tidak acak), yang tidak mengikuti skema ini?

pengguna1583209
sumber
Botvinnik mencoba memangkas pada langkah root dengan meminta pencarian komputer hanya langkah kandidat terbaik. Belum ada upaya yang berhasil untuk ini, dan catur lebih baik untuk itu.
Fred Knight

Jawaban:

13

Pada tahun-tahun awal catur komputer, orang sebenarnya telah mencoba untuk mengajarkan catur komputer dengan cara yang sama seperti yang mereka lakukan dengan manusia, menjelaskan konsep strategis seperti struktur gadai yang sehat atau inisiatif. Upaya ini segera ditinggalkan karena metode yang Anda gambarkan jauh lebih berhasil.

Baru-baru ini, ada upaya lain untuk membiarkan mesin mengajar catur sendiri melalui Deep Learning (mungkin didorong oleh keberhasilan Google AI Go ). Menurut artikel yang saya tautkan, mereka cukup sukses dan berhasil mencapai kekuatan IM.

Glorfindel
sumber
1
Menurut pemahaman saya, Alpha Go bekerja persis seperti OP yang dijelaskan dan hanya fungsi eval dari (2.) yang didasarkan pada / dibuat melalui Deep Learning. Jawaban lain sepertinya agak setuju.
Hermann Döppes
According to the article I linked to, they were quite successful and managed to reach IM strengthtetapi jika Anda akan membaca makalah aslinya, Anda akan melihat bahwa artikel tersebut sangat melebih-lebihkan keberhasilannya.
Salvador Dali
1
@ HermannDöppes Tidak, AlphaGo didasarkan pada pencarian pohon Monte-Carlo.
HelloWorld
3

@Glorfindel tidak salah tetapi pendekatan pembelajaran yang mendalam pada catur benar-benar istilah yang bagus untuk pengaturan parameter dalam pemrograman catur.

Pembelajaran mendalam memungkinkan mesin catur untuk mempelajari fungsi evaluasi, sesuatu yang biasanya ditulis tangan oleh seorang programmer. Selama permainan, itu bekerja seperti mesin catur normal.

Kemungkinan lain:

  • Pemrograman catur GPU
  • Pencarian pohon Monte-Carlo
Halo Dunia
sumber
Sebagian besar jawaban Anda harus berupa komentar di bawah [Jawaban Glorfindel] ( chess.stackexchange.com/a/16293/2789 . Bagian yang sebenarnya menjawab pertanyaan terdiri dari hanya tujuh kata, yang hampir tidak cukup untuk jawaban. Juga , "Pemrograman catur GPU" hanyalah cara untuk memparalelkan algoritma apa pun yang mungkin Anda gunakan, jadi saya tidak berpikir itu benar-benar sebuah "pendekatan" dalam arti pertanyaan yang dicari, melainkan hanya metode implementasi.
David Richerby
-2

Pasti! JIKA Anda benar-benar hanya bermaksud .... "secara teori, apakah ada metode lain untuk kode mesin catur?" ... Lalu, ya !!

Misalnya .... seseorang dapat menyimpan salinan dari setiap posisi yang memungkinkan dalam catur (sejumlah besar, saya tahu), dan memiliki evaluasi untuk masing-masing posisi. Kemudian, jawaban untuk setiap pertanyaan yang diberikan (yaitu, "langkah terbaik untuk putih di posisi X"), akan diketahui segera hanya dengan melihat papan itu. Apakah keadaan perangkat keras komputer saat ini sedemikian rupa sehingga ini masuk akal? Tidak Tapi kamu tidak bertanya itu.

Nick Lopez
sumber