Title: Computation Theory
1Computation Theory
2Content
- Overview
- The Limitation of Computing
- Complexities
- Textbooks Grading
3Computation Theory
4What 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?
5Tools 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.
6Computation Models
- Register Machines
- Turing Machines
- Markov Algorithmic Machines
- Recursive Functions
- ?-calculus
Equivalent in computational power
7Church-Turing Thesis
Turing, Alan (1912-1954)
- Every effective computation or algorithm can be
carried out by a Turing Machine.
Effective Computation
Algorithm
Any computer program
Truing Machine
8Computation Theory
- The Limitation of Computing
9What Can be Done by a Computer?
What computers can?
What computers can't?
10Halting 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.
11Halting Problem
Unsolvable?
Given a description of an algorithm and a
description of its initial arguments, determine
whether the algorithm, when executed with these
arguments, ever halts.
12Determination of Problems Solvability
Methods
- Problem Reduction
- Diagonalization Principle
- Rices Theorem
13Computation Theory
14Unsolvability vs. Solvability
15Complexities
Can a solvable problem be solved in practical
sense?
Time Complexity
Space Complexity
16P and NP
17P and NP
Polynomial-Time Solvable
Nondeterministic Polynomial-Time Solvable
18P and NP
P NP ?
No answer, now.
19NP-Completeness
1. L ? NP
L ? NP-Complete iff
2. L ? NP
L
p.r
P NP can be concluded if you can find one L ?
NP-Complete being polynomial-time solvable, i.e.,
L ? P.
20Some NP-Complete Problems
TSP (Traveling Salesman Problem)
21Some NP-Complete Problems
Bounded Tiling Problem
22More 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
23More Advance Topics
- Molecular Computation Theory
- Quantum Computation Theory
24Computation Theory
25Textbooks
- 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
26Grading
- Homework 20
- You have to hand in each assignment on time
- In-Class Examination 20
- Midterm Examination 30
- Final Examination 30