2017-04-11 5 views
1

이미지는 유감 스럽지만 죄송합니다.알파 베타 제거 기능이있는 미니 맥스 이해

alpha

나는 마지막 날 내 프로젝트에 대한 준비에 조금 치기 최소 최대 나무와 알파 데이터를 통해 읽어 봤는데. c에서 Othello에 대한 구현입니다.

나는 이것에 대한 많은 자료를 읽었으며 많은 질문을 받는다는 것을 알고있다. 평가 기능을 시작하기 전에이 부분을 완전히 이해하고 싶습니다.

첨부 된 이미지에서 나는 Min_Node(pos)Max_Node(pos)이 정확히 무엇을 할 것인지 알 수 없습니다. 어떤 입력이라도 크게 감사 할 것입니다.

Othello에 대한 평가 기능을 구현할 때주의해야 할 정보 나 팁이 있다면 누구나 찾을 수있는 도움을 기꺼이 받아들입니다.

답변

0

내가이 플레이어의 경우, Max_Node(pos) 검사, 확인 최대 및 최소 노드가이 경우에, 무엇인지 알아 내기 위해 관리하고이 최대화 및 Min_Node(pos) 확인하는 경우해야하기 때문에 그것이 사실 반환의 상대, true의 경우, 그때 그것은 최소화되어야합니다.

0

또한 here으로 묘사 된 미니 맥스 알고리즘은 게임 트리의 현재 위치에서 최적 값의 움직임을 찾아야합니다. 위치는 보드 구성과 현재 플레이어 (일부 게임의 경우 보드 구성만으로 결정될 수 있음)로 구성됩니다. 일반적으로 이동의 값은 재귀 적으로 정의됩니다. (게임 트리의 잎 인) eding 위치에있는 보드의 경우, 플레이어 1이 승리하면 1, 플레이어 2가 승리하면 -1, 드로우 게임의 경우 0이됩니다. 이동의 값은 이동을 수행하여 결정되고 재귀 적으로 값을 평가합니다. 그런 다음 최대 (플레이어 1의 경우) 또는 최소 (플레이어 2의 경우)의 이동이 선택됩니다. 재귀 평가에서 값은 현재 위치에있는 하위 트리 루트 집합의 모든 잎의 최대 (또는 최소) 값입니다. 이것은 분명히 원래의 질문에서 언급 된 기능이하는 것입니다.

here에 설명 된 바와 같이 알파 베타 - 가지 치기는이 접근법의 개선점입니다. 최적의 값을 알고 있기 때문에 (1 또는 -1) 원하는 값으로 이동하면 평가가 중지 될 수 있습니다.

이 접근법은 실제 게임과는 독립적입니다. 그러나 더 쉬운 게임 (예 : Tic-Tac-Toe)이 디버그하기 쉬운 장난감 예제로 사용되는 첫 번째 단계를 제안합니다.

+0

미니 맥스와 알파 데이터가 어떻게 작동하는지 알고 있습니다. 구현하기 위해 주어진 의사 코드를 해석하는 데 문제가 있습니다. – Monkleys