La partita di Halma più corta per 2 giocatori


19

In Scacchi, è possibile che il gioco finisca dopo 4 mosse (2 ciascuna) con un Matto .

Il tuo obiettivo è trovare il Matto di Halma : il gioco a 2 giocatori di Halma che minimizza il numero di turni giocati.

Ci sono oltre 10 56 stati della scheda e ho visto che il fattore di ramificazione supera 1000, quindi è probabile che nessuno trovi la soluzione ottimale. Invece, stai cercando di trovare la soluzione migliore che puoi.

È necessario inviare un elenco di mosse e qualsiasi codice utilizzato per generare tali mosse.

Spiegazione del gioco

Halma è simile alle pedine cinesi, ma giocava su una tavola quadrata 16 * 16.

Inizialmente, la scheda appare così:

Consiglio di partenza

L'obiettivo del gioco è di spostare tutti i tuoi pezzi nelle posizioni iniziali dei pezzi del tuo avversario.

Nel turno di un giocatore, lui / lei può:

  • Passa il turno

  • Sposta uno dei suoi pezzi in uno spazio vuoto adiacente. Gli spazi adiacenti includono diagonali.

  • Prendi uno dei suoi pezzi ed esegui le seguenti operazioni un numero qualsiasi di volte: Salta il pezzo sopra un pezzo adiacente, facendolo atterrare nello spazio opposto al pezzo saltato.

Ecco un esempio per illustrare il 2 ° tipo di mossa.

salti

Regole

Invia un elenco di mosse legali che comportano la fine del gioco.

Invia qualsiasi codice utilizzato per generare l'elenco.

Se ottieni un risultato migliore dal codice di qualcun altro, pubblica il risultato in un commento o modifica il suo post con i nuovi risultati.

Ogni mossa deve essere o Noneper passare il turno o (x1,y1,x2,y2)per spostare un pezzo, dove (x1,y1)sono le coordinate del pezzo da spostare e (x2,y2)sono la destinazione di quel pezzo (per le mosse di salto, ignora le coordinate intermedie). Le coordinate iniziano (0,0)nell'angolo in alto a sinistra. le coordinate x aumentano verso destra, le coordinate y aumentano verso il basso. Le mosse dovrebbero essere separate da newline.

Puoi usare questo script Python per verificare le tue mosse. Utilizzare python halma_verify.py < fileper verificare le mosse file.

Vince l'elenco più breve.


6
alcune discussioni tecniche sulle mosse e una soluzione in 47 mosse: arxiv.org/pdf/0803.1245.pdf
SeanC

Risposte:


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.