no edit summary
'''[[Main Page|Home]] * [[Knowledge]] * Oracle'''
[[FILE:John William Waterhouse oracle 1884.png|border|right|thumb|[[
Arts#Waterhouse|John William Waterhouse]] - ''Consulting the Oracle'' <ref>Consulting the Oracle by [[ Arts#Waterhouse|John William Waterhouse]], 1884, showing eight priestesses in a temple of prophecy, [https://en.wikipedia.org/wiki/Oracle Oracle from Wikipedia]</ref> ]]
One thing that we used to do with our chess program, [[Duchess]], was to have a special routine that ran before the [[Search|main search]] that identified strong and weak points in each side's respective position - weak squares, [[Passed Pawn|passed pawns]], weak [[King Safety|king protection]], etc, and tried to grow trees of moves to protect our own weak squares or attack the opponent's weak squares. These would be just sequences of moves by our own or our opponent's pieces and pawns to reach the targeted squares. A table was build for the value of reaching each of these goals for each type of piece and for reaching the middle points along the paths (the value diminishing the further they were from the goal). Then during the search the program would get bonus points for reaching some of the intermediate points in the plan.
This seemed most useful in the [[Endgame|endgame]] when actually reaching the culmination of a play might be beyond the [[Depth|search depth]], and where [[Tactics|tactics]] did not dominate as much as they do in the [[Middlegame|middle game]]; for example, Duchess was quite capable of finding long King maneuvers that might take the King far away from simpleminded heuristics such as "[[King
centralization|centralize the King in the endgame]]" and that were too deep to be found by a direct search. It wasn't perfect; it could not take into account the changes in strategy that might be dictated by a radically different structure encountered deep in the search, but it seemed to be better than nothing.
| The term pre-processing is normally used in the context of an evaluation function. It's a process where you make most of your evaluation decisions BEFORE the [[Search|search]] begins. Typically you determine where each piece should go and essentially build a 64 square table for each piece type of each color on the chess board. You might decide that the c file is [[Open
file|open]] and so you give rooks a big bonus if they can get to the c file. Once you make this decision it doesn't change during the search. So if the c file suddenly gets blocked during the search, the rooks won't know this and still try to get on the c file.
Pre-processing has many advantages and disadvantages. Here is a list of them:
* [https://en.wikipedia.org/wiki/Oracle_Corporation Oracle Corporation from Wikipedia]
* [https://en.wikipedia.org/wiki/Oracle_Database Oracle Database from Wikipedia]
Videos#MichaelHedges|Michael Hedges]] - [https://en.wikipedia.org/wiki/Oracle_%28Michael_Hedges_album%29 Oracle] / Fusion of the Five Elements, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
'''[[Knowledge|Up one Level]]'''