While I understand the concept of a miniature tree and alpha beta, I don’t understand why in many (for example, wikipedia) resources about trimming alpha beta there is a condition like α> = β. In particular, equals are confusing. As far as I understand, alpha beta returns a movement that minmax will return, but basically makes it faster. But this example contradicts this:
. / | \ 1 3* 2 / | / \ | \ \ 1 1 5 3 4 3 2
Above is the original min-max tree. As we can see, he will choose one step with a score of 3. Now let's do an alpha beta:
. / | \ 1 3* 3* / | / \ | \ 1 1 5 3 4 3
It cuts off the right move, because 3> = 3. But then the algorithm can choose between two moves, because they have the same score, but, as we saw in min-max, the correct choice is a little worse. This will not happen if the algorithm specifies simply α> β, so it will also need to look for 2.
So was there a typo in the pseudocode wikipedia (and many other resources)? Or I misunderstood something really big here.
source share