Source: http://www.uoitc.edu.iq/images/documents/informatics-institute/exam_materials/artificial intelligence structures and strategies for complex problem solving.pdf