Alpha Beta 가지 치기가있는 MiniMax를 사용하여 오델로 게임용 AI를 구현합니다. 내가 얻을 수있는 가치를 말해주는 알파 베타 (Alpha Beta) 알고리즘을 구현했지만 어떤 노드를 선택해야하는지 알 수 없다. 그래서 내 질문은 Alpha-Beta를 사용하여 결과 값이 아닌 노드를 선택해야하는 방법을 알려주는 것입니다. 다음은 알파 베타 (Alpha-Beta) 알고리즘의 의사 코드입니다.알파 베타를 사용하여 노드를 선택하는 방법
01 function alphabeta(node, depth, α, β, maximizingPlayer)
02 if depth = 0 or node is a terminal node
03 return the heuristic value of node
04 if maximizingPlayer
05 v := -∞
06 for each child of node
07 v := max(v, alphabeta(child, depth – 1, α, β, FALSE))
08 α := max(α, v)
09 if β ≤ α
10 break (* β cut-off *)
11 return v
12 else
13 v := ∞
14 for each child of node
15 v := min(v, alphabeta(child, depth – 1, α, β, TRUE))
16 β := min(β, v)
17 if β ≤ α
18 break (* α cut-off *)
19 return v
결과 값이 어떨지 - _하지만 그 값도 필요합니다. 2 가지를 돌려 주어야합니다. 정확한 대답은'node', 프로그래밍 언어 등의 정의에 달려 있습니다. –
@HenkHolterman 왜 결과 값을 반환해야합니까? 내 트리가 예를 들어 이진 검색 트리 인 경우 값이 아닌 선택하려는 두 노드를 알아야합니다. 물론 선택해야 할 노드를 결정하기 위해 그 값이 필요합니다. –
당신은 방금 자신에게 대답했습니다 : "어느 것을 결정할 것인가 ..." –