Minimax는 이미 평가 된 트리를 사용합니다. 내 결함은 어디에 있습니까?

StackOverflow https://stackoverflow.com/questions/2237685

  •  19-09-2019
  •  | 
  •  

문제

방금 Minimax/Negamax 알고리즘을 사용하기 시작했고 나에게 좋은 소리를내는 아이디어를 생각해 냈지만 아무도 사용하지 않기 때문에 결함이있는 논리 일 수 있습니다.

왜 우리는 이것을하지 않는가 :

깊이 = x가있는 3 개를 만들고 어떤 움직임을 만들 었는지 알아 내고 상대를 기다립니다. 그가 움직임을 한 후에 우리는 우리가 이미 평가 한 움직임의 하위 트리를 가져 가서 이전 노드를 사용하는 동안 계속 더 깊이 구축 할 수 있습니다. 이미 평가 된 노드 값을 사용하여 새로운 깊은 노드의 새로운 값으로 무게를 측정 할 수 있습니다.

Altough 새로운 가치는 일반적인 방법만큼 정확하지 않을 수 있습니다.

저와 나쁜 서면 및 구조화되지 않은 질문에 대해 사과 드리지만 내 아이디어를 얻을 수 있기를 바랍니다.

도움이 되었습니까?

해결책

나는 당신이 여기서 놓친 것이 있다고 생각합니다 어떻게 Minimax는 작동합니다. Minimax는 모든 가능성을 지정된 깊이 D로 열거 한 다음 D에서 노드 (게임 상태)에 점수를 할당하고 트리를 뒤로 이동하고 최대화 여부를 기준으로 각 깊이에서 최대 또는 최소 노드를 반환합니다. 플레이어 또는 최소화 플레이어.

위로 내려 놓는 제안은 더 얕은 깊이로 노드에 점수를 할당해야한다는 것을 의미하여 평가가 좋지 않습니다.

다른 팁

아이디어는 사용되고 있지만 다른 방식으로 사용되고 있습니다. 메모리가 엄청나게 검색 트리를 유지하는 대신 평가 점수는 전치 테이블에 보관되어 재사용됩니다. 이것은 할 때 시간을 절약 할 수 있습니다 반복 심화, 많은 직위가 이전 검색에서 캐시 된 점수를 가지고 있기 때문에. 따라서 오래된 검색 결과를 재사용하면 중간 검색의 일부에 도움이 될 수 있으며 이동 순서 속도를 높일 수 있지만 엔진이 사용하는 터미널 검색 깊이에서 잎 노드를 평가해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top