2012-05-28 3 views
3

나는 작은 게임을위한 미니 맥스를 구현하고 있으며 나는 "지연"이라고 부르는 것을 눈치 채고있다. 매우 간단한 예제로 요약 됨 :미니멈에서 "procrastination"을 어드레싱

깃발 잡기 게임에서 깃발은 플레이어 A의 정사각형 1 개이며 플레이어 B는 50 칸 떨어져 있습니다. 그것은 A의 차례이고, 앞으로 6 개의 움직임을 검색 할 수 있습니다. 내가보기에는 A가 B를 잡기 전에 B에게 깃발을 kn 수 있다는 것을 알고 있기 때문에 가능한 모든 이동에는 "Win"이라는 값이 있습니다. 따라서 UP이 주문의 마지막 동작 인 경우 B가 눈에 띄는 거리 내에있을 때까지 잠시 동안 왼쪽 및 오른쪽으로 이동 한 다음 마침내 깃발을 얻어야합니다.

처음에는 동작이 버그처럼 보였지만 그것을 통해 진행하면서 각 동작이 실제로 "Win"이지만 동작이 좋지 않음을 확신했습니다. 나는 깃발을 4 개의 움직임을 캡쳐 한 깃발을 현재 캡쳐 된 깃발보다 덜 가치있게 만들 수있어 평가에 영향을 미칠 수 있지만, 내가 찾지 못한 것보다 미니 맥스 검색에 어떤면이 있는지 궁금해했다. 나중에 높은 점수를 얻는 것보다 더 높은 점수를 먼저 얻는 것이 가장 바람직합니까?

+0

롤, 트롤 게임을 만들었습니다 ...! : P – Amadan

+1

정확히 내가 생각한 것. 내 15 라인 알고리즘에서 꽤 태도를 기대하지 않았다. – LVB

답변

2

미니맥스 검색 자체에서 더 빨리 우승 할 수있는 것은 없습니다. 모든 터미널 위치가 동일한 점수로 평가되기 때문에 알고리즘은 효과적으로 무작위로 이동을 선택합니다. 평가 함수가 불려지는 트리에서 각 레벨에 대해 약간의 점수를 떨어 뜨리면 미니 맥스는 더 빨리 이기기로 결정합니다.