Hans J. Berliner
Reasoning-based problem solving deals with discrete entities and manipulates these to derive new entities or produce branching behavior in order to discover a solution. This paradigm has some basic difficulties when applied to certain types of problems. Properly constructed arithmetic functions, such as those using our SNAC principles, can do such problems very well. SNAC constructions have considerable generality and robustness, and thus tend to outperform hand coded case statements as domains get larger. We show how a SNAC function can avoid getting stuck on a sub-optimal hill while hill-climbing. A clever move made by our backgammon program in defeating the World Champion is analyzed to show some aspects of the method.