Archived

This topic is now archived and is closed to further replies.

reean

Heurustics Vs Evaluation

Recommended Posts

Indeed, there are many similarities. But usually, the heuristic is a simple well known function used to speed up a graph search. The evaluation function is a complex test that returns a fitness value, allowing general optimization techniques to work (like GA).



AiGameDev.com

Share this post


Link to post
Share on other sites
quote:
Original post by reean
What is the diferent between heuristics function and evaluation function? Are they both same???


A "heuristic" is simply anything that probably works well in many cases, but which is not theoretically justified- a "rule of thumb". Heuristics may be applied in many different fields, and do not require computers. For example, some bankers I know estimate that credit card dollar losses (as a percent of the portfolio) are about double the account losses (in other words, if 2% of your credit card accounts go bad, you can expect about 4% of the dollars to go bad)- this is a heuristic.

"Evaluation function" is used with several distinct meanings. I assume that you are referring to the kind of function used in, say, game trees, to assess various game situations. These typically involve heuristics (such as "castle early in the game(chess)"), but I suppose they don't have to.

-Predictor



[edited by - Predictor on October 10, 2003 8:08:08 AM]

Share this post


Link to post
Share on other sites
Interesting question. Many people use these two words interchangeablely.

To me, a heuristic is an estimate of what will happen. Eg; if I search down this path from my current position, what is the estimated cost/benefit?

An evaluation, is an estimate of my current state. Eg; at my current position, based on the number of chess pieces on the board, am I winning or losing?

If I want to know whether I''ll win my chess game based on my current position, I''ll consider *both* my evaluation function and my heuristic function.

Hmm... I hope that''s not too confusing. Here''s a concrete example. I''m playing chess with you, and I''m up a queen, and a rook, so my *evaluation* functions scores me very high (since I have more pieces than you, in my current position). Unfortunately, your rook is going to checkmate me in 1 move (I''m going to lose in 1 move!), so my *heuristic* function scores me very low. Anyhow, an evaluation function and a heuristic function is quite differently, although not many people follow this convention.

Share this post


Link to post
Share on other sites
quote:
Original post by Peter Yap
I''m playing chess with you, and I''m up a queen, and a rook, so my *evaluation* functions scores me very high (since I have more pieces than you, in my current position). Unfortunately, your rook is going to checkmate me in 1 move (I''m going to lose in 1 move!), so my *heuristic* function scores me very low. Anyhow, an evaluation function and a heuristic function is quite differently, although not many people follow this convention.


But your evaluation function includes a heuristic. Deciding that one''s position in chess is favorable due to having more pieces is a heuristic. While having more pieces then one''s opponent is one indicator of higher probability of winning in chess, it only approximates an ideal estimate of that probability.

See any of a number of on-line dictionaries for reference:

http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?query=heuristic
http://www.webopedia.com/TERM/h/heuristic_programming.html
http://searchcio.techtarget.com/sDefinition/0,,sid19_gci212246,00.html


Share this post


Link to post
Share on other sites
quote:
Original post by Predictor
A "heuristic" is simply anything that probably works well in many cases, but which is not theoretically justified- a "rule of thumb".



I''d contend that while it is not necessary, a good heuristic is theoretically justified. Like, for instance, the use of straight line distance in many pathing search algorithms. Being theoretically justified would mean that one has certain assurances that the heuristic sufficiently approximates the (possibly unknown) evaluation function.

Did you perhaps mean something different by ''theoretically justified''?

Cheers,

Timkin

Share this post


Link to post
Share on other sites