260 likes | 530 Views
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 .
E N D
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
Unsolvable Solvable Unsolvability vs. Solvability
Solvable Complexities Can a solvable problem be solved in practical sense? Time Complexity Space Complexity
NP P P and NP
NP P P and NP Polynomial-Time Solvable Nondeterministic Polynomial-Time Solvable
NP P P and NP P = NP ? No answer, now.
NP P NP-Complete NP-Completeness 1. L NP L NP-Complete iff 2. L’ NP L p.r P =NP can be concluded if you can find oneL 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%