Alpha-Beta 잘라 내기에 적용되므로 알고리즘을 이해합니다. Java에서 ∞을 표현할 방법이 없기 때문에 Minimax
메서드에 대한 첫 번째 호출에서 어떤 값을 Alpha
과 Beta
으로 시작해야합니까? (일반적으로 나는 그들을 -∞
과 +∞
으로 만들 수 있다고 생각합니다.) 내가 생각할 수있는 유일한 것은 0 일 것이지만 원치 않는 결과를 낳을까요? 감사!Minimax 알고리즘에서 시작하는 알파/베타는 어떤 가치가 있습니까?
0
A
답변
4
사용중인 데이터 유형에 따라 다릅니다. -∞
및 +∞
은 가능한 가장 낮은 값과 가장 높은 값을 의미합니다.
int
을 선택한 경우 각각의 값은 Integer.MIN_VALUE
및 Integer.MAX_VALUE
이 될 수 있습니다. 알고리즘은 잘 작동합니다.
또한 무한대는 Java로 표현 될 수 있습니다. 정말로 원하면 float
을 사용할 수 있습니다. has both a positive and negative infinity value입니다. Float.POSITIVE_INFINITY
과 Float.NEGATIVE_INFINITY
을 사용할 수 있습니다. 이 알고리즘에서는 정수를 사용합니다. 반올림과 정밀도와 관련하여 예기치 않은 모든 동작이 발생하지 않기 때문입니다.
4
int alpha = Integer.MIN_VALUE
int beta = Integer.MAX_VALUE
최고로 무한대로 할 수 있습니다.
답변 주셔서 감사합니다, 그것에 대해 알고 ∞ 및 Java! 다른 사람이 먼저 대답했습니다 :) – Houdini
@Houdini : 괜찮습니다. 나는이 대답을 upvoted했습니다. – durron597
Ok cool ... 너무 감사합니다! – Houdini