가장 기본적인 miniax는 승리, 손실 및 그리기를 표시하는 리프 노드 만 평가하고 중간 노드 값을 결정하기 위해 해당 값을 트리 위로 백업합니다. 게임 트리가 다루기 힘든 경우에는 미니 맥스 함수의 추가 매개 변수로 컷오프 깊이를 사용해야합니다. 깊이에 도달하면 불완전한 상태에 대해 일종의 평가 함수를 실행해야합니다.
minimax 검색에서 대부분의 평가 기능은 특정 도메인이므로 특정 게임에 대한 도움을 찾는 것이 어려울 수 있습니다. 평가는 특정 플레이어 (일반적으로 최대, 네가 맥스 구현을 사용할 때가 아니라)에 대한 우승이라는 일종의 기대치를 반환해야한다는 것을 기억하십시오. 덜 연구 된 게임에 관해서는 좀 더 연구 된 게임과 매우 흡사하게 될 것입니다. 이 게임은 [픽업 스틱] [1]과 매우 밀접하게 연계되어 있습니다. 미니 맥스 (alpha)와 알파 베타 (alpha beta)만을 사용하면 게임이 다루기 쉽다.
비 터미널 위치에 대한 평가 함수를 작성해야하는 경우 여기에 스틱 게임 분석에 대한 약간의 도움이 주어지며, 데이트 게임에 유용할지 여부를 결정할 수 있습니다.
터미널 위치와 그 위치로 이어질 수있는 모든 동작을 살펴봄으로써 결과를 얻는 방법을 모색합니다. 스틱 게임에서, 마지막 위치에 마지막 스틱이 3 개 이하 남아 있습니다. 그 터미널 위치가 즉각적으로 진행되는 위치는 상대방에게 4 개의 스틱을 남겨 둡니다. 목표는 무엇이든 상관없이 상대방에게 4 개의 스틱을 남기고 상대방에게 5, 6 또는 7 개의 스틱을 남겨두고 수행 할 수 있으며 상대방이 당신을 그 자리에 남겨두고 싶습니다. 상대방이 5, 6, 7 중 하나에 있어야하는 장소는 8입니다.이 논리를 계속 반복하면 패턴이 매우 빠르게 사용할 수있게됩니다. 항상 상대방에게 4로 나눌 수있는 숫자를 남겨두고 승리하면, 다른 것은 잃게됩니다.
이것은 다소 단순한 게임이지만 휴리스틱을 결정하는 방법은 과제에 직접 적용될 수 있기 때문에 중요합니다. 마지막으로 이동하는 것이 먼저 일어나고, 한 번에 오직 하나의 날짜 속성 만 변경할 수 있기 때문에 정확히 2 개의 이동이 남아 있어야합니다.등등.
행운을 빈다. 끝까지 무엇을하는지 알려주세요.
[1] : http://emkay.unpointless.com/Blog/?p=42 당신이에 링크 된 날짜 게임의 이해가 무엇에서
당신은 Negamax 알고리즘을 설명하고 있습니다 : (알파 - 베타 가지 치기없이)
귀하의 최소 최대 알고리즘은 다음과 같을 것이다. 이 점에 대한 나의 비판은'increase_month'와'increase_day'를 정의하지 않으면 알고리즘이별로 의미가 없다는 것입니다. 현재 날짜와 31 사이의 어느 날 (현재 달에 따라 다름)까지 하루를 늘릴 수 있으며 원하는 달로 날짜를 증가시킬 수 있습니다 (하루에 따라 다름). 각 이동에 대해 2 가지 이상의 가능한 다음 상태가 있습니다. –
@NickLarsen : 사실, 문제 진술에서 날짜를 늘리는 것이 정확히 어떻게되었는지 명확하지 않았습니다. 나는 내 대답을 업데이트하고있다. 감사. – MAK