상태 공간 검색은 보드의 여러 상태를 통해 이루어집니다. 비어있는 곳에 돌을 놓을 수 있기 때문에 많은 움직임이 있습니다. 각 상태는 예를 들어, 흰색, 검은 색 또는 비어있는 3 가지 값이있는 9x9 매트릭스. 따라서 9x9 보드의 경우 3^81 개의 보드 상태가 가능합니다.
보드 상태에서 이동 수는 비어있는 정점 수입니다. 이 꼭지점 중 하나에 돌을 배치 할 수 있습니다. 자신 만의 색을 재생할 수 있습니다. 따라서, 최대 81 회의 이동이 가능합니다. 첫 번째 이동의 경우 81, 두 번째 이동의 경우 80 등이 있습니다. 따라서 깊이 5로 합리적으로 검색 할 수 있습니다.
올바른 표현은 위에서 언급 한 것처럼 2D 매트릭스입니다.이 값은 int 값의 2D 배열 일 수 있습니다. 비어있는 경우 0, 흰색 일 경우 1, 검정이면 2. ... int [9,9].
평가 기능이 좋지 않습니다. 대신, 나는 다음과 같은 점을 줄 것입니다 :
- 행이 5 개를 얻습니다. 기본적으로이 점에 대해 최대 점수를 부여합니다. 이기기 때문에 - 2 개가 열린 행에 4 개가 있습니다. 또한 최대 점수는 상대방이 당신을 막을 수 없기 때문입니다. - 1 개의 오픈 엔드가있는 연속 4 명 - 여전히 위협적인 위치입니다. 상대방은 을 차단해야합니다. - 2 개의 열린 끝이있는 연속 3 개 - 매우 높은 점수 --- 닫힌 끝이 모두 0 인 4, 3, 2, 1 - 행을 5 개 만들 수 없으므로 0입니다.
등등.
표준 미니 맥스 알고리즘 즉 알파 베타 프 루닝을 적용하면 체스와 완전히 동일하지만 상태 공간 생성기와 평가 기능이 다릅니다.
이러한 평가 기능 중 일부는 검색 조정으로 더 잘 구현 될 수 있습니다. 어쨌든 모든 위치에서 "열린 끝이 하나 인 행 4"를 찾고 있다면 다음과 같이 말할 수 있습니다. 이러한 위치를 볼 때마다 그 열린 끝에서 이동하고 검색 깊이를 늘릴 수도 있습니다 (컴퓨터 체스에서 비슷한 기술이 사용됩니다.) –
검색해야하는 상태 수는 9^(n + 1)이 아니라 81^n입니다. 반면에 이동 순서가 양호한 경우 알파 베타는 결국 대략 9^n까지 대략 제곱근이됩니다. –
정말 도움이됩니다. 고마워요. 9x9 참조 프레임은보다 효율적인 의사 결정 트리를 허용합니다. 그리고 위의 의견에, 나는 그것이^^ 81이 아닌 3^81 개의 보드 스테이트라고 생각합니다. 81 개의 독립적 인 셀, 3 개의 가능한 상태를 가진 각각 – jyt