KKFChess stores it's evaluation along with the search depth for the positions it had played in the game along side the move list. The information can be stored an reused in later games, saving time because the search function already know the score and search depth of the seen positions.
This is the basis of the learning logic behind KKFChess. It is a simple position based learning technique. Before each node is expanded, a probe into the learned hash table to see if the current search depth is greater than the one stored. If it is then the search dives down the sub-branches and get a score of the position of at a deeper depth (which is used to "improve" the position's score) otherwise the probed score is taken as it is and the sub-branches skipped, saving valuable time.
Because a stored position's score can be backed up through the tree, it can affect the result of higher branches. Given enough games, a stored position will eventually affect the root search results.