33
Introduction Algorithm Analysis - Correctness and Time complexity A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain Department of Computer Science and Automation Indian Institute of Science, Bangalore. October 30, 2013 A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 1 / 30

A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

A Linear Algorithm for Testing Equivalence ofFinite Automata

Namrata Jain

Department of Computer Science and AutomationIndian Institute of Science, Bangalore.

October 30, 2013

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 1 / 30

Page 2: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

Outline

1 IntroductionProblem DefinitionPrevious Work

2 AlgorithmIntuitionAlgorithmExample 1Example 2

3 Analysis - Correctness and Time complexityCorrectnessTime Complexity

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 2 / 30

Page 3: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

Problem DefinitionPrevious Work

Plan

1 IntroductionProblem DefinitionPrevious Work

2 AlgorithmIntuitionAlgorithmExample 1Example 2

3 Analysis - Correctness and Time complexityCorrectnessTime Complexity

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 3 / 30

Page 4: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

Problem DefinitionPrevious Work

A Quick Recap

DFA over Σ : M = (Q, s, δ,F )

Q is a finite set of statess ∈ Q represents the start stateδ : Q × Σ→ Q is the transition functionF ⊆ Q is the set of final states

Define δ̂ : Q × Σ∗ → Q

δ̂(q, ε) = q

δ̂(q,w · a) = δ(δ̂(q,w), a)

Language accepted by DFA M (Denoted by L(M))

L(M) = {w ∈ Σ∗ | δ̂(s,w) ∈ F}

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 4 / 30

Page 5: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

Problem DefinitionPrevious Work

Problem Definition

Input : 2 DFA’s over Σ

M1 = (Q1, s1, δ1,F1)

M2 = (Q2, s2, δ2,F2)

Output : Is L(M1) = L(M2)?

∀w ∈ Σ∗, δ̂1(s1,w) ∈ F1 iff δ̂2(s2,w) ∈ F2

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 5 / 30

Page 6: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

Problem DefinitionPrevious Work

Existing Solutions

Previous algorithms have a time complexity of1 O(n2)2 O(n lgn)

Hopcroft-Karp algorithm has a time complexity of O(n|Σ|)

n = |Q1|+ |Q2|

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 6 / 30

Page 7: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Plan

1 IntroductionProblem DefinitionPrevious Work

2 AlgorithmIntuitionAlgorithmExample 1Example 2

3 Analysis - Correctness and Time complexityCorrectnessTime Complexity

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 7 / 30

Page 8: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Notation

Equivalent States

Two states p and q are said to be equivalent (p ≡ q) if

∀p, q ∈ Q1

⋃Q2 ∀w ∈ Σ∗,

δ̂(p,w) ∈ F1

⋃F2 iff δ̂(q,w) ∈ F1

⋃F2

Right invariant Equivalence Relation

A equivalence relation ≡ over Q1⋃

Q2 is right invariant if

∀p, q ∈ Q1

⋃Q2 ∀a ∈ Σ,

δ(p, a) ≡ δ(q, a)

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 8 / 30

Page 9: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Intuition

L(M1) = L(M2)=⇒ s1 and s2 are equivalent=⇒ δ(s1, a) = δ(s2, a)

We begin by assuming s1 and s2 equivalent.

Sets are merged whenever it is found two states need to beequivalent for the assumption to hold.

When the process terminates, M1 and M2 are equivalent ifnone of the sets has a final and a non-final statesimultaneously.

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 9 / 30

Page 10: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Data Structure Used

Data Structure used is a linear list of sets of elements. Eachlist has a name.

It can execute only two types of instructions1 FIND(x) : It returns the name of the set containing x2 MERGE(A, B, C) : It merges set A and B and names it C

A sequence of n instructions takes O(n) time.

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 10 / 30

Page 11: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Algorithm

1 Initialize Data Structuresa ∀q ∈ Q1

⋃Q2, create and initalize a set in Linear List with name

qb Stack = φ

2 Assume s1 and s2 to be equivalenta MERGE(s1, s2, s2)b Push(s1, s2)

3 Repet until stack is emptya Pop (q1, q2)b r1 = FIND(δ(q1, a))c r2 = FIND(δ(q2, a))d if r1 6= r2

i MERGE(r1, r2, r2)ii Push(r1, r2)

4 Check if equivalentScan states on each list. Output “TRUE” iff no list contains afinal and a non-final state and “FALSE” otherwise

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 11 / 30

Page 12: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Example 1 : Step 1

q1start q2

q3q4

a

b

a

b

a

b

a

b

Figure 1 : DFA 1

q5start q6

a

b

a

b

Figure 2 : DFA 2

Stack : φLinear List : {q1}, {q2}, {q3}, {q4}, {q5}, {q6}

Figure 3 : Stack and Linear List

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 12 / 30

Page 13: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Example 1 : Step 2

q1start q2

q3q4

a

b

a

b

a

b

a

b

Figure 1 : DFA 1

q5start q6

a

b

a

b

Figure 2 : DFA 2

Stack : {q1, q5}Linear List : {q1, q5}, {q2}, {q3}, {q4}, {q6}

Figure 3 : Stack and Linear List

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 13 / 30

Page 14: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Example 1 : Step 3

q1start q2

q3q4

a

b

a

b

a

b

a

b

Figure 1 : DFA 1

q5start q6

a

b

a

b

Figure 2 : DFA 2

Stack : {q2, q6}Linear List : {q1, q5}, {q2, q6}, {q3}, {q4}

Figure 3 : Stack and Linear List

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 14 / 30

Page 15: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Example 1 : Step 3

q1start q2

q3q4

a

b

a

b

a

b

a

b

Figure 1 : DFA 1

q5start q6

a

b

a

b

Figure 2 : DFA 2

Stack : {q3, q5}Linear List : {q1, q3, q5}, {q2, q6}, {q4}

Figure 3 : Stack and Linear List

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 15 / 30

Page 16: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Example 1 : Step 3

q1start q2

q3q4

a

b

a

b

a

b

a

b

Figure 1 : DFA 1

q5start q6

a

b

a

b

Figure 2 : DFA 2

Stack : {q4, q6}Linear List : {q1, q3, q5}, {q2, q4, q6}

Figure 3 : Stack and Linear List

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 16 / 30

Page 17: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Example 1 : Step 3

q1start q2

q3q4

a

b

a

b

a

b

a

b

Figure 1 : DFA 1

q5start q6

a

b

a

b

Figure 2 : DFA 2

Stack : φLinear List : {q1, q3, q5}, {q2, q4, q6}

Figure 3 : Stack and Linear List

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 17 / 30

Page 18: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Example 2 : Step 1

q1start q2

a

b

a

b

Figure 1 : DFA 1

q3start q4

b

a

b

a

Figure 2 : DFA 2

Stack : φLinear List : {q1}, {q2}, {q3}, {q4}

Figure 3 : Stack and Linear List

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 18 / 30

Page 19: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Example 2 : Step 2

q1start q2

a

b

a

b

Figure 1 : DFA 1

q3start q4

b

a

b

a

Figure 2 : DFA 2

Stack : {q1, q3}Linear List : {q1, q3}, {q2}, {q4}

Figure 3 : Stack and Linear List

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 19 / 30

Page 20: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Example 2 : Step 3

q1start q2

a

b

a

b

Figure 1 : DFA 1

q3start q4

b

a

b

a

Figure 2 : DFA 2

Stack : {q2, q3}, {q1, q4}Linear List : {q1, q2, q3, q4}

Figure 3 : Stack and Linear List

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 20 / 30

Page 21: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Example 2 : Step 3

q1start q2

a

b

a

b

Figure 1 : DFA 1

q3start q4

b

a

b

a

Figure 2 : DFA 2

Stack : {q2, q3}Linear List : {q1, q2, q3, q4}

Figure 3 : Stack and Linear List

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 21 / 30

Page 22: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

IntuitionAlgorithmExample 1Example 2

Example 2 : Step 3

q1start q2

a

b

a

b

Figure 1 : DFA 1

q3start q4

b

a

b

a

Figure 2 : DFA 2

Stack : φLinear List : {q1, q2, q3, q4}

Figure 3 : Stack and Linear List

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 22 / 30

Page 23: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

CorrectnessTime Complexity

Plan

1 IntroductionProblem DefinitionPrevious Work

2 AlgorithmIntuitionAlgorithmExample 1Example 2

3 Analysis - Correctness and Time complexityCorrectnessTime Complexity

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 23 / 30

Page 24: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

CorrectnessTime Complexity

Notation

Connecting Sequence

A sequence of states q1, q2, . . . , qr is a connecting sequence if

∀a ∈ Σ, δ(qi , a) and δ(qi+1, a) are on same list

The pair (qi , qi+1) is on stack

Joined States

States p and q are joined by the connecting sequence q1, q2, . . . , qr

if p = q1 and q = qr

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 24 / 30

Page 25: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

CorrectnessTime Complexity

Lemma

Lemma

E is an equivalence relation defined on p, q ∈ S1⋃

S2 s.t. pEq iff pand q appear on same list at the end of the algorithm. It iscoarsest right invariant equivalence identifying s1 and s2.

Proof :

Coarsest Equivalence RelationTwo lists are merged only if ∃p1, p2 ∈ Q1

⋃Q2 are on the

same list and ∀a ∈ Σδ1(p1, a) and δ(p2, a) are on different lists.Since does not make too many identifications ⇒ it is coarsest.

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 25 / 30

Page 26: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

CorrectnessTime Complexity

Lemma

Lemma

E is an equivalence relation defined on p, q ∈ S1⋃

S2 s.t. pEq iff pand q appear on same list at the end of the algorithm. It iscoarsest right invariant equivalence identifying s1 and s2.

Proof :

Coarsest Equivalence RelationTwo lists are merged only if ∃p1, p2 ∈ Q1

⋃Q2 are on the

same list and ∀a ∈ Σδ1(p1, a) and δ(p2, a) are on different lists.Since does not make too many identifications ⇒ it is coarsest.

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 25 / 30

Page 27: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

CorrectnessTime Complexity

Lemma - Proof Contd.

Right Invariant Equivalence RelationInduction Hypothesis : Before kth iteration of the ’while’loop, if (p, q) are on the same list, then p and q are joined bya connecting sequence.Basis : k=1s1, s2 are only in the same set and (s1, s2) are at the stack top.⇒ s1 and s2 are joined by a connecting sequence.Induction Step :

If p and q are joined before the k th iteration, they are joinedafter k th iteration alsoAssume p and q are on the same list after k th iteration

1 p and q were on same list before the k th iteration, they remainso.

2 Several lists merge into one list because the join relation isreflexive, symmetric and transitive.

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 26 / 30

Page 28: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

CorrectnessTime Complexity

Theorem

Lemma

The given algorithm is correct.

Proof :

M1 ≡ M2

Let E ′ be a right invariant equivalence relation s.t. ∀p, q ∈Q1

⋃Q2 ∀w ∈ Σ∗ δ̂(p,w) ∈ F1

⋃F2 iff δ̂(q,w) ∈ F1

⋃F2

Since E ′ is right invariant ⇒ E ′ is a refinement of ESince E ′ can not identify final and non-final states neither canE⇒ No list can contain both final and non-final state.

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 27 / 30

Page 29: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

CorrectnessTime Complexity

Theorem

Lemma

The given algorithm is correct.

Proof :

M1 ≡ M2

Let E ′ be a right invariant equivalence relation s.t. ∀p, q ∈Q1

⋃Q2 ∀w ∈ Σ∗ δ̂(p,w) ∈ F1

⋃F2 iff δ̂(q,w) ∈ F1

⋃F2

Since E ′ is right invariant ⇒ E ′ is a refinement of ESince E ′ can not identify final and non-final states neither canE⇒ No list can contain both final and non-final state.

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 27 / 30

Page 30: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

CorrectnessTime Complexity

Theorem - Proof Contd.

If M1 6= M2 some list contains final and non-final state∃w ∈ Σ∗ : δ̂(s1,w) ∈ F and δ̂(s2,w) /∈ FSince E is right invariant(Lemma), δ̂(s1,w) E δ̂(s2,w)=⇒ δ̂(s1,w) and δ̂(s2,w) are in the same list=⇒ A list contains final and non-final state

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 28 / 30

Page 31: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

CorrectnessTime Complexity

Time Complexity Analysis

Theorem

Execution time of the algorithm is n × (|Q1|+ |Q2|).

Proof :

Step 1, 2 and 3 take O(n) time.

Step 3 takes O(m × |Σ|) time where m is the number of pairspushed/popped on the stack

Each time a pair is pushed on to the stack, total number ofsets are decreased by 1.As there were n sets in the beginning, atmost (n-1) pairs arepushed/ popped.Number of pairs pushed/ popped from the stack is thereforebounded by n.

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 29 / 30

Page 32: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

CorrectnessTime Complexity

Time Complexity Analysis

Theorem

Execution time of the algorithm is n × (|Q1|+ |Q2|).

Proof :

Step 1, 2 and 3 take O(n) time.

Step 3 takes O(m × |Σ|) time where m is the number of pairspushed/popped on the stack

Each time a pair is pushed on to the stack, total number ofsets are decreased by 1.As there were n sets in the beginning, atmost (n-1) pairs arepushed/ popped.Number of pairs pushed/ popped from the stack is thereforebounded by n.

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 29 / 30

Page 33: A Linear Algorithm for Testing Equivalence of Finite Automatadeepakd/atc-2013/seminars/Equivalence… · Introduction Algorithm Analysis - Correctness and Time complexity Intuition

IntroductionAlgorithm

Analysis - Correctness and Time complexity

CorrectnessTime Complexity

Questions??

Thank You!!

A Linear Algorithm for Testing Equivalence of Finite Automata Namrata Jain 30 / 30