Download as pdf or txt
Download as pdf or txt
You are on page 1of 36

Models of Computation

mywbut.com 1
Models of Computation (RAM)

a) Random Access Machines


b) Straight Line Programs and Circuits
c) Vector Machines
d) Turing Machines
e) Pointer Machines
f) Decision Trees
g) Machines That Make Random Choices

mywbut.com 2
Random Access Machine (RAM)

mywbut.com 3
RAM Assumptions

1) Each register holds an integer


2) Program can’t modify itself
3) Memory instructions involve simple
arithmetic
a) Addition, subtraction
b) Multiplication, division and control
states (got, if-then, etc.)

mywbut.com 4
Simplified Program Style

mywbut.com 5
Complexity Measures of Algorithms

Input X
⇒ Algorithm A ⇒ output
size n=|X|

• TimeA (X) = time cost of Algorithm A,


input X

• SpaceA (X) = space cost of Algorithm


A, input X

• Note: “time” and “space” depend on


machine
mywbut.com 6
Complexity Measures of Algorithms
(cont’d)

• Worst case TA (n) = max (Time A (X))


time complexity {x:|x|=n}

• Average case complexity E(TA (n))= ∑ Time A (X)Prob(X)


for random inputs {x:|x|=n}

• Worst case SA (n) = max (Space A (X))


space complexity {x:|x|=n}

• Average case complexity E(S (n))= Space (X)Prob(X)


for random inputs A ∑ A

{x:|x|=n}
mywbut.com 7
Cost Criteria
• Uniform Cost Criteria
Time = # RAM instructions
space = # RAM memory registers

• Logarithmic Cost Criteria


– Time= L(i) units per RAM instruction
on integer size i
– Space = L(i) units per RAM register
on integer size i

mywbut.com 8
Cost Criteria (cont’d)

  log |i| i≠0


where L(i) = 
 1 i=0

• Example
Z←2
for k=1 to n do Z ← Z ⋅ Z
2n
ouput Z = 2
Uniform time cost = n
Logarithmic time cost > 2n

mywbut.com 9
Varieties of Computing Machine
Models
RAMs
Straight line programs
Circuits
Bit vectors
Lisp machines

Turning Machines

mywbut.com 10
Straight Line Programs

• Idea
• fix n = input size
• unroll each iteration loop until result
is loop-free program Πn
• Note: this is only possible if we can
eliminate all branching and all indirect
addressing

For each n > 0,


⇒ get a distinct program Πn

mywbut.com 11
Example
• Given polynomial

p(x) = a n x n + a n-1x n-1 + ... + a1x + a 0


with constant coefficients a0, a1, …, an

• Horner’s Rule for Polynomial Evaluation


input X
RAM
program Y ← a n

in 2n  for i = n-1 by -1 to 0 do Y ← (Y ⋅ X) + a i
steps ouput Y

mywbut.com 12
Example (cont’d)

mywbut.com 13
Straight Line
Programs ⇐⇒ Circuits
1-1
correspondence

(DAG) graph model for straight line


programs

mywbut.com 14
Boolean Circuits (for VLSI Design)

• Restrictions
1) All memory registers have value 0 or 1
2) Use only logical operations
∧ ∨ ⊕ ¬
“and”
mywbut.com
“or” “parity” “not” 15
Vector Machines

• logical operations ∧, ∨, ⊕, ¬
• applied to vector elements

• memory locations hold boolean vectors

• may also allow vector shift operations

mywbut.com 16
Vector Machines (cont’d)

• Example
graph G

mywbut.com 17
Decision Trees

mywbut.com 18
Decision Trees (cont’d)

• To sort n keys
• Any decision tree must have
n! output leaves
• (n! = # permutations of n keys)
hence height of tree is

≥ log 2 (n!) ≥ c n log n

mywbut.com 19
Pointer Machines
Based on LISP programming language

my m 20
The Turing Machine (TM):
The VW of Machines

• Invented by Turing (a Cambridge logician)


− Built by British for WWII cryptography !

mywbut.com 21
The Turing Machine (cont’d)

T(n) = time cost = max steps of TM

S(n) = space cost = max cells written by


TM on memory tapes

mywbut.com 22
Reductions Between TM and RAM
Models
1) Given TM time cost T(n) then
∃ equivalent RAM (obvious)
Time c T(n) if uniform
cost
cost c T(n) (log n) if logarithmic
cost

2) Given RAM time cost T(n) with


logarithmic cost then
∃ equivalent TM with time cost c’ T(n)2

mywbut.com 23
Reductions Between TM and RAM
Models (cont’d)

Proof idea
registers
Read
write
memory

• Do arithmetic by Grammar School


Method

mywbut.com 24
Extensions of RAMS

• Reasonable:
(0) Modifiable Program
(1) Random Choices
(2) Non-uniformity

• Not Reasonable:
(3) Non-deterministic Choices

mywbut.com 25
RASP Machine

• Same as RAM but allow


program to change itself

• Same power as RAM

• Proof idea (due to Von Neumann)


• Let RAM use memory registers to
store modifiable program of RASP

mywbut.com 26
Randomized Machines
• Extend RAM instructions to include
− r  RANDOM(k) gives a random k
bit number
− Let AR(x) denote randomized
algorithm with input x, random
choices R
Expected Time input X
= ∑ Time (X) Prob (R)
Time (X) ∀R

• Expected Time Complexity


− T(n) = max Time (x)
{x|n = |x|}

mywbut.com 27
P
R
O
B
A
B
I
L
I
T
Y
TIME T(n)
mywbut.com 28
A Randomized Computation

mywbut.com 29
1) If machine outputs value v with prob >
½ then v is considered its output.

2) Machine accepts input X if outputs 1


with prob > ½

3) Has 1-sided error if when not accepting


1 outputs only 0.

mywbut.com 30
Non-Uniformity

• For each input size n, allow the


program a distinct, finite, “advice
tape” to read

• Note:
• If advice tape length 2n can solve
any Boolean output problem with n
Boolean inputs (obvious).

mywbut.com 31
Surprising Result (Adelman)

• Given any polynomial time randomized


algorithm with 1 side error,
∃ a non-uniform deterministic
algorithm with polynomial time and
polynomial advice!

• Gives way of derandomizing a


randomized algorithm

mywbut.com 32
Nondeterministic Machines
• Allow “nondeterministic choice” branches

accept x reject x

• If any sequence of choices succeed to


accept x, then computation accepts.
mywbut.com 33
NP and P

• NP = languages accepted by
polynomial time nondeterministic TM
machines.
• Includes many hard problems:
1) Traveling Salesman Problem
2) Propositional Satisfiability
3) Integer Programming
• P = languages accepted by
polynomial time deterministic
machines
? Not known
P = NP probably no
mywbut.com 34
Another Surprising Result (Levin)

• If P=NP but we don’t know the proof


(i.e., the polynomial time algorithm for
NP)
− find an optimal algorithm to find the
solution of any solvable search
problem, in polynomial time!

• Proof depends on assumption that there


is a finite length program for NP search
problems, running in poly time)

mywbut.com 35
Conclusion

1) There are many possible machine


models

2) Most (but not Nondeterministic) are


“constructable” – so might be used if
we have efficient algorithms to
execute on machines.

3) New machine models can help us


invent new algorithms, and vice
versa!

mywbut.com 36

You might also like