Alpha Beta Search and Transpose Tables

Alpha beta search works for me, and you want to implement transposition tables to make it faster. The problem I am facing is the relationship between the entries in the table and the current estimate of the current position.

The literature that I have read so far says that you need to keep the type of position, evaluation and other information. Why should you store this type? Can't you just use the score until the record in the table from the previous search went deeper?

This page shows sample code to do this, but I can't understand why AB search returns beta when alpha> = beta. Shouldn't you return alpha?

+3
source share
1 answer

You can keep the position if your hash function can cause collisions. You must also keep the depth of the position, as you noticed, to make sure that the rating is obtained from a deeper search. and, of course, you must keep the score.

As for your second question ... which is called beta clipping. Prerequisite - your opponent has already found the best line for himself earlier in the search and initialized this rating for the beta version (negative alpha, which passed as beta for you) ... when testing your moves, if you can beat Beta at any time, he doesn't care how much you can beat, and he just drops the rest of the search in this thread. The easiest way to do this is to simply return the beta.

+3
source

Source: https://habr.com/ru/post/1724788/


All Articles