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
Church-Turing Thesis Every effective computation or algorithm can be carried out by a Turing Machine. Turing, Alan ( ) 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.
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?
Determination of Problems’ Solvability Methods: Problem Reduction Diagonalization Principle Rice’s Theorem
Computation Theory Complexities
Unsolvability vs. Solvability UnsolvableSolvable
Complexities Solvable Can a solvable problem be solved in practical sense? Time Complexity Space Complexity
NP P and NP P
NP P and NP P Polynomial-Time Solvable Nondeterministi c Polynomial- Time Solvable
NP P and NP P P = NP ? No answer, now.
NP NP -Completeness P NP -Complete L NP -Complete iff 1. L NP 2. L’ NP p.r L 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) – Authors: Keith Clark and Don Cowell – Publisher: McGraw-Hill Companies 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: 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%