Upload
gregory-harrington
View
246
Download
0
Embed Size (px)
Citation preview
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 (1912-1954)
Effective Computation
Algorithm
Any computer program
Truing Machine
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
Complexities
Solvable
Can a solvable problem be solved in practical sense?
Time Complexity
Space Complexity
NP
NP-Completeness
P NP-Complete
L NP-Complete iff1. 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.
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
Textbooks Programs, Machines and Computation: An Introduction to the Theor
y 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 Papadimitri
ou– 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