Lecture on Mar 2, 2004 Introduction to Theory of Computation - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

Lecture on Mar 2, 2004 Introduction to Theory of Computation

Description:

Started in1930s by logicians G del, Turing, Church, ... Resources: Time, Space, Randomness, Communication Bandwidth, ... History: Hilbert's 10th Problem, 1900 ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 13
Provided by: yanzon
Category:

less

Transcript and Presenter's Notes

Title: Lecture on Mar 2, 2004 Introduction to Theory of Computation


1
Lecture on Mar 2, 2004Introduction to Theory of
Computation
  • Topics
  • Introduce Computability Complexity
  • Decision Problems Languages
  • Decidability Undecidability
  • Reading Sipser, Chapter 0, Sections 3.3 4.2

2
What is TOC?
  • Studies mathematical laws governing computation.
  • Fundamental capabilities and limitations of
    computers.
  • Computability
  • Started in1930s by logicians Gödel, Turing,
    Church,
  • Is a given problem computable (or solvable) by an
    algorithm?
  • Complexity
  • Hartmanis Stearns 66, Blum 66, Cook 70, Karp
    71, Levin 72,
  • Is a given computable problem efficiently
    computable? How much resource is required?
  • Resources Time, Space, Randomness, Communication
    Bandwidth,
  • Both focus on negative results, i.e. on
    limitations.

3
Why Study Negative Results
  • Knowing that a problem is incomputable prevents
    us from attempting an algorithm for it (which
    does not exist).
  • Knowing that a problem is not efficiently
    computable tells us not to attempt an algorithm
    that solves it exactly, but go for one that gives
    an approximate solution.
  • Leads to Approximation Algorithms. Later in the
    course.
  • CS 6550, CS 7520
  • In some cases, negative results turn into
    positive results.
  • Example Cryptography
  • AD CS 8803 Foundations of Cryptography, Fall
    2004
  • TOC has had tremendous influence on advances of
    technology.

4
Decision Problems
  • Problems whose answers are YES or NO.
  • Examples
  • Is a given array A sorted?
  • Is a given graph G connected?
  • Does a given weighted undirected graph G has a
    spanning tree of weight at most w?
  • Does a given graph G have a path of length at
    most l?
  • Is a given integer n a prime?

5
Decidability Informal Definition
  • Def A decision problem is decidable if there is
    an algorithm that solves (or decides) the problem
    correctly.
  • To show that a decision problem is decidable,
    just give a deciding algorithm.
  • Examples
  • Is a given array A ? (A1, , An) sorted? is
    decidable. Deciding
    Algorithm Just check if Ai ? Ai ?1 for each 1 ?
    i ? n?1.
  • Is a given graph G connected? is decidable.
    Deciding
    Algorithm DFS.

6
Decidable Problems
  • Examples (Continued)
  • Does a given weighted undirected graph G has a
    spanning tree of weight at most w? is decidable.

    Deciding Algorithm Compute a MST of G
    (using Kruskal or Prim), check whether weight of
    MST is ? w.
  • Does a given graph G have a path of length at
    most l? is decidable.

    Deciding Algorithm Compute all-pair
    shortest paths in G (using Floyd-Warshall), check
    if there are two vertices u, v s.t. d(u,v) ? l.
  • Is a given integer n a prime? is decidable.
    (Naïve)
    Deciding Algorithm For each 2 ? k ? n ?1, check
    whether k divides n.

7
Languages Formalizing Decision Problems
  • Alphabet ?. Example ? ? 0,1.
  • Everything (e.g. integers, sets, graphs,
    polynomials, programs ) is represented as a
    string of symbols in ?.
  • Notation For an object O, ?O? denotes the
    encoding of O as a string over ?.
  • Def ? ? set of all strings over ?, including
    the empty string ?. Example 0,1
    ? ?, 0, 1, 00, 01, 10, 11, 000, 001, .
  • Def A language over ? is a subset of ? .

8
Languages
  • Decision Problem ? Language
  • Examples
  • SORTED ? ?A? A is a sorted array
  • CONNECTED ? ?G? A is a connected graph
  • SHORTPATH ? ?G, l? G is a graph that has a
    path of length ? l
  • PRIMES ? ?n? n is a prime integer

9
Decidable Languages
  • Def A language L is decidable if there is an
    algorithm A that decides L, i.e.
  • ? x ? L, A(x) ? 1
  • ? x ? L, A(x) ? 0
  • Each of SORTED, CONNECTED, SHORTPATH, PRIMES is
    decidable.
  • A language is undecidable if it is not decidable.

10
Is There an Undecidable Language?
  • YES! Some very natural problems are undecidable!
  • History Hilberts 10th Problem, 1900
  • Devise an algorithm whether any given
    multivariate polynomial with integer coefficient
    has an integer root.
  • Undecidable!!! Matijasevic, 1970.

11
Halting Problem Another Undecidable Language
  • Decide whether a given program M accepts a given
    input w.
  • ATM ? ?M, w? M is a program and M accepts w.
  • Theorem ATM is undecidable.
  • Proof Next lecture.

12
Remark on Reading Sipser
  • In Sipser, decidability defined using Turing
    Machines.
  • Turing Machine ? Algorithm (or Program).
  • Replace each occurrence of Turing Machine by
    Algorithm (or Program).
  • Skip details (e.g. tape, states, state
    transitions, head movements) of Turing Machines.
Write a Comment
User Comments (0)
About PowerShow.com