Formally, a method is called
effective to a specific class of problems when it satisfies the following criteria: • It consists of a
finite number of exact, finite instructions. • When it is applied to a problem from its class: • It always finishes (
terminates) after a finite number of steps. • It always produces a correct answer. • In principle, it can be done by a human without any aids except writing materials. • Its instructions need only to be followed
rigorously to succeed. In other words, it requires no
ingenuity to succeed. Optionally, it may also be required that the method never returns a result as if it were an answer when the method is applied to a problem from
outside its class. Adding this requirement reduces the set of classes for which there is an effective method. ==Algorithms==