EDIT (setelah membaca makalah):
Saya sudah membaca koran dengan serius. Mari kita mulai dengan apa yang diklaim Google di koran:
- Mereka mengalahkan Stockfish dengan Monte-Carlo-Tree-Search + Deep neural networks
- Pertandingan benar-benar sepihak, banyak kemenangan untuk AlphaZero tetapi tidak untuk Stockfish
- Mereka mampu melakukannya hanya dalam empat jam
- AlphaZero bermain seperti manusia
Sayangnya, menurut saya itu bukan jurnal yang bagus. Saya akan menjelaskan dengan tautan (agar Anda tahu saya tidak bermimpi):
https://www.chess.com/news/view/alphazero-reactions-from-top-gms-stockfish-author
Hasil pertandingan sendiri tidak terlalu berarti karena pilihan kontrol waktu dan pengaturan parameter Stockfish yang agak aneh: Permainan dimainkan pada waktu yang tetap 1 menit / bergerak, yang berarti bahwa Stockfish tidak menggunakan heuristik manajemen waktu ( banyak upaya telah dilakukan untuk membuat Stockfish mengidentifikasi poin-poin penting dalam permainan dan memutuskan kapan harus menghabiskan waktu ekstra untuk bergerak; pada waktu yang tetap per gerakan, kekuatannya akan sangat berkurang).
Stockfish tidak bisa memainkan catur terbaik hanya dengan satu menit per gerakan. Program tidak dirancang untuk itu.
- Stockfish berjalan pada mesin komersial biasa, sementara AlphaZero menggunakan 4 juta + mesin TPU yang disetel untuk AlphaZero. Ini seperti mencocokkan desktop kelas atas Anda dengan ponsel Android yang murah. Tord menulis:
Salah satunya adalah program catur konvensional yang berjalan di komputer biasa, yang lain menggunakan teknik yang berbeda secara mendasar dan berjalan pada perangkat keras yang dirancang khusus yang tidak tersedia untuk pembelian (dan akan jauh dari anggaran pengguna biasa jika itu).
- Google secara tidak sengaja memberikan 64 utas ke mesin 32 inti untuk Stockfish. Saya mengutip GM Larry Kaufman (pakar catur komputer kelas dunia):
http://talkchess.com/forum/viewtopic.php?p=741987&highlight=#741987
Saya setuju bahwa tes itu jauh dari adil; Masalah lain yang melukai SF adalah bahwa itu tampaknya dijalankan pada 64 utas pada mesin 32 inti, tetapi akan lebih baik menjalankan hanya 32 utas pada mesin itu, karena hampir tidak ada manfaat SMP untuk mengimbangi perlambatan sekitar 5 hingga 3 secara kasar. Juga rasio biaya lebih dari yang saya katakan; Saya berpikir itu adalah mesin 64 core, tetapi mesin 32 core harganya sekitar setengah dari yang saya duga. Jadi mungkin keseluruhan 30 sampai 1 tidak terlalu buruk perkiraan. Di sisi lain saya pikir Anda meremehkan berapa banyak yang bisa ditingkatkan lebih lanjut.
- Stockfish hanya memberikan tabel hash 1GB. Ini adalah lelucon ... Saya memiliki tabel hash yang lebih besar untuk aplikasi iOS Stockfish saya (Penafian: Saya penulis) di iPhone saya! Tord menulis:
... tabel hash terlalu kecil untuk jumlah utas ...
Tabel hash 1GB benar-benar tidak dapat diterima untuk pertandingan seperti ini. Stockfish akan sering menghadapi tabrakan hash. Dibutuhkan siklus CPU untuk mengganti entri hash lama.
- Stockfish tidak dirancang untuk berjalan dengan banyak thread. Di aplikasi catur iOS saya, hanya beberapa utas yang digunakan. Tord menulis:
... sedang bermain dengan lebih banyak utas pencarian daripada yang pernah diterima dalam jumlah signifikan pengujian ...
- Stockfish sedang berjalan tanpa buku pembuka atau tablebase Syzygy endgame 6-piece. Ukuran sampel tidak cukup. Versi Stockfish bukan yang terbaru. Diskusi di sini .
KESIMPULAN
Google tidak membuktikan tanpa keraguan metode mereka lebih unggul dari Stockfish. Jumlah mereka dangkal dan sangat bias ke AlphaZero. Metode mereka tidak dapat direproduksi oleh pihak ketiga yang independen. Masih terlalu dini untuk mengatakan Deep Learning adalah metode yang unggul untuk pemrograman catur tradisional.
EDIT (Des 2017):
Ada sebuah makalah baru dari Google Deepmind ( https://arxiv.org/pdf/1712.01815.pdf ) untuk pembelajaran penguatan dalam catur. Dari abstrak, mesin catur Stockfish nomor satu dunia "secara meyakinkan" dikalahkan. Saya pikir ini adalah pencapaian paling signifikan dalam catur komputer sejak pertandingan Deep Blue 1997. Saya akan memperbarui jawaban saya setelah saya membaca kertas secara detail.
Asli (sebelum Des 2017)
Mari kita perjelas pertanyaan Anda:
- Tidak, mesin catur tidak menggunakan kekerasan.
- AlphaGo tidak menggunakan pencarian pohon, ia menggunakan Pencarian Pohon Monte Carlo . Google " Pencarian Pohon Monte Carlo alphaGo " jika Anda ingin diyakinkan.
JST dapat digunakan untuk mesin catur:
Apakah program ini berkinerja lebih baik daripada mesin catur terbaik (dan pemain catur) hari ini?
Giraffe bermain di tingkat Master Internasional, yaitu sekitar peringkat FIDE 2400. Namun, Stockfish, Houdini dan Komodo semuanya bermain sekitar FIDE 3000. Ini adalah kesenjangan yang besar. Mengapa? Mengapa tidak Pencarian Pohon Monte-Carlo?
- Bahan heuristik dalam catur itu sederhana. Sebagian besar waktu, posisi catur menang / kalah hanya dengan menghitung materi di papan tulis. Harap ingat bahwa penghitungan materi tidak berfungsi untuk Go. Penghitungan bahan adalah urutan yang lebih cepat daripada menjalankan jaringan saraf - ini dapat dilakukan oleh bitboard yang diwakili oleh integer 64-bit. Pada sistem 64 bit, itu dapat dilakukan hanya dengan beberapa instruksi mesin. Pencarian dengan algoritma tradisional jauh lebih cepat daripada pembelajaran mesin. Node yang lebih tinggi per detik diterjemahkan ke pencarian yang lebih dalam.
- Demikian pula, ada teknik yang sangat berguna dan murah seperti pemangkasan gerakan nol, pengurangan gerakan lanjut, dan gerakan pembunuh, dll. Mereka murah untuk dijalankan, dan jauh lebih efisien untuk pendekatan yang digunakan dalam AlphaGo.
- Evaluasi statis dalam catur cepat dan bermanfaat
- Pembelajaran mesin berguna untuk mengoptimalkan parameter, tetapi kami juga memiliki SPSA dan CLOP untuk catur.
- Ada banyak metrik yang berguna untuk pengurangan pohon dalam catur. Apalagi untuk Go.
Ada penelitian bahwa Pencarian Pohon Monte Carlo tidak skala baik untuk catur. Go adalah permainan yang berbeda dengan catur. Algoritma catur tidak berfungsi untuk Go karena catur bergantung pada taktik brutal. Taktik bisa dibilang lebih penting dalam catur.
Sekarang, kami telah menetapkan bahwa MCTS bekerja dengan baik untuk AlphaGo tetapi kurang untuk catur. Pembelajaran mendalam akan lebih bermanfaat jika:
- Evaluasi NN yang disetel lebih baik daripada algoritma tradisional. Namun ... pembelajaran yang mendalam bukanlah sihir, Anda sebagai programmer masih perlu melakukan pemrograman. Seperti yang disebutkan, kami memiliki sesuatu seperti SPSA untuk bermain sendiri untuk penyetelan parameter dalam catur.
- Investasi, uang! Tidak ada banyak uang untuk pembelajaran mesin dalam catur. Stockfish adalah sumber bebas dan terbuka, tetapi cukup kuat untuk mengalahkan semua pemain manusia. Mengapa Google menghabiskan jutaan jika ada yang bisa mengunduh Stockfish secara gratis? Mengapa harus membayar untuk cluster CPU? Siapa yang akan membayar talenta? Tidak ada yang mau melakukannya, karena catur dianggap permainan yang "diselesaikan".
Jika pembelajaran mendalam dapat mencapai hal-hal berikut, itu akan mengalahkan algoritma tradisional:
- Diberikan posisi catur, "rasakan" itu seperti grandmaster manusia. Misalnya, grandmaster manusia tidak akan masuk ke jalur yang buruk - berdasarkan pengalaman. Algoritma tradisional maupun pembelajaran mendalam tidak dapat mencapai hal itu. Model NN Anda mungkin memberi Anda probabilitas [0..1] untuk posisi Anda, tetapi itu tidak cukup baik.
Biarkan saya tunjukkan:
Tidak. Giraffe (tautan yang diposting oleh @Tim) tidak menggunakan Pencarian Pohon Monte Carlo. Ini menggunakan algoritma nega-max biasa. Yang dilakukannya hanyalah mengganti fungsi evaluasi reguler dengan NN, dan ini sangat lambat.
satu lagi:
Meskipun Kasparov dikalahkan oleh Deep Blue pada pertandingan 1997. "Kemanusiaan" benar-benar hilang sekitar 2003-2005, ketika Kramnik kehilangan pertandingan untuk Deep Fritz tanpa kemenangan dan Michael Adams kalah dari mesin klaster dalam pertandingan satu sisi. Sekitar waktu itu, Rybka terbukti terlalu kuat bahkan untuk pemain terbaik di dunia.
Referensi:
http://www.talkchess.com/forum/viewtopic.php?t=64096&postdays=0&postorder=asc&highlight=alphago+chess&topic_view=flat&start=0
Saya mengutip:
Dalam catur, kami memiliki konsep materialitas yang telah memberikan perkiraan yang dapat digembirakan tentang seberapa baik mesin bekerja dan dapat dihitung dengan cepat. Selain itu, ada banyak aspek lain dari permainan yang dapat dikodekan dalam fungsi evaluasi statis yang tidak dapat dilakukan di Go. Karena banyak heuristik dan evaluasi yang baik, EBF (Effective-Branching-Factor) cukup kecil. Menggunakan Neural Network sebagai pengganti fungsi evaluasi statis pasti akan memperlambat mesin cukup banyak.