1 / 13

CMPT 308 — Computability and Complexity Fall 2004

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

Download Presentation

CMPT 308 — Computability and Complexity Fall 2004

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 29th • 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. Computability and Complexity 1-1 Introduction 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 • What is the shortest DNA sequence that contains all of • and as subsequences? • What is the shortest DNA sequence, formed by overlapping elements • from these sets, which begins with and ends with ? • Is there a set of indices such that • 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 impossible

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

  8. Computability and Complexity Gödel’s Incompleteness Theorem 1-7 Prehistory 1900 1928 1933 Hilbert’s program 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 1937 1945 1951 1960 1936 Turing Machine Undecidability of Logic First digital computer Recursive Functions Markov’s algorithms 1-8 The Machine

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

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

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

More Related