Theory of Computation Slides Emanuele Viola 2009 present Released - - PowerPoint PPT Presentation

theory of computation slides
SMART_READER_LITE
LIVE PREVIEW

Theory of Computation Slides Emanuele Viola 2009 present Released - - PowerPoint PPT Presentation

Theory of Computation Slides Emanuele Viola 2009 present Released under Creative Commons License Attribution-Noncommercial-No Derivative Works 3.0 United States http://creativecommons.org/licenses/by-nc-nd/3.0/us/ Also, let me know


slide-1
SLIDE 1

Theory of Computation Slides

Emanuele Viola 2009 – present

Released under Creative Commons License “Attribution-Noncommercial-No Derivative Works 3.0 United States” http://creativecommons.org/licenses/by-nc-nd/3.0/us/ Also, let me know if you use them.

slide-2
SLIDE 2

Index

introduction mathematical background regular languages and finite automata context-free languages computability and Turing machines complexity, P and NP.

slide-3
SLIDE 3

This class teaches two things:

  • Mathematical maturity
  • Theory of computation
slide-4
SLIDE 4

Mathematical maturity

  • Is the key to success in your scientific career
  • In this class we will:
  • Practice mathematical notation: sets, quantifiers, etc.
  • Get some exposure to proofs
slide-5
SLIDE 5

Theory of computation

  • We develop models of computation, and ask:

what can and cannot be computed in these models, and how quickly? with how much memory?

  • Questions fundamental to all of science.

Nature computes!

slide-6
SLIDE 6

Theory of computation

  • Most famous open question:

Is P = NP?

  • “Millennium Problem” with prize $1M
  • We will learn what this question means in this class
slide-7
SLIDE 7
  • Overview of material in Theory of Computation
  • Automata Theory
  • Computability Theory
  • Complexity Theory
slide-8
SLIDE 8
  • Automata Theory
  • Finite automata: Computers with no memory

Motivation: Numbers, names, in Prog. Languages Example: x = -0.0565

  • Context-free grammars: Memory = stack

Motivation: Syntax, grammar of Prog. Languages Example: if (...) then (…) else (…)

slide-9
SLIDE 9
  • Computability Theory
  • Turing Machines: “Compute until the sun dies”
  • Motivation: What problems can be solved at all?
  • Example: Given a program, does it have a bug?

We will prove impossible to determine!

slide-10
SLIDE 10
  • Complexity Theory
  • P, NP: Model your laptop
  • Motivation: What problems can be solved fast?
  • Example: Given a formula with 1000 variables like

(X OR Y) AND (X OR NOT Z) AND (Z OR Y) …

Is it satisfiable or not? Does it take 1 thousand years or 1 second to know?

slide-11
SLIDE 11
  • Recap
  • Automata theory: Finite automata, grammars
  • Computability Theory: Turing Machines
  • Complexity Theory: P, NP
  • Theme: Computation has many guises:

Automata, grammar, Turing Machine, formula ...