160 likes | 230 Views
Recap. CS605: The Mathematics and Theory of Computer Science. Course Review. Mathematical Preliminaries Language Theory Regular Languages Finite State Machines/ Finite Automata – only one path of execution Nondeterministic FSM – multiple paths of execution Regular Expressions
E N D
Recap CS605: The Mathematics and Theory of Computer Science
Course Review • Mathematical Preliminaries • Language Theory • Regular Languages • Finite State Machines/ Finite Automata – only one path of execution • Nondeterministic FSM – multiple paths of execution • Regular Expressions • Nonregular Languages and the Pumping Lemma – can only be used non regularity Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • Context Free Languages • Context Free Grammars • Pushdown Automata – extra stack element over the FSM • Regular Languages subset of context free languages • Non-context free languages and the pumping lemma Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • David Hilbert: • Is maths complete • Is maths consistent • Is maths decidable • Godel answered the first two – every sufficiently powerful formal system is either inconsistent or incomplete. • Third question remained open and brought about the concept of Turing machines. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • Turing would design machine which were unable to solve some problems – proving computation (and maths) was undecidable. • Turing Machines were models of human computation, and can do anything a real computer can do. • TM’s are only models and can never be built. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • TM’s can both read and write to its tape and can also move left or right. • There are three possible outcomes of a TM – accept, reject or loop. • A language is Turing-recognisable if some Turing machines recognises it. • A language is known as Turing-decidable if some Turing machine decides it. • TM’s have the ability to inspect another machines table of behaviour and emulate it. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • Multitape Turing have multiple tapes which they can read or write to. • Every multitape TM has an equivalent single tape TM. • Nondeterministic TM’s is a generalisation of the standard TM for which every configuration may yield none, or one, or more than one next configuration. • Every NTM has an equivalent DTM. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • A Universal TM is capable of simulating any other TM. • An abstract machine or programming language is Turing-complete if it has the same computational power as a UTM. • Church-Turing thesis states that if any mathematical construction can solve a problem then there is a TM that can solve the problem. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • Decidability of languages. • Showing that a language is decidable is the same as showing that the computational problem is decidable. • The Halting Problem: Will a TM accept a given input – in other words, will it always halt? • Use Diagonalisation Technique to show the Halting Problem is undecidable. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • Reductions are a way of converting one problem to another in such a way that a solution to the second one can be used to solve the first problem. • Undecidable Problems. • Completeness: The concept that a solution to a problem in a set can be applied to all others in the set. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • Time Complexity and O-Notation. • Complexity Classes. • PTIME (P) – class of decision problems solvable (or languages recognised) by DTM’s obeying a polynomial bound on its running time. • Some problems in P: Path, hcf, … • Problems for which a proof can be found in polynomial time. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • Tractability – what is feasible with limited resources, and intractability. • To place the intractable problems in a class a new class was designed – NP. • NP are the class of problems for which a solution can be verified in polynomial time. • Travelling salesman, Clique, Vertex-Cover, Subset-Sum… • Is NP = P? Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • NP-Complete problems are the hardest in NP. • Polynomial-time reductions. • Proving Membership of NP-Completeness: • A language B is NP-Complete if it satisfies two conditions: • B is in NP • Every A in NP is polynomial time reducible to B. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Course Review • SAT was proven to be NP-Complete by Cook. • As 3SAT is a special case of the SAT problem it is therefore NP-Complete. • We use 3SAT to prove that other problems are NP-Complete. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Pointers • If you are asked to prove a language is regular: design a FSM to recognise it. • If you are asked to prove a language is irregular: use the Pumping Lemma. • If you are asked to prove a language is context free: design a PDA to recognise it. • If you are asked to prove a language is not context-free: use the Pumping Lemma. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth
Pointers • Decidability = can it be either accepted or rejected for every possible input on a machine? • Verifiability = can we verify that a solution to the problem is correct? • If you are asked to show that a problem is NP-Complete then show that a problem already shown to be in NP-Complete can be reduced to it. Dr. A. Mooney, Dept. of Computer Science, NUI Maynooth