Apakah ada mesin yang menemukan gerakan "praktis" terbaik?

25

Mesin catur standar akan menemukan gerakan yang dianggapnya paling baik dengan asumsi permainan terbaik dari kedua sisi. Tetapi langkah ini mungkin mengarah pada keuntungan yang tidak signifikan atau garis rumit yang dengan mudah dapat menghasilkan kesalahan bagi pemain manusia dari kemampuan tertentu. Apakah ada program yang menemukan gerakan "praktis" terbaik untuk eg pemain menengah? Sebagai contoh, itu mungkin mengambil langkah yang mengarah ke posisi menyerang yang sangat kuat di mana lawan kemungkinan besar akan membuat kesalahan, meskipun itu bisa dipertahankan melawan dengan bermain sempurna.

Ari
sumber
5
Pertanyaan yang sangat menarik, tetapi saya pikir menerapkan sesuatu seperti ini bisa sulit karena "praktis", bisa sangat berbeda tergantung situasinya. Misalnya, apakah langkah yang sama akan sama praktisnya dengan lawan 200 poin di atas dan 200 poin di bawah? Bagaimana dengan game klasik vs game blitz?
Akavall
Sepertinya Anda menginginkan sesuatu yang lebih dekat dengan ekspektasi daripada minimax?
Mehrdad
Ini mengingatkan saya pada poker. Saya pikir kebanyakan pokerbot selalu memainkan gerakan praktis alih-alih mengasumsikan keseimbangan Nash dan mencoba memainkan gerakan terbaik teoretis.
Paul
Salah satu cara untuk memikirkan hal ini adalah Anda ingin mengukur fungsi objektif yang berbeda. Ketika Anda kalah, Anda tidak ingin meminimalkan seberapa banyak Anda kalah (siapa yang peduli jika Anda kalah dengan centipawn atau ratu). Sebaliknya, Anda ingin meminimalkan seberapa banyak Anda kalah, tergantung masih ada garis di mana lawan Anda bisa jatuh hati. Anda mungkin menghitung "cukup masuk akal" dengan menghitung "hanya" gerakan atau situasi di mana hanya gerakan atas (atau dua) melanjutkan keunggulan mereka, tetapi gerakan lain mengarah pada Anda memiliki keunggulan.
ddunn801
Sebagai analogi, dalam sepak bola Amerika Anda melakukan tendangan karena memberikan Anda peluang (langsing) untuk mencetak gol dengan cepat meskipun hasil yang diharapkan akan membuat Anda lebih buruk.
ddunn801

Jawaban:

22

Anda menggambarkan sesuatu yang sangat mirip dengan penghinaan . Gagasan dengan penghinaan adalah bahwa jika Anda mempertahankan lebih banyak kedinamisan dalam posisi, lawan yang lebih lemah cenderung membuat kesalahan yang kemudian dapat Anda manfaatkan. Oleh karena itu, mengingat dua gerakan yang menghasilkan hasil yang sama, sebuah mesin dengan skor penghinaan tinggi akan memilih salah satu yang menjaga lebih banyak kedinamisan pada posisi. Mesin tradisional terkuat saat ini semua telah diejek diterapkan (misalnya untuk Komodo ).

Bahaya penghinaan adalah, melawan lawan yang kuat, penghinaan tinggi dapat membuat Anda terbunuh - Anda pada akhirnya memaksa mesin untuk memainkan gerakan yang lebih lemah hanya untuk menjaga permainan tetap hidup.

Daya tarik
sumber
1
Terima kasih, itu mirip dengan apa yang saya cari, tetapi pertanyaan saya adalah bahkan untuk pemain dengan kemampuan yang sama. Misalnya, satu gerakan mungkin mengarah ke kemenangan 9/10 kali mengingat kemungkinan gerakan yang akan dilakukan lawan.
Ari
3
@Ari juga mirip. Ambil dua gerakan, yang satu akan mengarah pada hasil seri dan yang lainnya mungkin mengarah pada kemenangan 90% dari waktu dan kerugian sisa 10% dari waktu. Mesin dengan pengaturan penghinaan yang sangat tinggi mungkin memilih yang terakhir (dan kalah melawan pertahanan sempurna).
Allure
1
Tanpa mesin yang hina mungkin akan menarik sebagian besar permainan melawan lawan yang lebih rendah dengan tidak termasuk pengulangan paksa pada suatu titik.
Ketidaktahuan Inersia
1
Mungkin sangat bagus jika pemain lain kehabisan waktu pada jam mereka.
Ian Ringrose
@Ari Jika lawan Anda berada pada level yang sama dengan Anda, maka jika Anda dapat melakukan analisis meta garis (yaitu, tidak hanya memutuskan apakah itu menang, tetapi memperkirakan seberapa besar kemungkinan lawan Anda akan melihat bahwa ia menang), maka mereka Mungkin akan bisa menganalisisnya.
Akumulasi
6

Saya menyadari pertanyaan ini berlaku terutama untuk mesin catur standar yang menggunakan fungsi minimax untuk mengevaluasi gerakan. Namun mesin catur seperti alphazero menggunakan pencarian pohon monte carlo untuk mensimulasikan banyak permainan yang berbeda sehingga mereka tidak hanya melihat gerakan terbaik. Mungkin saja mereka sudah dapat digunakan untuk menemukan gerakan "praktis" terbaik, atau bahwa mereka dapat diadaptasi untuk tujuan itu. Misalnya algoritma pencarian monte carlo dapat diperbarui untuk melihat gerakan "masuk akal" dan mensimulasikan apa yang terjadi.

Ari
sumber
Tapi kemudian Anda harus memprogram "masuk akal" ke dalam algoritma.
Ketidaktahuan Inersia
1

Tidak juga.

Basis data berguna karena mereka dapat memberi tahu Anda sering kali sebuah gerakan dimainkan dan apa hasilnya namun tidak sempurna karena berbagai alasan.

Fritz 12 (tidak yakin tentang versi yang lebih baru) memiliki meteran "hotness" yang memberitahu Anda betapa rumitnya variasi.

Intinya. itu adalah kombinasi dari banyak hal. Anda mencari gerakan di mana gerakan yang paling berprinsip ternyata buruk. Tidak ada mesin yang bisa memberitahumu.

Savage47
sumber