Apa yang akan menjadi elo dari program komputer yang diputar secara acak?

11

Apa yang akan menjadi Elo dari program komputer yang memainkan gerakan acak?

Demi kesederhanaan, anggaplah ia tidak pernah meminta undian atau mengundurkan diri dan tidak pernah menerima tawaran undian.

fotipute
sumber
Bayangkan semua bagian di papan tulis dan Anda menyerang ratu komputer. Ia memiliki peluang 1 banding 16 untuk memindahkan ratu dan mungkin peluang tipis untuk bertahan dengan bidak lain.
ZL1Corvette
4
Saya merasa sulit membayangkan pemain manusia mana pun bermain lebih buruk daripada acak.
Dag Oskar Madsen
Saya lebih suka melakukannya secara ilmiah
MikhailTal
Untuk kelas AI saya, kami membuat AI Catur. Fase pertama dari penugasan adalah gerakan valid yang acak. Ketika AI ini bertarung, sebagian besar berakhir dengan hasil seri. AI serakah yang menyerang bagian paling berharga jika berlaku, jika tidak, kalahkan acak AI setiap saat.
Harrichael

Jawaban:

13

Tepat di bagian bawah Daftar Catur Komputer untuk kontrol waktu 40/4 adalah Brutus RND, mesin yang hanya memilih langkah hukum acak.

http://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details&each_game=1&eng=Brutus%20RND#Brutus_RND

Ini memiliki peringkat 205 (per 6/6/2018). Tentu saja ini bukan peringkat FIDE, tetapi menggunakan sistem Elo.

Ini memiliki 0 kemenangan, 242 kekalahan dan 64 seri. Pengundian adalah karena program yang salah yang secara tidak sengaja menyebabkan pengundian dengan pengulangan atau kadang-kadang kebuntuan, meskipun mereka umumnya memiliki keuntungan material yang substansial ketika ini terjadi.

FIDE memiliki peringkat peringkat 1000. Brutus RND akan gagal untuk membuat peringkat yang tinggi dan tidak akan diberi peringkat.

Jika kita mengabaikan lantai peringkat FIDE, dimungkinkan untuk memiliki peringkat negatif di bawah sistem Elo.

Satu poin lagi adalah bahwa FIDE menggunakan tabel untuk menghitung perubahan peringkat dan jika perbedaan peringkat lebih besar dari 735, tidak ada perubahan terjadi ketika pemain yang lebih kuat menang. Ini berarti Brutus tidak akan pernah memiliki peringkat -5000 atau sesuatu seperti itu karena itu perlu kehilangan poin untuk pemain tidak kompeten yang spektakuler yang tidak akan mampu memberikan skakmat.

https://www.fide.com/component/handbook/?view=article&id=197

Kami tinggal menebak-nebak di sini. 1000 pemain berperingkat Elo akan dapat menurunkan peringkat Brutus ke 265, tetapi karena tidak ada pemain dengan peringkat yang lebih buruk, kita tidak bisa mengatakan dengan tepat seberapa jauh mereka bisa menurunkan peringkat Brutus jika mereka ada.

Saya akan menebak bahwa pemain yang 500 Elo atau lebih buruk akan mengalami kesulitan memberikan pasangan secara konsisten, seperti program yang salah. Pengundian dengan pengulangan 3 kali lipat atau aturan 50 move tidak otomatis di bawah aturan FIDE dan hanya akan terjadi jika Brutus mengklaimnya. Tapi manusia bisa kalah dengan kehabisan waktu, serta menggambar karena kebuntuan yang tidak disengaja.

Jadi saya menduga suatu tempat di kisaran -200 ke 200 jika FIDE memungkinkan peringkat di bawah 1000 dan memungkinkan Brutus untuk bersaing.

James Hollis
sumber
Kedengarannya tinggi. Saya akan menebak lebih dekat ke 100 jika gerakannya benar-benar acak.
edwina oliver
6

Masalah dengan permainan acak adalah bahwa pada posisi catur rata-rata ada banyak gerakan (dari 20 di pembukaan hingga dengan mudah 50 atau lebih di permainan akhir yang rumit), tetapi hanya segelintir dari mereka yang dapat diterima. Bergerak acak akan menghasilkan total diskoordinasi sejak awal permainan. Selain itu, menangkap potongan yang kurang berharga akan sangat umum, khususnya di midgame. Ini mengatakan, bahkan terhadap oposisi yang sangat lemah, komputer akan, dalam jangka panjang, kesalahan: ton materi akan diperdagangkan dan mungkin tidak banyak yang baik untuk komputer, komputer tidak diragukan lagi akan dikembangkan, rajanya tidak akan aman dan bahkan mungkin tidak dikastrasi ...

Begitu banyak hal buruk yang menumpuk, dan sangat cepat, akan menghasilkan kekalahan pasti untuk mesin. Elo-nya mungkin 0 FIDE.

Pablo S. Ocal
sumber
2
Akan lebih sulit untuk kalah melawan mesin seperti itu! Bahkan jika Anda INGIN skakmat, itu bisa memakan waktu selamanya sampai mesin mengelolanya. Satu-satunya cara realistis untuk mesin acak untuk menang adalah jika lawan mengundurkan diri.
Peter
Jika Anda tahu sedikit saja tentang permainan, saya sepenuhnya setuju. Tetapi jika Anda hanya tahu cara memindahkan potongan, bahkan nilainya, atau strategi apa pun ... Ya, manusia dan komputer bermain dalam istilah yang kurang lebih sama.
Pablo S. Ocal
Saya pikir bahkan seorang pemula yang baru belajar aturan hari ini akan bermain lebih baik daripada yang acak. Pemula mungkin menggunakan heuristik seperti "mari tangkap kepingan", yang bekerja sangat baik terhadap mesin acak, karena Anda dapat menangkap keping apa pun, bahkan jika itu dilindungi, atau biarkan saja kepingan Anda tergantung, dan mesin sangat tidak mungkin untuk menangkap karena memiliki begitu banyak gerakan tidak berguna lainnya untuk dipilih. Pada akhirnya satu-satunya kesulitan yang mungkin bagi pemula adalah mencari cara untuk kawin, tetapi seharusnya tidak terlalu sulit mengingat kemungkinan keuntungan materi.
itub
Tidak, tidak sulit untuk kalah melawan pemain acak jika Anda ingin kalah. Anda dapat mencobanya dengan aplikasi Play Magnus yang diatur ke anak berusia 5 tahun. Anda hanya perlu memaksakan situasi di mana satu-satunya langkah hukum yang dapat dilakukan adalah memberikan skakmat. Cara termudah untuk melakukan ini adalah menangkap semua bagiannya kecuali 1 pion, menjebak rajanya sehingga hanya dapat memajukan pion, meninggalkan rajamu di peringkat pertama dan mengatur bagian Anda yang lain untuk menghalangi raja Anda untuk melarikan diri ketika pion mempromosikan dan memanggil memeriksa. Ini berfungsi jika dipromosikan menjadi ratu atau benteng, sehingga Anda memiliki peluang 50% untuk kalah (atau 100% jika tidak pernah di bawah promosi).
Silas S. Brown
5

Permainan yang benar-benar acak jauh lebih buruk daripada yang mungkin Anda pikirkan. Lantai absolut USCF adalah 100 dan program ini tidak akan pernah naik di atas itu.

Cleveland
sumber
1

Saya tidak yakin bagaimana peringkat Go dibandingkan dengan catur, tetapi permainan acak sekitar -3500 di sana . Karena faktor percabangan untuk catur lebih rendah, saya berharap elo pemain acak menjadi lebih tinggi, mungkin antara -2000 dan -500.

Akababa
sumber
1
Seperti disebutkan dalam jawaban di chess.stackexchange.com/a/6509/9025 , lantai peringkat USCF adalah 100, sehingga tidak mungkin untuk memiliki peringkat negatif.
Herb Wolfe
Perspektif yang berbeda hanya pada pertanyaan. Itu tidak menentukan sistem peringkat mana yang akan digunakan, dan statistik elo tidak memiliki "batas bawah".
Akababa
1

Lebih buruk dari seorang pemula mutlak yang hampir tidak tahu aturan permainan, karena setidaknya pemula menempatkan beberapa pemikiran ke dalam memilih bergerak. Pergerakan mereka mungkin sebagian besar masih acak, tetapi setidaknya ada beberapa evaluasi posisi yang terjadi.

Jadi peringkat mesin ini akan berada di tingkat serendah mungkin dari sistem peringkat apa pun yang Anda pilih. Pada akhirnya mungkin menang atau menggambar pertandingan melawan lawan yang sama buruknya, dan kemudian meningkat beberapa poin. Namun, Anda dapat mengharapkan peringkat mesin dengan cepat tenggelam kembali ke lantai minimum sesudahnya.

Dalam "Programming a Computer for Playing Chess" Shannon, ia mencatat bahwa kemungkinan bermain acak mengalahkan Botvinnik berada di urutan 10 ^ -75. Jadi, jika komputer acak ini memainkan Botvinnik (atau bahkan master reguler) tanpa henti untuk seumur hidup manusia, kita bisa berharap itu tidak akan pernah menang.

Namun, Shannon melanjutkan dengan mengatakan bahwa permainan acak bukanlah strategi terburuk; strategi terburuk adalah dengan sengaja memainkan gerakan yang membantu lawan. Meskipun mungkin seorang pemula yang lengkap bisa melakukan ini, kemungkinannya mereka akan mencoba memainkan gerakan yang meningkatkan posisi mereka sendiri.

Ketidaktahuan inersia
sumber
0

Jawaban yang sangat bagus adalah dengan melakukan ini:

Gunakan numpy, mesin game yang sangat lemah, 1500 ELO atau lebih, dan lampirkan skrip python untuk itu. Ada banyak perpustakaan yang memberi Anda kemungkinan gerakan dalam suatu posisi, sehingga kami dapat memilihnya secara acak. Saya akan memposting hasilnya nanti.

http://creative-co.de/random_chess/

Anda juga harus memeriksa ini.

MikhailTal
sumber
3
Numpy adalah perpustakaan matematika ilmiah, bukan mesin catur.
svineet
Ini juga merupakan mesin catur
MikhailTal
2
chess.stackexchange.com/questions/6034/... Tampaknya disebut numpty
MikhailTal
1
@MikhailTal: Apakah ada alasan Anda tidak mengedit jawaban ini untuk memperbaiki namanya?
GreenMatt
2
@SmallChess: Nama yang mirip , tetapi tidak sama.
GreenMatt