AI baru menang di mana saja. Bisakah AI serupa menang di catur? Bisakah itu mencapai pelatihan diri murni?


20

Salah satu pertanyaan yang lebih populer yang diajukan di situs ini mengenai prospek AI catur murni yang dilatih sendiri.

Hari ini, ChessBase teralihkan dari liputannya pada turnamen Kandidat FIDE untuk melaporkan bahwa AI baru, untuk pertama kalinya, mengalahkan pemimpin terkemuka dari permainan permainan yang agak berbeda, yang telah menentang AI gaya catur selama bertahun-tahun. Pembacaan awal laporan menunjukkan bahwa AI go baru tidak seperti AI catur, tetapi lebih mirip AI general-game-playing (GGP). Namun artikel ChessBase tidak menggunakan istilah GGP, tetapi tampaknya mengatakan bahwa go AI dapat menang di video game sederhana.

Apakah ada alasan AI kemenangan seperti itu tidak bisa dengan penyesuaian kecil juga menang di catur? Jika demikian, apakah AI seperti itu menjanjikan untuk mencapai pelatihan mandiri murni beberapa jawaban bagus untuk pertanyaan sebelumnya yang telah dibahas sebelumnya, yang pada saat itu belum memungkinkan? Mengapa atau mengapa tidak?

Saya menduga bahwa belum ada jawaban yang lengkap dan terinformasi lengkap untuk pertanyaan saya, sehingga jawaban parsial berdasarkan keahlian yang terkait akan dihargai.

Untuk referensi tambahan, lihat juga pertanyaan dan jawaban terkait ini.

MEMPERBARUI

Ketika pertanyaan di atas pertama kali diposting lima hari yang lalu dan ketika beberapa jawaban bagus di bawah ini diberikan, berita pertama tentang kemenangan go AI baru saja muncul. Sejak itu, informasi dan komentar tambahan telah muncul.

Sangat menarik sejak saat itu adalah diskusi meja bundar lima sisi yang cukup mudah dibaca, di mana Jonathan Schaeffer berkomentar:

Belajar dari permainan manusia membantu mempercepat pembelajaran program. AlphaGo bisa belajar menjadi pemain yang kuat sendiri, tanpa menggunakan permainan manusia. Proses pembelajaran hanya akan memakan waktu lebih lama.

Menurut tuan rumah meja bundar, Schaeffer adalah "[c] profesor ilmu komputer di Universitas Alberta dan orang yang memecahkan biji"; jadi, mungkin, dia mungkin memenuhi syarat untuk berkomentar.

Untuk informasi lebih lanjut, berikut ini adalah catatan diskusi terbuka lainnya, yang banyak di antara para pesertanya tampak lebih berpengetahuan daripada biasanya. Diskusi berlangsung selama pertandingan.

Pembaruan lebih lanjut, satu setengah tahun kemudian: commenter @MarkS. menulis:

Ini hanya komentar karena ini tentang Go, bukan Chess, tetapi AlphaGo Zero mencapai "pelatihan mandiri murni" hanya dari diberitahu siapa yang menang (dan bukan skor akhir) dan lebih kuat dan jauh lebih efisien daripada AI yang mengalahkan Lee Sedol . Untuk informasi lebih lanjut, lihat deepmind.com/blog/alphago-zero-learning-scratch


Saya sarankan Anda untuk menanyakan ini di lebih banyak forum teknis. AI adalah topik yang rumit, dan seseorang harus memiliki keahlian yang signifikan untuk memahaminya. Melihat jawaban di sini, saya tidak yakin Anda mendapatkan jawaban yang masuk akal.
Salvador Dali

5
Jawaban yang diberikan sangat kami hargai. Saya telah memilih lebih dari satu. Jika saya belum menerimanya, ini bukan kritik atas jawabannya, tetapi pengakuan bahwa pertanyaannya sangat sulit, dan topiknya sangat baru, sehingga jawaban yang dapat diterima mungkin belum tersedia. Mari kita biarkan pertanyaan ini terbuka sebentar untuk melihat apakah, setelah beberapa saat, jawaban yang tidak tersedia hari ini nanti tersedia. Terima kasih.
thb

1
Ini hanya komentar karena ini tentang Go, bukan Chess, tetapi AlphaGo Zero mencapai "pelatihan mandiri murni" hanya dari diberitahu siapa yang menang (dan bukan skor akhir) dan lebih kuat dan jauh lebih efisien daripada AI yang mengalahkan Lee Sedol . Untuk informasi lebih lanjut, lihat deepmind.com/blog/alphago-zero-learning-scratch
Mark S.

1
@ THB, saya pikir AlphaZero adalah AI.
Harry Weasley

1
Pada Desember 2017 AlphaZero belajar sendiri gaya catur dari hanya aturan permainan arxiv.org/pdf/1712.01815.pdf dan memecat StockFish dengan meyakinkan.
berlayar

Jawaban:


14

Baik, baik, baik! DeepMind telah menerbitkan sebuah makalah di mana mereka mengatakan telah memprogram dan melatih komputer jaringan saraf untuk mengalahkan Stockfish.

Dengan waktu berpikir 1 menit per gerakan, komputer AlphaZero mereka mengalahkan Stockfish sebesar +25, = 25, -0 dengan warna putih dan + 3, = 47,0- berwarna hitam.

Mereka "melatih" 3 komputer terpisah untuk bermain catur, shogi, dan Go serta mengalahkan saingan silikon mereka dengan meyakinkan.

Berikut adalah bagaimana makalah ini menjelaskan pelatihan dan evaluasi -

Permainan swa-bermain dihasilkan dengan menggunakan parameter terbaru untuk jaringan saraf ini, menghilangkan langkah evaluasi dan pemilihan pemain terbaik.

AlphaGo Zero menyetel hiper-parameter pencariannya dengan optimasi Bayesian. Di AlphaZero kami menggunakan kembali parameter yang sama untuk semua game tanpa penyetelan khusus game. Satu-satunya pengecualian adalah kebisingan yang ditambahkan ke kebijakan sebelumnya untuk memastikan eksplorasi; ini diskalakan sesuai dengan jumlah tipikal langkah hukum untuk tipe game itu.

Seperti AlphaGo Zero, papan negara dikodekan oleh pesawat spasial hanya berdasarkan aturan dasar untuk setiap game. Tindakan dikodekan oleh bidang spasial atau vektor datar, sekali lagi hanya didasarkan pada aturan dasar untuk setiap permainan (lihat Metode).

Kami menerapkan algoritma AlphaZero untuk catur, shogi, dan juga Go. Kecuali ditentukan lain, pengaturan algoritma yang sama, arsitektur jaringan, dan parameter-hiper digunakan untuk ketiga game. Kami melatih mesin AlphaZero secara terpisah untuk setiap game. Pelatihan dilanjutkan untuk 700.000 langkah (mini-batch dengan ukuran 4.096) mulai dari parameter yang diinisialisasi secara acak, menggunakan 5.000 TPU generasi pertama untuk menghasilkan game permainan mandiri dan 64 TPU generasi kedua untuk melatih jaringan saraf. Rincian lebih lanjut dari prosedur pelatihan disediakan dalam Metode.

Gambar 1 menunjukkan kinerja AlphaZero selama pembelajaran penguatan bermain sendiri, sebagai fungsi dari langkah-langkah pelatihan, pada skala Elo (10). Dalam catur, AlphaZero mengungguli Stockfish setelah hanya 4 jam (300k langkah); dalam shogi, AlphaZero mengungguli Elmo setelah kurang dari 2 jam (langkah 110k); dan di Go, AlphaZero mengungguli AlphaGo Lee (29) setelah 8 jam (165k langkah).

Kami mengevaluasi contoh AlphaZero yang terlatih sepenuhnya melawan Stockfish, Elmo dan versi sebelumnya dari AlphaGo Zero (dilatih selama 3 hari) masing-masing dalam catur, shogi dan Go, masing-masing memainkan 100 pertandingan pertandingan pada kontrol waktu turnamen dengan kendali satu menit per langkah. AlphaZero dan AlphaGo Zero sebelumnya menggunakan mesin tunggal dengan 4 TPU. Stockfish dan Elmo bermain di level skill terkuat mereka menggunakan 64 utas dan ukuran hash 1GB. AlphaZero dengan meyakinkan mengalahkan semua lawan, kalah nol game dari Stockfish dan delapan game ke Elmo (lihat Materi Tambahan untuk beberapa contoh game), serta mengalahkan versi AlphaGo Zero sebelumnya (lihat Tabel 1).

Komputer mereka menggunakan bentuk chip baru yang disebut "TPU" ( Tensor Processing Unit ) yang dikembangkan oleh Google untuk tugas pembelajaran mesin.

Mereka juga mengklaim algoritma pencarian pohon Monte Carlo mereka lebih baik dan lebih "mirip manusia" daripada algoritma pencarian alpha-beta tradisional -

Kami juga menganalisis kinerja relatif pencarian MCTS AlphaZero dibandingkan dengan mesin pencari alfa-beta canggih yang digunakan oleh Stockfish dan Elmo. AlphaZero mencari hanya 80 ribu posisi per detik dalam catur dan 40 ribu dalam shogi, dibandingkan dengan 70 juta untuk Stockfish dan 35 juta untuk Elmo. AlphaZero mengkompensasi jumlah evaluasi yang lebih rendah dengan menggunakan jaringan sarafnya yang dalam untuk lebih fokus secara selektif pada variasi yang paling menjanjikan - bisa dibilang pendekatan yang lebih "mirip manusia" untuk mencari, seperti yang awalnya diusulkan oleh Shannon. Gambar 2 menunjukkan skalabilitas dari setiap pemain sehubungan dengan waktu berpikir, diukur pada skala Elo, relatif terhadap Stockfish atau Elmo dengan waktu berpikir 40 ms. MCTS AlphaZero diskalakan lebih efektif dengan waktu berpikir daripada Stockfish atau Elmo,

Berikut ini beberapa game -

Stockfish - AlphaZero, 0-1
1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. Bxc6 dxc6 6. OO Nd7 7. Nbd2 O-O 8. Qe1 f6 9. Nc4 Rf7 10. a4 Bf8 11. Kh1 Nc5 12. a5 Ne6 13. Ncxe5 fxe5 14. Nxe5 Rf6 15. Ng4 Rf7 16. Ne5 Re7 17. a6 c5 18. f4 Qe8 19. axb7 Bxb7 20. Qa5 Nd4 21. Qc3 Re6 22. Be3 Rb6 23. Nc4 Rb4 24. b3 a5 25. Rxa5 Rxa5 26. Nxa5 BA6 27. Bxd4 Rxd4 28. NC4 Rd8 29. g3 h6 30. Qa5 Bc8 31. Qxc7 BH3 32. Rg1 RD7 33. Qe5 Qxe5 34. Nxe5 Ra7 35. NC4 g5 36. RC1 BG7 37. Ne5 Ra8 38. Nf3 Bb2 39. Rb1 Bc3 40. Ng1 Bd7 41. Ne2 Bd2 42. Rd1 Be3 43. Kg2 Bg4 44. Re1 Bd2 45. Rf1 Ra2 46. ​​h3 Bxe2 47. Rf2 Bxf4 48. Rxe2 Be5 49. RF2 KG7 50. g4 Bd4 51. Re2 Kf6 52. e5 + Bxe5 53. KF3 RA1 54. RF2 Re1 55. Kg2 + BF4 56. c3 RC1 57. d4 Rxc3 58. dxc5 Rxc5 59. b4 RC3 60. h4 Ke5 61 hxg5 hxg5 62. Re2 + Kf6 63. Kf2 Be5 64. Ra2 Rc4 65. Ra6 + Ke7 66. Ra5 Ke6 67. Ra6 + Bd6 0-1

Permainan

Stockfish - AlphaZero, 0-1
1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. Bxc6 dxc6 6. OO Nd7 7. c3 O-O 8. d4 Bd6 9. Bg5 Qe8 10. Re1 f6 11. Bh4 Qf7 12. Nbd2 a5 13. Bg3 Re8 14. Qc2 Nf8 15. c4 c5 16. d5 b6 17. Nh4 g6 18. Nhf3 Bd7 19. Rad1 Re7 20. h3 Qg7 21. Qc3 Rae8 22. a3 h6 23. Bh4 Rf7 24. Bg3 Rfe7 25. Bh4 Rf7 26. Bg3 a4 27. Kh1 Rfe7 28. Bh4 Rf7 29. Bg3 Rfe7 30. Bh4 g5 31. Bg3 Ng6 32. Nf1 Rf7 33. Ne3 Ne7 34. Qd3 h5 35. h4 Nc8 36. Re2 g4 37. Nd2 Qh7 38. Kg1 Bf8 39. Nb1 Nd6 40. Nc3 Bh6 41. Rf1 Ra8 42. Kh2 Kf8 43. Kg1 Qg6 44. f4 gxf3 45. Rxf3 Bxe3 + 46. ​​Rfxe3 Ke7 47. Be1 Qh7 48. Rg3 RG7 49. Rxg7 + Qxg7 50. RE3 RG8 51. Rg3 Qh8 52. NB1 Rxg3 53. Bxg3 Qh6 54. Nd2 Bg4 55. KH2 Kd7 56. b3 axb3 57. Nxb3 Qg6 58. Nd2 BD1 59. Nf3 BA4 60. Nd2 Ke7 61 Bf2 Qg4 62. Qf3 Bd1 63. Qxg4 Bxg4 64. a4 Nb7 65. Nb1 Na5 66. Be3 Nxc4 67. Bc1 Bd7 68. Nc3 c6 69. Kg1 cxd5 70. exd5 Bf5 71. Kf2 Nd6 72. Be3 NE4 + 73. Nxe4 Bxe4 74. a5 bxa5 75. Bxc5 + Kd7 76. d6 Bf5 77. Ba3 Kc6 78. Ke1 Kd5 79. Kd2 Ke4 80. BB2 Kf4 81. BC1 KG3 82. Ke2 a4 83. Kf1 Kxh4 84. Kf2 Kg4 85. Ba3 Bd7 86. Bc1 Kf5 87. Ke3 Ke6 0-1

Putih: AlphaZero Black: Stockfish

AlphaZero - Stockfish, 1-0
1. Nf3 Nf6 2. c4 b6 3. d4 e6 4. g3 Ba6 5. Qc2 c5 6. d5 exd5 7. cxd5 Bb7 8. Bg2 Nxd5 9. OO Nc6 10. Rd1 Be7 11. Qf5 Nf6 12. e4 g6 13. Qf4 O-O 14. e5 Nh5 15. Qg4 Re8 16. Nc3 Qb8 17. Nd5 Bf8 18. Bf4 Qc8 19. h3 Ne7 20. Ne3 Bc6 21. Rd6 Ng7 22. Rf6 Qb7 23. Bh6 Nd5 24. Nxd5 Bxd5 25. Rd1 Ne6 26. Bxf8 Rxf8 27. Qh4 Bc6 28. Qh6 Rae8 29. Rd6 Bxf3 30. Bxf3 Qa6 31. h4 Qa5 32. Rd1 c4 33. Rd5 Qe1 + 34. Kg2 c3 35. bxc3 Qxc3 36. h5 Re7 37. Bd1 Qe1 38. Bb3 Rd8 39. Rf3 Qe4 40. Qd2 Qg4 41. Bd1 Qe4 42. h6 Nc7 43. Rd6 Ne6 44. Bb3 Qxe5 45. Rd5 Qh8 46. ​​Qb4 Nc5 47. Rxc5 bxc5 48. Q4 Rde8 49. Rf6 Rf8 50. Qf4 A5 51. g4 d5 52. Bxd5 RD7 53. Bc4 A4 54. g5 a3 55. Qf3 RC7 56. Qxa3 Qxf6 57. gxf6 Rfc8 58. Qd3 Rf8 59. Qd6 Rfc8 60. a4 1- 0

Baca saja korannya. Sangat menakjubkan. Tentu saja ini tidak berarti Anda tidak dapat membangun sesuatu yang lebih kuat dengan teknik tradisional yang dikombinasikan dengan AlphaZero, tetapi tetap saja ...
BlindKungFuMaster

10

Ok, saya harus mengakui bahwa saya salah. Meskipun saya berpendapat bahwa itu karena pengetahuan tentang pendapat ahli, bukan kebodohan umum: Mengutip makalah : "Namun, program catur menggunakan MCTS tradisional jauh lebih lemah daripada program pencarian alpha-beta, (4, 24); sedangkan alpha -beta program yang didasarkan pada jaringan saraf sebelumnya tidak mampu bersaing dengan fungsi evaluasi yang lebih cepat dan dibuat-buat. "

Rupanya, catur cukup strategis, sehingga Anda bisa membuat strategi seseorang, yang akan bisa menghitung Anda. Bagi saya itu kejutan besar karena pengembangan mesin catur telah berjalan berlawanan arah. (Rupanya masih ada sedikit peringatan apakah AlphaZero benar-benar lebih kuat daripada Stockfish: Stockfish bermain dengan hanya 1GB untuk hashtable dan 64 core mungkin tidak benar-benar cocok untuk empat TPU)

Ini juga merupakan hal yang sangat, sangat menarik untuk terjadi, karena AlphaZero sangat mungkin memiliki kekuatan yang sangat berbeda dari mesin tradisional.

Ini juga berarti bahwa saya memperbarui kepercayaan saya tentang pentingnya AlphaGo sebagai terobosan teknologi. Pada dasarnya menghancurkan shogi, Pergi dan catur dengan satu pengaturan tunggal benar-benar luar biasa, belum lagi lusinan game lain yang mungkin bisa dimainkan pada tingkat manusia super oleh AlphaZero.

Ada penjelasan yang bagus tentang mengapa MCTS sebenarnya adalah ide yang layak bahkan untuk catur dibandingkan dengan pencarian alpha-beta (dari kertas): "AlphaZero mengevaluasi posisi menggunakan perkiraan fungsi non-linear berdasarkan jaringan saraf yang dalam, daripada linier perkiraan fungsi yang digunakan dalam program catur biasa. Ini memberikan representasi yang jauh lebih kuat, tetapi juga dapat memperkenalkan kesalahan perkiraan palsu. MCTS rata-rata mengatasi kesalahan perkiraan ini, yang karenanya cenderung membatalkan ketika mengevaluasi subtree besar. Sebaliknya, pencarian alpha-beta menghitung mini-max eksplisit, yang menyebarkan kesalahan aproksimasi terbesar ke akar subtree. " (penekanan oleh saya)

Inilah jawaban lama saya, masih mengandung beberapa poin yang valid, meskipun kesimpulan digantikan oleh kenyataan.

Pertama-tama, Alphago bukan sistem bermain game umum. Ini adalah program yang dirancang murni untuk bermain dan tidak ada yang lain. Namun itu dibangun dari blok bangunan tertentu yang memiliki penerapan yang jauh lebih luas, seperti jaringan saraf convolutional , yang telah digunakan dalam pengenalan gambar dan yang memiliki aplikasi langsung dalam diagnosa medis, dan pembelajaran penguatan yang digunakan untuk menguasai permainan Atari yang disebutkan dalam artikel.

Juga, mesin saat ini melakukan "belajar" dengan bermain sendiri : "Semalam, enam komputer Lefler bermain melalui lebih dari 14.000 game masing-masing selama periode delapan jam." Enam mesin kali 14.000 game adalah banyak permainan, "katanya. Dan dengan setiap permainan dimainkan, basis data semakin dalam dan lebih kaya. Bahkan ada minat olahraga untuk menonton komputer bermain satu sama lain. Hasil dari mesin pengocok Lefler yang sibuk adalah kecakapan yang terus meningkat dari Komodo. "

Untuk menjawab sebagian besar pertanyaan Anda:

Ada perbedaan penting antara catur dan pergi, setidaknya dari perspektif programmer. Catur lebih merupakan permainan taktis, sedangkan go lebih merupakan permainan strategis. Ini berarti bahwa dalam penghitungan catur, kedalaman mengalahkan evaluasi posisi. Itu pada dasarnya wawasan kunci yang membedakan mesin "lama" seperti Fritz, Shredder, Junior dan generasi yang lebih baru seperti Fruit, Rybka, Houdini, Stockfish, Komodo. Karena pada akhir setiap baris Anda harus mengevaluasi posisi dan Anda ingin menghitung garis lot dan kualitas evaluasi tidak sepenting kedalaman pencarian, mesin catur memiliki fungsi evaluasi yang ramping dan cepat.

Di sisi lain kompleksitas taktis terlalu besar bahkan untuk komputer. Karenanya, mengevaluasi posisi dan gerakan secara akurat adalah kuncinya. Apa yang Alphago bawa baru ke permainan adalah kekuatan evaluasi ini, yang didasarkan pada jaringan saraf convolutional .

Untuk akhirnya sampai ke poin saya: Sementara fungsi evaluasi catur ramping dan cepat, jaringan saraf memiliki jutaan, kadang-kadang miliaran parameter. Karena "belajar" dalam konteks ini berarti mengutak-atik parameter, ada banyak kemungkinan kemajuan untuk program self learning go.

Jadi, ya Anda bisa menggunakan pengaturan seperti Alphago untuk membuat mesin catur, tapi itu tidak terlalu bagus. Menjalankan fungsi evaluasi akan memakan banyak waktu, sehingga Anda harus menggunakan sekelompok besar GPU untuk mencapai kedalaman pencarian yang diperlukan (yang dilakukan Alphago). Anda dapat membuat fungsi evaluasi yang sangat baik , tetapi pengorbanan kecepatan tidak sepadan.


1
Saya tidak setuju dengan Anda dalam hal ini, Anda bisa menggunakan pengaturan seperti Alphago untuk membuat mesin catur, tetapi itu tidak terlalu bagus . Saya bisa bertaruh sesuatu pada kenyataan bahwa dalam waktu kurang dari satu tahun, akan ada mesin catur yang sangat bergantung pada NN (kemungkinan besar akan memiliki pencarian pohon dan monte carlo, tetapi ini tidak penting), yang akan dekat dengan ikan yang mutakhir. Dan mesin ini tidak akan berasal dari perusahaan super (karena minat pada catur memudar dari peneliti AI sejak lama), tetapi lebih dari hobi yang kuat.
Salvador Dali

Monte carlo sama sekali tidak berguna dalam catur. Dan sementara NN tidak sia-sia, mereka terlalu lambat.
BlindKungFuMaster

3
Mengapa MCTS sebenarnya tidak berguna? Masuk akal untuk menjalankan mulai dari posisi dewan saat ini, menjalankan 1000 game dengan kedalaman simpul 5 dan melihat simpul apa yang memiliki peluang lebih baik. Ini sangat mirip dengan apa yang Anda lakukan, ketika Anda melihat statistik bergerak dalam database dan melihat bahwa setelah 14. Kg4 putih menang 25%, tetapi dengan 14. Rb2 menang dengan 45%. Apakah Anda memiliki bukti frasa yang sama sekali tidak berguna .
Salvador Dali

2
MCTS bukan tentang keacakan, ini tentang simulasi. Buku pengantar dasar tentang MC menunjukkan contoh keacakan hanya untuk menunjukkan intinya. Anda dapat memainkan posisi yang tajam berkali-kali dengan kedalaman simpul 6 yang super cepat (dan masih cukup dapat diandalkan), dan akan memungkinkan Anda untuk memperkirakan perkiraan gerakan mana yang lebih baik.
Salvador Dali

1
Pernyataan saya tidak berani, itu arus utama. Cukup baca beberapa situs pemrograman catur, Anda akan menemukan argumen saya kurang lebih. MCTS telah dikenal selama satu dekade dan dalam catur hal-hal lain hanya berfungsi lebih baik. Di sisi lain saya tidak berpikir pernyataan Anda didasarkan pada apa pun selain firasat, jadi ini akan menjadi komentar terakhir saya.
BlindKungFuMaster

5

Ada sebuah proyek bernama spawkfish yang mencoba melakukan ini. Ini adalah mesin berbasis jaringan saraf yang tujuannya "adalah untuk mengeksplorasi bagaimana kemajuan terbaru dalam komputer Go dapat diterapkan ke dunia Catur komputer".

Ini adalah proyek muda dan mesinnya masih cukup lemah. Bermain itu menarik, karena permainan posisionalnya lebih baik daripada taktiknya.


2
Anda tidak bercanda dengan kalimat terakhir itu. Saya baru saja memainkan beberapa pertandingan melawannya, dan masing-masing berhasil mencapai endgame yang cukup level, hanya untuk melihat spawkfish tiba-tiba menjatuhkan materi (dalam satu kasus hanya menggantung benteng entah dari mana). Aneh.
ETD

Sejak Anda menjawab, informasi baru mengenai AI go tampaknya telah muncul. Saya telah memperbarui pertanyaan untuk menautkan ke berita, jika ini menarik minat Anda.
thb

Situs web untuk spawkfish tampaknya telah menghilang ...
hkBst

4

Bisakah AI serupa menang di catur? Bisakah itu mencapai pelatihan diri murni?

Jawaban singkatnya adalah "Tidak!"

Chess and go secara radikal berbeda dalam kesederhanaan relatif dan kompleksitas relatif yang berasal dari geometri mereka dan bagaimana Anda menang. Ini bergabung untuk membuat program yang bagus di satu sama lain tidak berguna.

Dalam catur Anda menang dengan melakukan checkmating pada lawan, poin tidak masuk hitungan. Tentu saja lawan yang masuk akal akan sering mengundurkan diri sebelum Anda memberikan skakmat tetapi prinsipnya sama. Dalam perjalanan Anda menang dengan memiliki lebih banyak poin di akhir pertandingan. Jika saya memiliki raja dan ratu dan Anda memiliki raja, benteng dan pion tetapi Anda telah membangun benteng maka tidak masalah bahwa saya memiliki 9 poin untuk ratu dan Anda hanya memiliki 6 poin untuk benteng dan pion Anda. Game ini seri.

Ini membuat perbedaan mendasar dalam kompleksitas antara catur dan pergi. Dalam perjalanan Anda hanya bisa menjaga skor dan Anda akan tahu siapa yang menang. Dalam catur, satu-satunya cara Anda bisa tahu siapa yang menang adalah dengan perhitungan murni. Dalam hal ini catur jauh lebih kompleks daripada pergi.

Pada saat yang sama, karena geometri dari dua permainan, ada urutan besarnya lebih banyak kemungkinan di dalam daripada di catur. Dalam hal ini, go jauh lebih kompleks daripada catur.

Program catur bekerja dengan perhitungan brute force dari semua kemungkinan pergerakan hingga kedalaman tertentu yang menentukan kekuatannya. Program go tidak dapat bekerja seperti ini dan memainkan sesuatu yang lebih maju daripada level pemula.

Tujuan dasar go adalah untuk mengontrol lebih banyak wilayah daripada lawan Anda. Di akhir pertandingan, tidak masalah apakah selisihnya 1 batu atau 100 batu, keduanya menang. Setiap kali Anda meletakkan batu, Anda melakukan dua hal. Anda meningkatkan wilayah Anda, baik potensial atau aktual, dan Anda mengurangi lawan Anda.

Kadang-kadang, ketika itu sebenarnya kenaikan atau penurunan di wilayah, mudah untuk menghitung nilai bergerak, tetapi ketika itu berpotensi, sangat sulit untuk mengevaluasi. Sebagai pemain go yang lemah, saya memahami "sebenarnya" jauh lebih baik daripada "potensi" dan pemain yang lebih kuat akan mengalahkan saya dengan membangun wilayah potensial yang jauh lebih besar di tengah sementara saya membangun wilayah aktual yang lebih kecil di tepi dan di sudut. Pemain yang lebih kuat akan membangun kemampuan untuk menilai melalui intuisi dan perasaan dari bermain banyak permainan dan mengenali bagaimana membangun wilayah "potensial".

Sebelumnya saya mengatakan bahwa setiap kali saya menempatkan batu itu meningkatkan wilayah saya (aktual atau potensial) dan mengurangi milik lawan saya (sebenarnya jika itu adalah tindakan bodoh, itu akan melakukan yang sebaliknya!). Dalam posisi tertentu tidak semua gerakan sama. Sebuah batu yang ditempatkan di satu posisi bisa bernilai jauh lebih atau kurang dari batu yang ditempatkan di posisi lain.

Biasanya dalam permainan akan ada "perkelahian" kecil di mana pemain menempatkan batu mereka di dekat satu sama lain, menandai wilayah mereka dan membatasi milik lawan mereka. Sementara itu ada kemungkinan untuk mulai mengintai wilayah di bagian lain dari papan atau beralih ke perkelahian di tempat lain di mana kedua pemain sudah memiliki batu.

Apa yang sangat penting dalam situasi ini adalah mengetahui kapan harus menghentikan satu pertarungan, karena keuntungan potensial telah berkurang, dan untuk beralih ke pertarungan lain atau mungkin menyerang ke wilayah perawan. Kadang-kadang ini tergantung pada perhitungan keras tetapi seringkali jauh lebih samar dan tidak dikenakan perhitungan. Sebagai pemain yang lemah, di sinilah pembayar yang kuat akan menghancurkan saya setiap saat.

Apa yang dilakukan komputer dalam situasi ini adalah menggunakan metode probabilistik untuk menghasilkan skor yang diharapkan untuk suatu gerakan tertentu. Kadang-kadang nilai aktual akan berubah menjadi sedikit lebih sedikit, kadang-kadang sedikit lebih tetapi dalam jangka panjang bahkan akan lebih atau kurang. Ini akan terus memilih langkah dengan nilai yang diharapkan tertinggi dengan harapan bahwa dalam jangka panjang dari permainan kesalahan kecil akan dibatalkan dan strateginya akan menang.

Ini bukan strategi yang terdengar asing bagi pemain catur dan bukan strategi yang akan bekerja dalam catur. Itu adalah sesuatu yang terdengar asing bagi siapa saja yang mengikuti apa yang terjadi di pasar saham. Kedengarannya sangat mirip dengan sesuatu yang disebut "perdagangan frekuensi tinggi" di mana komputer akan membuat ribuan taruhan kecil atau hanya mengajukan taruhan setiap detik untuk "nikel dan uang receh" pasar dan mungkin bahkan untuk memindahkannya secara sangat marjinal demi keuntungan mereka selama periode milidetik.

Sudah pasar keuangan didominasi oleh jenis perdagangan algoritmik yang menunjukkan bahwa program semacam ini telah menang di bidang yang jauh lebih menguntungkan daripada permainan papan.


4
Perdagangan frekuensi tinggi tidak seperti bermain. Algoritma yang sama sekali berbeda. Juga, banyak hal menarik dalam jawaban Anda, tetapi agak sulit untuk melihat poin utamanya, mungkin menambahkan TL; DR. ;-)
BlindKungFuMaster

@ BlindKungFuMaster Prinsip dasar di balik HFT dan AlphaGo adalah prinsip probabilistik. Keuntungan yang diharapkan dari "langkah" ini adalah x%. Dalam jangka panjang akumulasi dari pergerakan / taruhan tersebut akan memenangkan permainan untuk AlphaGo atau menghasilkan kekayaan bagi para pedagang HFT. Namun setiap sekarang dan kemudian akan ada "flash crash" atau "langkah ajaib" dari Lee Se-dol yang mengubah menang / untung menjadi kerugian. Itu sama sekali tidak membatalkan pemrogramannya. Tidak diprogram untuk menemukan gerakan terbaik mutlak setiap kali. Ini seperti solusi pseudo untuk masalah salesman keliling yang mencoba mendapatkan 5% dari yang terbaik.
Brian Towers

Sejak Anda menjawab, informasi baru mengenai AI go tampaknya telah muncul. Saya telah memperbarui pertanyaan untuk menautkan ke berita, jika ini menarik minat Anda.
thb

1
@ THB, saya percaya jawaban ini sekarang agak usang mengingat keberhasilan baru AlphaZero, seperti di arxiv.org/abs/1712.01815
Mark S.

@ Tidak. Kenapa? Jangan menilai orang lain dengan standar Anda sendiri yang dangkal.
Brian Towers

4

(Siapa pun yang menginginkan diskusi teknis yang mendalam untuk AlphaGo dapat melihat posting saya )

Jawaban singkat : Tidak

Jawaban panjang :

Pertama, kita perlu memahami mengapa Google tidak menerapkan alpha-beta ke AlphaGo. Stockfish dan Komodo (dan semua mesin catur) memiliki alpha-beta, mengapa tidak AlphaGo?

Alasan : tidak ada cara mudah dan murah yang secara akurat dapat mengevaluasi posisi Go secara statis.

Di Catur, kita selalu dapat menghitung materi, cara yang sangat efektif untuk mengevaluasi posisi secara statis. Meskipun tidak sempurna, ini sangat cepat dan proxy yang sangat baik untuk catur.

Mencari ruang negara dengan Monte-Carlo adalah metode yang lebih rendah daripada alpha-beta. Google akan menerapkan alpha-beta jika mereka bisa, tetapi mereka tidak bisa. Dengan demikian, mereka terpaksa menggunakan sesuatu yang jauh lebih lambat.

Mesin catur tidak akan bermain lebih baik dengan Monte-Carlo.


Saatnya untuk mempertimbangkan kembali, atau mungkin belum?
Evargalo

3

Saya tidak setuju dengan jawaban lain. Saya seorang ilmuwan komputer yang bekerja secara profesional di bidang kecerdasan buatan dan saya juga seorang kandidat master dalam catur dan 3 dan dalam igo.

Saya pikir tidak jelas saat ini apakah metode Deep Mind dapat diterapkan pada catur, tetapi saya pikir itu mungkin.

Saat ini, program bermain catur terbaik semakin mengandalkan heuristik dan berusaha menggunakan arsitektur AlphaGo untuk catur dalam beberapa hal akan berada di jalur pemikiran yang sama.

Salah satu fitur arsitektur utama dari AlphaGo yang harus diubah adalah metode untuk mengidentifikasi kotak kunci (atau peta panas), yang khusus untuk permainan seperti igo dan tidak secara langsung berlaku untuk catur. Beberapa analog dari metode ini harus dikembangkan untuk membuat arsitektur AlphaGo relevan dengan catur. Sebagai contoh, kita bisa memiliki konsep "potongan kunci" daripada kotak kunci.

Saya pikir argumen bahwa arsitektur AlphaGo tidak relevan dengan catur karena catur lebih taktis bukanlah klaim yang sangat baik karena pada akhirnya keduanya memiliki pohon pencarian yang bentuknya cukup mirip sehingga AlphaGo pasti dapat disesuaikan dengan catur.


Saya memberi Anda +1, karena klaim Anda mungkin benar, tetapi kami tidak tahu pasti sampai seseorang menerbitkan makalah.
SmallChess

Uh? Makalah sudah ada, seperti yang ditunjukkan oleh Brian Towers. Jawabannya adalah ya.
boson kondensasi termomagnetik

Sepertinya aku benar, heh.
Cecil De Vere

@CecilDeVere tidak setuju dengan jawaban lain, 2 dari mereka menunjukkan jawaban yang benar. Dan tidak dengan menyatakan bahwa tidak jelas pada saat ini, sementara itu sangat jelas bahwa jawabannya adalah ya (tidak mungkin).
boson kondensasi termomagnetik

3

Jawabannya iya! Google baru membuktikan ini kemarin, ketika AlphaZero mengalahkan program catur terbaik hanya menggunakan pengetahuan tentang aturan dan pelatihan mandiri murni tanpa pengetahuan catur manusia yang digunakan. Jawaban yang diterima salah. Tautan ke artikel ada di sini: tautan


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.