할 마의 최단 2 인 게임


19

체스에서는 Fool 's Mate로 4 번의 움직임 (각각 2 번) 후에 게임이 끝날 수 있습니다.

당신의 목표는 Fool 's Halma 의 메이트를 찾는 것입니다 : 할 마의 2 인용 게임은 플레이 횟수를 최소화합니다.

10 개의 56 개 보드 상태가 있으며 분기 요소가 1000을 능가하는 것을 보았으므로 최적의 솔루션을 찾지 못할 가능성은 없습니다. 대신, 최상의 솔루션을 찾으려고 노력하고 있습니다.

이동 목록과 해당 이동을 생성하는 데 사용한 코드를 제출해야합니다.

게임 설명

할 마는 중국 체커와 비슷하지만 16 * 16 정사각형 보드에서 뛰었습니다.

처음에 보드는 다음과 같습니다.

출발 보드

게임의 목표는 모든 조각을 상대방 조각의 시작 위치로 옮기는 것입니다.

플레이어는 차례에 다음을 수행 할 수 있습니다.

  • 차례를 통과

  • 조각 중 하나를 인접한 빈 공간으로 옮깁니다. 인접한 공간에는 대각선이 포함됩니다.

  • 그 / 그녀의 조각 중 하나를 가져 와서 여러 번 다음을 수행하십시오. 조각을 인접한 조각 위로 뛰어 넘고 점프 한 조각 반대편 공간에 착륙하십시오.

다음은 두 번째 유형의 이동을 설명하는 예입니다.

점프

규칙

합법적 인 움직임 목록을 제출하면 게임이 종료됩니다.

목록을 생성하는 데 사용한 코드를 제출하십시오.

다른 사람의 코드에서 더 나은 결과를 얻으려면 결과를 주석에 게시하거나 새 결과로 게시물을 편집하십시오.

각 이동은 None회전을 통과하거나 (x1,y1,x2,y2)조각을 이동해야합니다. 조각의 위치 (x1,y1)는 이동할 위치이며 해당 조각 (x2,y2)의 대상입니다 (점프 이동의 경우 중간 좌표는 무시). 좌표 (0,0)는 왼쪽 상단에서 시작 합니다. x 좌표는 오른쪽으로 증가하고 y 좌표는 아래쪽으로 증가합니다. 이동은 개행으로 분리해야합니다.

당신이 사용할 수있는 이 파이썬 스크립트를 귀하의 움직임을 확인 할 수 있습니다. 의 python halma_verify.py < file이동을 확인하는 데 사용 합니다 file.

최단 목록이 이깁니다.


6
움직임에 대한 기술적 인 논의와 47 가지 움직임의 해결책 : arxiv.org/pdf/0803.1245.pdf
SeanC

답변:


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.