defines a problem as a statement requiring a solution usually by means of several operations or constructions. Here, to highlight a problem as one where “there is no readily accessible algorithm”, we shall call it non-routine problem. Other “routine” problems are simply referred to as “questions” or loosely “routine problem” for our discussion.