Search code examples
artificial-intelligenceevaluationchess

What is an exact evaluation function?


I've been searching for hours and I haven't been able to come up with a decent definition of "exact evaluation function".

Preferably with regards to chess AI, I'd like to know what an exact evaluation function and how (and if) it differs from a heuristic evaluation function. Personally, I thought evaluation functions were just functions to evaluate future states based on the current state. I didn't realise they were broken down into separate categories.

Any help would be appreciated!

~Ray


Solution

  • Where did you come across this terminology?

    When I learned about this, there are two type of approaches

    1. Evaluation function = Heuristic evaluation function
    2. Search techniques

    (Heuristic) evaluation functions are algorithms that select moves based on evaluating the next moves based on a set of heuristic and doesn't attempt to explore the game tree/possible future states. These functions are fast and does reasonably well, but may not give you the best solution in all cases.

    Search techniques try to "pre-play" the game by evaluating the future states (game tree search) and may use also use heuristic to prone bad choices or speed things up. They theoritically can make a exact and perfect choice, but are slow.