Theory of Computation Faculty Nimesh Kumar Paliwal BE
Theory of Computation Faculty: - Nimesh Kumar Paliwal (BE, M. Tech) Dept: - Computer Science & Engineering
Automaton temporary memory Automaton input CPU output Program memory 2
Automaton temporary memory Automaton input output transition state 3
Different Kinds of Automata are distinguished by the temporary memory • Finite Automata: no temporary memory • Pushdown Automata: stack • Turing Machines: random access memory 4
Finite Automaton temporary memory Finite Automaton input output Example: Elevators, Vending Machines (small computing power) 5
Pushdown Automaton Temp. memory Stack Push, Pop Pushdown input Automaton output Example: Compilers for Programming Languages (medium computing power) 6
Turing Machine Temp. memory Random Access Memory input Turing Machine output Examples: Any Algorithm (highest computing power) 7
Power of Automata Simple problems More complex problems Hardest problems Finite Pushdown Turing Automata Machine Less power More power Solve more computational problems 8
Deterministic Finite Automaton (DFA) • Input Tape String Output Finite Automaton “Accept” or “Reject” 9
Transition Graph • initial state accepting state transition state 10
Alphabet • For every state, there is a transition for every symbol in the alphabet 11
head Initial Configuration Input Tape • Input String Initial state 12
Scanning the Input • 13
Input finished accept 16
Nondeterministic Finite Automaton (NFA) Alphabet = 17
Alphabet = Two choices 18
Alphabet = Two choices No transition 19
First Choice 20
First Choice 21
First Choice All input is consumed “accept” 22
Second Choice 23
Second Choice Input cannot be consumed Automaton Halts “reject” 24
An NFA accepts a string: if there is a computation of the NFA that accepts the string i. e. , all the input string is processed and the automaton is in an accepting state 25
is accepted by the NFA: “accept” “reject” because this computation accepts this computation is ignored 26
- Slides: 26