
Ulrich Tuerke once told me about the Butterfly Heuristic, and that it was tried in Comet. I probably miss-understood him and confused it with Uiterwijk's Counter Move Heuristic.
Unfortunately I don't have the 1988 ICCA Journal with Hartmann's paper:
Hartmann, D. (1988). Butterfly Boards. ICCA Journal, Vol. 11, Nos. 2/3, pp. 64-71. ISSN 0920-234X
The heuristic is mentioned in the pdf The Relative History Heuristic, but unfortunately without pseudo code but imho a vague description of the Butterfly heuristic:
The Relative History Score, a ratio of number of cuts versus number of trials in the search seems quite obvious - the authors of the paper represent this formula:To counter some elements of the two disadvantages Hartmann proposed an alternative for the history heuristic, the butterfly heuristic. This heuristic takes the move frequencies in search trees into account. Two tables are needed (one for Black and one for White), called butterfly boards. They are defined in the same way as in the history heuristic (i.e., 64 from squares × 64 to squares). Any move that is not cut is recorded. Each time a move is executed in the search tree, its corresponding entry in the butterfly board (for each side) is also incremented by a value. Moves are now reordered by their butterfly scores. The butterfly heuristic was denied implementation by its inventor, since he expected that it would be far less effective than the history heuristic.
Code: Select all
movescore = hhscore / bfscore
Thanks,
Gerd