Presentation is loading. Please wait.

Presentation is loading. Please wait.

CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, TA: Ramsay Dyer, Learning.

Similar presentations


Presentation on theme: "CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, TA: Ramsay Dyer, Learning."— Presentation transcript:

1 CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, email: abulatov@cs.sfu.ca TA: Ramsay Dyer, email: rhdyer@cs.sfu.ca Learning resources: Prerequisites: MACM 201 Lectures: MWF 10:30 – 11:20, in WMX 3210 (37 lectures) Course Text: Introduction to the Theory of Computation by Mike Sipser Instructor’s office hours: W 13:00 – 14:00 in ASB 10855, or by appointment Assignments: 5 sets of exercises, solutions to the first one are due to Sept 29 th TA’s office hours: TBA Course web page: www.cs.sfu.ca/~abulatov/CMPT308 Marking scheme: 5 homework assignments, worth 6% each midterm, worth 30%, and final exam, worth 40%

2 Introduction Computability and Complexity 1-1 Introduction Computability and Complexity Andrei Bulatov

3 Computability and Complexity 1-2 Fundamental Questions A computer scientist might be expected to have answers to some Fundamental questions such as What is a computer ? What problems can computers solve? Can these problems be classified ?

4 Computability and Complexity 1-3 Problems Given 2 collections of DNA sequences and 1.What is the shortest DNA sequence that contains all of and as subsequences? 2.What is the shortest DNA sequence, formed by overlapping elements from these sets, which begins with and ends with ? 3.Is there a set of indices such that 4.Can each be paired with a distinct in such a way that and are 99% identical? How many ways can this be done?

5 Computability and Complexity 1-4 Comments Three of these examples are problems that can be solved by a computer One is “easy”; the other two are “hard” The other example cannot be solved by any known computer

6 Computability and Complexity 1-5 More examples Computer viruses: Write a program that prints its own source code Perfect virus detection software: Write a program that detects whether any given program prints its own text Can mathematics be automatized? Does there exist a computer program that would distinguish true mathematical statements from false ones? easy impossible

7 Computability and Complexity 1-6 Aims This course is designed to enable you to: 1.State precisely what it means for a problem to be computable, and show that some problems are not computable 2.State precisely what it means to reduce one problem to another, and construct reductions for simplest examples 3.Classify problems into appropriate complexity classes, and use this information effectively

8 Computability and Complexity 1-7 Prehistory 1900 Hilbert’s program 19281933 Gödel’s Incompleteness Theorem Formalize mathematics and establish that: Math is consistent: a mathematical statement and its negation cannot ever both be proved Math is complete: all “true” mathematical statements can be “proved” Math is decidable: there is a mechanical rule to determine whether a given mathematical statement is “true” or “false” Even for arithmetic at most one of the first two properties can be reached

9 Computability and Complexity 1-8 1936 Turing Machine The Machine 1937 Undecidability of Logic 1945 First digital computer 1951 Recursive Functions 1960 Markov’s algorithms

10 Computability and Complexity 1-9 Complexity Measures and Non-Determinism 1960 Complexity Measures, Birth of CC 1971 Cook-Levin’s Theorem 1975 NP-complete problems 1970 Study of Complexity Measures Main Complexity Classes P=NP Question

11 Computability and Complexity 1-10 Other Computational Models 1985 Quantum algorithms 1997 Shor’s integers factoring 1970 1980 New computational models introduced: Probabilistic Algorithms Approximation Algorithms Interactive Algorithms Cryptography

12 Computability and Complexity 1-11 Course Outline Turing Machine and other computational models Theory of Computability and Undecidable problems First Order Logic and Gödel’s Incompleteness Theorem Complexity Measures and Complexity classes Time Complexity, classes P and NP Space Complexity, classes L and PSPACE Probabilistic and Approximation algorithms Interactive Computation and Cryptography

13 1.Is the relation {(a,b),(b,a)} on {a,b} symmetric? 2.Is the function f from {1,2,3} to {a,b} defined by f(1)=a, f(2)=b, f(3)=a bijective? 3.Can one make a list of all real numbers? 4.Is the language natural } regular? 5.Is the graph bipartite? 6.How many edges has a 6-vertex tree? 7.Does the graph contain a 4-clique? 8.Is a CNF? 9.Is equivalent to x ? y ?


Download ppt "CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, TA: Ramsay Dyer, Learning."

Similar presentations


Ads by Google