CHAPTER 3 CONTINUE Non Deterministic Automata Nondeterministic Finite

  • Slides: 108
Download presentation
CHAPTER 3 (CONTINUE) Non Deterministic Automata

CHAPTER 3 (CONTINUE) Non Deterministic Automata

Nondeterministic Finite Accepter (NFA) Alphabet = No transition Two choices No transition 1 -2

Nondeterministic Finite Accepter (NFA) Alphabet = No transition Two choices No transition 1 -2

Nondeterministic Finite Accepter (NFA) First Choice

Nondeterministic Finite Accepter (NFA) First Choice

Nondeterministic Finite Accepter (NFA) First Choice

Nondeterministic Finite Accepter (NFA) First Choice

Nondeterministic Finite Accepter (NFA) First Choice

Nondeterministic Finite Accepter (NFA) First Choice

Nondeterministic Finite Accepter (NFA) First Choice All input is consumed “accept”

Nondeterministic Finite Accepter (NFA) First Choice All input is consumed “accept”

Nondeterministic Finite Accepter (NFA) Second Choice

Nondeterministic Finite Accepter (NFA) Second Choice

Nondeterministic Finite Accepter (NFA) Second Choice No transition: the automaton hangs

Nondeterministic Finite Accepter (NFA) Second Choice No transition: the automaton hangs

Nondeterministic Finite Accepter (NFA) Second Choice Input cannot be consumed “reject”

Nondeterministic Finite Accepter (NFA) Second Choice Input cannot be consumed “reject”

Nondeterministic Finite Accepter (NFA) An NFA accepts a string: when there is a computation

Nondeterministic Finite Accepter (NFA) An NFA accepts a string: when there is a computation of the NFA that accepts the string AND all the input is consumed and the automaton is in a final state

Nondeterministic Finite Accepter (NFA) Example aa is accepted by the NFA: “accept” because this

Nondeterministic Finite Accepter (NFA) Example aa is accepted by the NFA: “accept” because this computation Accepts aa “reject”

Nondeterministic Finite Accepter (NFA) Rejection example

Nondeterministic Finite Accepter (NFA) Rejection example

Nondeterministic Finite Accepter (NFA) Rejection example First Choice

Nondeterministic Finite Accepter (NFA) Rejection example First Choice

Nondeterministic Finite Accepter (NFA) Rejection example First Choice “reject”

Nondeterministic Finite Accepter (NFA) Rejection example First Choice “reject”

Nondeterministic Finite Accepter (NFA) Rejection example Second Choice

Nondeterministic Finite Accepter (NFA) Rejection example Second Choice

Nondeterministic Finite Accepter (NFA) Rejection example Second Choice

Nondeterministic Finite Accepter (NFA) Rejection example Second Choice

Nondeterministic Finite Accepter (NFA) Rejection example Second Choice “reject”

Nondeterministic Finite Accepter (NFA) Rejection example Second Choice “reject”

Nondeterministic Finite Accepter (NFA) An NFA rejects a string: when there is no computation

Nondeterministic Finite Accepter (NFA) An NFA rejects a string: when there is no computation of the NFA that accepts the string: All the input is consumed and the automaton is in a non final state OR The input cannot be consumed

Nondeterministic Finite Accepter (NFA) Example a is rejected by the NFA: “reject” All possible

Nondeterministic Finite Accepter (NFA) Example a is rejected by the NFA: “reject” All possible computations lead to rejection

Nondeterministic Finite Accepter (NFA) Rejection example 2

Nondeterministic Finite Accepter (NFA) Rejection example 2

Nondeterministic Finite Accepter (NFA) Rejection example 2 First Choice

Nondeterministic Finite Accepter (NFA) Rejection example 2 First Choice

Nondeterministic Finite Accepter (NFA) Rejection example 2 First Choice

Nondeterministic Finite Accepter (NFA) Rejection example 2 First Choice

Nondeterministic Finite Accepter (NFA) Rejection example 2 First Choice Input cannot be consumed “reject”

Nondeterministic Finite Accepter (NFA) Rejection example 2 First Choice Input cannot be consumed “reject” No transition: the automaton hangs

Nondeterministic Finite Accepter (NFA) Rejection example 2 Second Choice

Nondeterministic Finite Accepter (NFA) Rejection example 2 Second Choice

Nondeterministic Finite Accepter (NFA) Rejection example 2 Second Choice

Nondeterministic Finite Accepter (NFA) Rejection example 2 Second Choice

Nondeterministic Finite Accepter (NFA) Rejection example 2 Second Choice Input cannot be consumed “reject”

Nondeterministic Finite Accepter (NFA) Rejection example 2 Second Choice Input cannot be consumed “reject” No transition: the automaton hangs

Nondeterministic Finite Accepter (NFA) Rejection example 2 aaa is rejected by the NFA: “reject”

Nondeterministic Finite Accepter (NFA) Rejection example 2 aaa is rejected by the NFA: “reject” All possible computations lead to rejection

Nondeterministic Finite Accepter (NFA) Language accepted:

Nondeterministic Finite Accepter (NFA) Language accepted:

Nondeterministic Finite Accepter (NFA) Lambda Transitions State can change without reading input

Nondeterministic Finite Accepter (NFA) Lambda Transitions State can change without reading input

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA) (read head does not move)

Nondeterministic Finite Accepter (NFA) (read head does not move)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA) all input is consumed “accept” String aa is accepted

Nondeterministic Finite Accepter (NFA) all input is consumed “accept” String aa is accepted

Nondeterministic Finite Accepter (NFA) Rejection Example

Nondeterministic Finite Accepter (NFA) Rejection Example

Nondeterministic Finite Accepter (NFA) Rejection Example

Nondeterministic Finite Accepter (NFA) Rejection Example

Nondeterministic Finite Accepter (NFA) Rejection Example (read head doesn’t move)

Nondeterministic Finite Accepter (NFA) Rejection Example (read head doesn’t move)

Nondeterministic Finite Accepter (NFA) Rejection Example Input cannot be consumed “reject” String aaa is

Nondeterministic Finite Accepter (NFA) Rejection Example Input cannot be consumed “reject” String aaa is rejected

Nondeterministic Finite Accepter (NFA) Language accepted:

Nondeterministic Finite Accepter (NFA) Language accepted:

Nondeterministic Finite Accepter (NFA) Another Example

Nondeterministic Finite Accepter (NFA) Another Example

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA) “accept”

Nondeterministic Finite Accepter (NFA) “accept”

Nondeterministic Finite Accepter (NFA) Another String

Nondeterministic Finite Accepter (NFA) Another String

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA) “accept”

Nondeterministic Finite Accepter (NFA) “accept”

Nondeterministic Finite Accepter (NFA) Language accepted

Nondeterministic Finite Accepter (NFA) Language accepted

Nondeterministic Finite Accepter (NFA) Another Example

Nondeterministic Finite Accepter (NFA) Another Example

Nondeterministic Finite Accepter (NFA) Language accepted (redundant state)

Nondeterministic Finite Accepter (NFA) Language accepted (redundant state)

Nondeterministic Finite Accepter (NFA) Remarks: • The symbol never appears on the input tape

Nondeterministic Finite Accepter (NFA) Remarks: • The symbol never appears on the input tape • Simple automata:

Formal Definition of NFAs Set of states, i. e. Input aplhabet, i. e. Transition

Formal Definition of NFAs Set of states, i. e. Input aplhabet, i. e. Transition function Initial state Final states

Nondeterministic Finite Accepter (NFA) NFAs are interesting because we can express languages easier than

Nondeterministic Finite Accepter (NFA) NFAs are interesting because we can express languages easier than DFAs NFA DFA

Nondeterministic Finite Accepter (NFA) Transition Function

Nondeterministic Finite Accepter (NFA) Transition Function

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA) Extended Transition Function

Nondeterministic Finite Accepter (NFA) Extended Transition Function

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA) Formally : there is a walk from with label to

Nondeterministic Finite Accepter (NFA) Formally : there is a walk from with label to

Nondeterministic Finite Accepter (NFA) The Language of an NFA

Nondeterministic Finite Accepter (NFA) The Language of an NFA

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA) Formally The language accepted by NFA is: where and there

Nondeterministic Finite Accepter (NFA) Formally The language accepted by NFA is: where and there is some (final state)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA) • NFAs accept the Regular Languages • Equivalence of Machines

Nondeterministic Finite Accepter (NFA) • NFAs accept the Regular Languages • Equivalence of Machines Machine if is equivalent to machine

Nondeterministic Finite Accepter (NFA) Example of equivalent machines NFA DFA

Nondeterministic Finite Accepter (NFA) Example of equivalent machines NFA DFA

Nondeterministic Finite Accepter (NFA) We will prove: Languages accepted by NFAs Regular Languages accepted

Nondeterministic Finite Accepter (NFA) We will prove: Languages accepted by NFAs Regular Languages accepted by DFAs NFAs and DFAs have the same computation power

Nondeterministic Finite Accepter (NFA) Languages accepted by NFAs Proof: Step 1 Regular Languages Every

Nondeterministic Finite Accepter (NFA) Languages accepted by NFAs Proof: Step 1 Regular Languages Every DFA is trivially an NFA Any language L accepted by a DFA is also accepted by an NFA

Nondeterministic Finite Accepter (NFA) Languages accepted by NFAs Proof: Step 2 Regular Languages Any

Nondeterministic Finite Accepter (NFA) Languages accepted by NFAs Proof: Step 2 Regular Languages Any NFA can be converted to an equivalent DFA Any language L accepted by an NFA is also accepted by a DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA We are given an NFA We want to convert it

Convert NFA to DFA We are given an NFA We want to convert it to an equivalent DFA With

Convert NFA to DFA If the NFA has states the DFA has states in

Convert NFA to DFA If the NFA has states the DFA has states in the powerset

Nondeterministic Finite Accepter (NFA) Another Example

Nondeterministic Finite Accepter (NFA) Another Example

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Procedure NFA to DFA 1. Initial state of NFA: NFA DFA Initial state of

Procedure NFA to DFA 1. Initial state of NFA: NFA DFA Initial state of DFA:

Procedure NFA to DFA 2. For every DFA’s state Compute in the NFA Add

Procedure NFA to DFA 2. For every DFA’s state Compute in the NFA Add transition to DFA

Procedure NFA to DFA Repeat Step 2 for all letters in alphabet, until no

Procedure NFA to DFA Repeat Step 2 for all letters in alphabet, until no more transitions can be added. Exampe NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA 3. For any DFA state If some is a final

Convert NFA to DFA 3. For any DFA state If some is a final state in the NFA Then, is a final state in the DFA

Convert NFA to DFA NFA DFA

Convert NFA to DFA NFA DFA

Nondeterministic Finite Accepter (NFA) Theorem Take NFA Apply procedure to obtain DFA Then and

Nondeterministic Finite Accepter (NFA) Theorem Take NFA Apply procedure to obtain DFA Then and are equivalent :

Nondeterministic Finite Accepter (NFA) Proof AND

Nondeterministic Finite Accepter (NFA) Proof AND

Nondeterministic Finite Accepter (NFA) First we show: Take arbitrary: We will prove:

Nondeterministic Finite Accepter (NFA) First we show: Take arbitrary: We will prove:

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA)

Nondeterministic Finite Accepter (NFA) We will show that if

Nondeterministic Finite Accepter (NFA) We will show that if

Nondeterministic Finite Accepter (NFA) More generally, we will show that if in arbitrary string

Nondeterministic Finite Accepter (NFA) More generally, we will show that if in arbitrary string

Nondeterministic Finite Accepter (NFA) Proof by induction on Induction Basis:

Nondeterministic Finite Accepter (NFA) Proof by induction on Induction Basis:

Nondeterministic Finite Accepter (NFA) Induction hypothesis:

Nondeterministic Finite Accepter (NFA) Induction hypothesis:

Nondeterministic Finite Accepter (NFA) Induction Step:

Nondeterministic Finite Accepter (NFA) Induction Step:

Nondeterministic Finite Accepter (NFA) Induction Step:

Nondeterministic Finite Accepter (NFA) Induction Step:

Nondeterministic Finite Accepter (NFA) Therefore if

Nondeterministic Finite Accepter (NFA) Therefore if

Nondeterministic Finite Accepter (NFA) We have shown: We also need to show: (proof is

Nondeterministic Finite Accepter (NFA) We have shown: We also need to show: (proof is similar)