Computation Theory

Computation Theory
主講人:虞台文
Content
Overview
 The Limitation of Computing
 Complexities
 Textbooks & Grading

Computation Theory
Overview
What is Computation?

Computation can be actually defined as finding a
solution to a problem from given inputs by means
of an algorithm.

What is an algorithm?

Are following two statements `equivalent’?
–
–
What can be computed?
What can be solved algorithmically?
Tools for Computation

Your grandparents (or parents)
–
–
–
–

pen and paper, or
chalk and slate, or
mentally,
sometimes with the aid of tables.
Now, electronic computers
–
The theory of computation began early in the
twentieth century, before modern electronic
computers had been invented.
Computation Models

Register Machines

Turing Machines

Markov Algorithmic Machines

Recursive Functions

-calculus
Equivalent in
computational power
Turing, Alan (1912-1954)
Church-Turing Thesis

Every effective computation or algorithm
can be carried out by a Turing Machine.
Effective Computation
Algorithm
Any computer program
Truing Machine
Computation Theory
The Limitation of
Computing
What Can be Done by a Computer?

Problem Solvability
What computers can?
What computers can't?
Halting Problem
Given a description of an algorithm and a description of its
initial arguments, determine whether the algorithm, when
executed with these arguments, ever halts.
Unsolvable?
Halting Problem
Given a description of an algorithm and a description of its
initial arguments, determine whether the algorithm, when
executed with these arguments, ever halts.
Determination of Problems’ Solvability
Methods:
• Problem Reduction
• Diagonalization Principle
• Rice’s Theorem
Computation Theory
Complexities
Unsolvability vs. Solvability
Unsolvable
Solvable
Complexities
Can a solvable problem be
solved in practical sense?
Time Complexity
Space Complexity
Solvable
P and NP
NP
P
P and NP
Polynomial-Time
Solvable
NP
P
Nondeterministi
c PolynomialTime
Solvable
P and NP
P = NP ?
No answer, now.
NP
P
NP-Completeness
1. L  NP
L  NP-Complete iff
2. L’  NP
p.r
L
NP
P
NP-Complete
P =NP can be concluded if you can
find one L  NP-Complete being
polynomial-time solvable, i.e., L  P.
Some NP-Complete Problems
TSP (Traveling Salesman Problem)
Some NP-Complete Problems
Bounded
Tiling Problem
More on NP-Completeness

How to prove a problem being NP-complete
or NP-hard?
–

Problem Reduction
How to `solve’ the problem if it is known
to be NP-complete or NP-hard?
–
E.g., by heuristic algorithms
More Advance Topics

Molecular Computation Theory

Quantum Computation Theory
Computation Theory
Textbooks &
Grading
Textbooks

Programs, Machines and Computation: An Introduction to the
Theory of Computing (out of print)
–
–

Elements of the Theory of Computation, 2/E
–
–

Authors: Harry R. Lewis, Christos H. Papadimitriou and Christos
Papadimitriou
Publisher: Prentice Hall
Introduction to Automata Theory, Languages, and Computation, 2/E
–
–

Authors: Keith Clark and Don Cowell
Publisher: McGraw-Hill Companies
Authors: John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
Publisher: Addison-Wesley
An Introduction to Formal Languages and Automata, 3/E
–
–
Author: Peter Linz
Publisher: Jones and Bartlett
Grading

Homework: 20%
You have to hand in each assignment on time
In-Class Examination: 20%
 Midterm Examination: 30%
 Final Examination: 30%
