Чи є двигун, який знайде найкращий «практичний» крок?


25

Стандартний шаховий двигун знайде той хід, який він вважає найкращим, якщо вважати найкращу гру обох сторін. Але цей крок може призвести до незначної переваги або хитрої лінії, що може легко призвести до помилок для гравця людини з певними здібностями. Чи існує програма, яка вважає найкращим «практичним» кроком, наприклад, для проміжних гравців? Наприклад, він може вибрати хід, який призводить до дуже сильної атакуючої позиції, де опонент, швидше за все, помилиться, навіть якщо від нього можна буде захищатись ідеальною грою.


5
Дуже цікаве запитання, але я думаю, що реалізувати щось подібне може бути складно, оскільки "практичне" може бути дуже різним, залежно від ситуації. Наприклад, чи був би такий самий хід однаково практичним щодо супротивника на 200 очок вище та на 200 очок нижче? Що з класичною грою проти гри в бліц?
Акавал

Здається, ви хочете чогось ближче очікуватимакс, ніж мінімакс?
Мехрдад

Це нагадує мені про покер. Я думаю, що більшість покерботів завжди грають у практичні рухи замість того, щоб вважати рівновагу Неша і намагатися грати в найкращі теоретичні рухи.
Павло

Один із способів задуматися над цим - це те, що ви хочете кількісно оцінити іншу цільову функцію. Коли ви програєте, ви не хочете просто мінімізувати, скільки ви втрачаєте (кого це турбує, якщо ви програєте зірочка або королева). Натомість, ви хочете звести до мінімуму суму, яку ви програєте, за умови, що все ще залишається лінія, за яку ваш розумний розум може потрапити. Ви можете кількісно оцінити "розумно падати за", рахуючи "лише" ходи або ситуації, коли лише верхній хід (або два) продовжує свою перевагу, але інші рухи призводять до того, що ви маєте перевагу.
ddunn801

Як аналогія, в американському футболі ви в сторону б'єте, тому що це дає вам (тонку) можливість швидко забити гол, хоча очікуваний результат призведе до гіршого.
ddunn801

Відповіді:


22

Ви описуєте щось, дуже схоже на зневагу . Ідея з презирством полягає в тому, що якщо ви будете зберігати більше динамізму в позиції, слабший противник, швидше за все, буде робити помилки, які ви можете потім скористатися. Тому, враховуючи два ходи, що дають подібні оцінки, двигун з високою оцінкою зневаги обере той, який зберігатиме більше динамізму в положенні. Всі найпотужніші традиційні двигуни всі зневажають (наприклад, для Комодо ).

Небезпека презирства полягає в тому, що проти сильного суперника висока презирство може вас вбити - ви змушуєте двигун грати слабкіший крок лише для підтримки гри в живих.


1
Дякую, це схоже на те, що я шукаю, але моє питання стосується навіть гравців однакової здатності. Наприклад, один хід може призвести до виграшу 9/10 разів, враховуючи ймовірні кроки, які зробить опонент.
Арі

3
@Ari це схоже, хоча. Зробіть два ходи, один з яких призведе до нічиї, а інший може призвести до виграшу 90% часу та втрати решти 10% часу. Двигун з дуже високим рівнем презирства може вибрати останнє (і програти проти ідеальної оборони).
Allure

1
Без зневаги двигуни, мабуть, провели б більшість ігор проти неповноцінних супротивників, не виключаючи примусових повторів у будь-який момент.
Інерційне невігластво

1
Це може бути дуже добре, якщо у іншого гравця не вистачає часу на годинник.
Ян Рінроуз

@Ari Якщо ваш опонент знаходиться на тому ж рівні, що і ви, то якщо ви можете зробити мета-аналіз лінії (тобто не тільки вирішити, чи виграє він, але оцінюючи, наскільки ймовірно, ваш опонент побачить, що виграє), то вони Можливо, я зможу проаналізувати це.
Накопичення

6

Я зрозумів, що це питання стосується в основному стандартних шахових двигунів, які використовують функції minimax для оцінки ходів. Однак шахові двигуни, як-от альфазеро, використовують монте-карло-дерево, щоб імітувати безліч різних ігор, тому вони не лише розглядають найкращі можливі кроки. Цілком можливо, що вони вже могли бути використані для пошуку найкращого "практичного" кроку, або щоб вони могли бути адаптовані для цієї мети. Наприклад, алгоритм пошуку Монте-Карло може бути оновлений, щоб переглянути "розумні" кроки та імітувати те, що відбувається.



Але тоді вам доведеться запрограмувати "розумне" в алгоритм.
Інерційне ігнорування

1

Не зовсім.

Бази даних корисні, оскільки вони можуть говорити про те, що ви часто рухаєтесь, і який результат є, проте вони не є ідеальними з різних причин.

Fritz 12 (не впевнений у пізніших версіях) має вимірювач «гарячості», який говорить вам про складність варіації.

Нижня лінія. це поєднання речей. Ви шукаєте ходи, де найбільш принципові рухи виявляються поганими. Жоден двигун не може вам цього сказати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.