Generalization Learning Techniques for Automating the Learning of Heuristics