Найкоротша гра для Халми для двох гравців


19

У Шахах гра може закінчитися після 4 ходів (2 у кожному) з дурнем Мате .

Ваша мета полягає в тому, щоб знайти Матея Дурня Халми : двома гравцями Халми, які мінімізують кількість зіграних витків.

Існує понад 10 56 штатних плат, і я бачив, що коефіцієнт розгалуження перевищує 1000, тому ймовірність, що оптимальне рішення ніхто не знайде. Натомість ви намагаєтесь знайти найкраще рішення, яке можете.

Ви повинні подати список переходів та будь-який код, який ви використовували для їх створення.

Пояснення гри

Халма схожа на китайські шашки, але грає на квадратній дошці 16 * 16.

Спочатку рада виглядає так:

Стартова рада

Мета гри полягає в тому, щоб перемістити всі свої шматки на вихідні позиції фігур опонента.

На черзі гравця він / вона може:

  • Пройдіть поворот

  • Перемістіть один із його творів до сусіднього порожнього місця. Суміжні простори включають діагоналі.

  • Візьміть одну з його частин і будь-яку кількість разів виконайте наступні дії: Перестрибніть деталь через сусідній шматок, висадивши його на простір навпроти того, що стрибок перескочив.

Ось приклад для ілюстрації 2-го ходу.

Стрибки

Правила

Надішліть список законних кроків, в результаті яких гра закінчується.

Надішліть будь-який код, який ви використовували для створення списку.

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

Кожен хід повинен бути або Noneдля проходження повороту, або (x1,y1,x2,y2)для переміщення шматка, де (x1,y1)є координати частини, яку потрібно перемістити, і (x2,y2)є місцем призначення цього фрагмента (для стрибкових рухів, ігноруйте проміжні координати). Координати починаються у (0,0)верхньому лівому куті. x-координати збільшуються праворуч, y-координати збільшуються вниз. Рухи повинні бути розділені новими рядками.

Ви можете використовувати цей скрипт python для перевірки своїх кроків. Використовуйте python halma_verify.py < fileдля перевірки переміщення в file.

Найкоротший список виграє.


6
кілька технічних обговорень кроків та рішення в 47 ходах: arxiv.org/pdf/0803.1245.pdf
SeanC

Відповіді:


17

Найкоротша гра в халму - 49 ходів

49 рух рішення

На доказ, що немає 48-х рішень

Код, який використовується для цього рішення

Код тепер підтримує пропуск

Зауважте, що рішення 47 рухів у роботі - це проблема переведення армії, а не найкоротша гра в халму

Я сподіваюся, що я отримаю зробити належне оформлення цих вихідних

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