This preview shows pages 1–12. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Computability Theory and Complexity Theory COT 6410 Click to edit the outline text format Second Outline Level Third Outline Level Fourth Computability Theory The study of what can/ cannot be done via purely mechanical means. Complexity Theory The study of what can/ cannot be done well via purely mechanical means. What is it that we are talking about? Solving problems algorithmically! A Problem: Set of input data items (set of input "instances") A set of rules or relationships between data and other values A question to be answered or set of values to be obtained { Examples: Search a list for a key, SubsetSum, Graph Coloring } Ea ch inst a nce ha s a n 'answer .' An instances answer is the solution of the instance  it is not the solution of the problem. A solut ion of t he proble m is a com put a t iona l proce dure t ha t finds t he answ e r of a ny inst a nce give n t o it  a n 'algorithm .' A Procedure (or Program): A finite set of operations (statements) such that Each statement is formed from a predetermined finite set of symbols and is constrained by some set of language syntax rules. The current state of the machine model is finitely presentable. The semantic rules of the language specify the effects of the operations on the machines state and the order in which these operations are executed. If the procedure halts when started on some input, it produces the correct answer to this given instance of the problem. An Algorithm: A procedure that Correctly solves any instance of a given problem. Completes execution in a finite number of steps no matter what input it receives. { Example algorithm: Linearly search a finite list for a key; If key is found, answer Yes; If key is not found, answer No; } { Example procedure: Linearly search a finite list for a key; If key is found, answer Yes; If key is not found, try this strategy again; } Procedures versus Algorithms Looking ba ck a t our a pproa che s t o find a ke y in a finit e list , w e se e t ha t t he a lgorit hm a lw a ys ha lt s a nd a lw a ys re port s t he corre ct a nsw e r. In cont ra st , t he proce dure doe s not ha lt in som e ca se s, but ne ve r lie s. W ha t t his illust ra t e s is t he e sse nt ia l dist inct ion be t w e e n a n a lgorit hm a nd a proce dure a lgorit hm s a lw a ys ha lt in som e finit e num be r of st e ps, w he re a s proce dure s m a y run fore ve r on ce rt a in input s. A pa rt icula rly silly proce dure t ha t ne ve r lie s is a progra m t ha t ne ve r ha lt s for a ny input . Notion of "Solvable" A proble m is solvable if there exists an algorithm that solves it (provides the correct answer for each instance)....
View
Full
Document
This note was uploaded on 07/14/2011 for the course COT 4610 taught by Professor Dutton during the Fall '10 term at University of Central Florida.
 Fall '10
 Dutton

Click to edit the document details