Loop Invariant in Analysis of Algorithm

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 reply · 3K views
sdj
Messages
4
Reaction score
0
I can't generally map Loop Invariant method for proving the correctness of an Algorithm. Take the case of an Insertion Sort

http://csnx.groups.allonline.in/pool/Introduction%20to%20Algorithms-Cormen%20Solution.pdf

in the above link, at the page 2-3, they have proved the correctness of insertion sort using loop invariant. As of I understood, a loop invariant is a condition that will exist in an Algorithm(not necessarily), which always holds true, irrespective of the state of the Algorithm. And how is this used in proving the correctness? Besides in the same book it has been mentioned:

"Note the similarity to mathematical induction where to prove the property holds, you prove a base case and inductive step. Here, showing that the invariant holds before the first iteration corresponds to the base case and showing that the invariant holds from iteration to iteration corresponds to the inductive step."

Here, I can understand the lines above, but still not convinced with the explanation. Can anyone help me out...??
 
Physics news on Phys.org
sdj said:
I can't generally map Loop Invariant method for proving the correctness of an Algorithm. Take the case of an Insertion Sort

http://csnx.groups.allonline.in/pool/Introduction%20to%20Algorithms-Cormen%20Solution.pdf

in the above link, at the page 2-3, they have proved the correctness of insertion sort using loop invariant. As of I understood, a loop invariant is a condition that will exist in an Algorithm(not necessarily), which always holds true, irrespective of the state of the Algorithm. And how is this used in proving the correctness? Besides in the same book it has been mentioned:

"Note the similarity to mathematical induction where to prove the property holds, you prove a base case and inductive step. Here, showing that the invariant holds before the first iteration corresponds to the base case and showing that the invariant holds from iteration to iteration corresponds to the inductive step."

Here, I can understand the lines above, but still not convinced with the explanation. Can anyone help me out...??

See the wiki article - http://en.wikipedia.org/wiki/Loop_invariant