Eurisko: A Program Which Learns New Heuristics and Domain Concepts