Knowledge based problem solving (Prentice-Hall, 1986)