Algorithm may be also treated as means of solving concrete computational problem. Determining problem is about precising requirements regarding relation between input data and output, and algorithm describes correct computational procedure, which ensures, that this relation becomes achieved.

Algorithm is

**proper**, when for each instance of alorithmic problem it stops and gives correct result.

Algorithm is

**improper**may never stop or after stopping, give incorrect result. Improper algorithms may be still useful, if their erroneous runs might be controlled.

it's quote from:

ReplyDelete'Introduction to Algorithms'

by

Thomas H.Cormen

Charles E.Leiserson

Ronald L.Rivest

Programs should respond to runtime input, so they should be 'improper'. Dynamic Programming.

ReplyDeleteis 'Dragonfly Algorithm' improper ? 'properly improper', perhaps ..

ReplyDelete