subset construction

subset construction

The

subset construction

is a technique of turning a non-deterministic

automaton

into a

deterministic

one, while keeping the accepting

language

the same. This technique shows that an NDFA is no more powerful in terms of word acceptance than a DFA.

We begin by looking at a

semiautomaton

(

S

,

Σ

,

δ

)

. The transition function

δ

is a

function

from

S

×

Σ

to

P

⁢

(

S

)

, which maps a pair

(

s

,

a

)

to a subset

δ

⁢

(

s

,

a

)

of

S

. Observe that

δ

can be extended to a function

δ

′

from

P

⁢

(

S

)

×

Σ

to

P

⁢

(

S

)

by setting

δ

′

⁢

(

T

,

a

)

:=

⋃

{

δ

⁢

(

t

,

a

)

∣

t

∈

T

}

(1)

for any subset

T

of

S

and

a

∈

Σ

. Note that

δ

′

⁢

(

∅

,

a

)

=

∅

. What we have just done is turning a semiautomaton

(

S

,

Σ

,

δ

)

into a deterministic semiautomaton

(

S

′

,

Σ

,

δ

′

)

, where

S

′

=

P

⁢

(

S

)

, the

powerset

of

S

.

It is easy to see, by

induction

on the length of

u

, that

δ

′

⁢

(

T

,

u

)

=

⋃

{

δ

⁢

(

t

,

u

)

∣

t

∈

T

}

.

Next, given an NDFA

A

=

(

S

,

Σ

,

δ

,

I

,

F

)

, we turn it into a DFA

A

′

:=

(

S

′

,

Σ

,

δ

′

,

I

′

,

F

′

)

as follows:

•

(

S

′

,

Σ

,

δ

′

)

is derived from

(

S

,

Σ

,

δ

)

by the construction above,

•

I

′

=

I

, and

•

F

′

=

{

T

⊆

S

∣

T

∩

F

≠

∅

}

.

Since

I

′

is an element of

S

′

=

P

⁢

(

S

)

, and

F

′

⊆

S

′

,

A

′

is a

well-defined

DFA.

Proposition 1

.

L

⁢

(

A

)

=

L

⁢

(

A

′

)

.

Proof.

u

∈

L

⁢

(

A

)

iff

δ

⁢

(

q

,

u

)

∩

F

≠

∅

(where

q

∈

I

) iff

δ

′

⁢

(

I

,

u

)

∈

F

′

iff

u

∈

L

⁢

(

A

′

)

.
∎

What happens if the NDFA in question contains

ϵ

-transitions (

http://planetmath.org/EpsilonTransition

)? Suppose

p

→

ϵ

q

is an

ϵ

-transition, and

p

≠

q

. Then

δ

′

⁢

(

{

p

}

,

ϵ

)

=

{

q

}

≠

{

p

}

, which is not allowed in a DFA.

To get around this difficulty, we make a small modification on

A

′

. First, define, for any

T

⊆

S

, the

ϵ

-

closure

C

ϵ

⁢

(

T

)

of

T

as the set

C

ϵ

⁢

(

T

)

:=

{

t

∣

t

∈

δ

′

⁢

(

T

,

ϵ

k

)

,

k

≥

0

}

(2)

For any

T

⊆

S

,

δ

′

⁢

(

C

ϵ

⁢

(

T

)

,

a

)

=

C

ϵ

⁢

(

T

)

. If the automaton does not contain any

ϵ

-transitions, then

C

ϵ

⁢

(

T

)

=

T

.

Now, let NDFA

A

be an

ϵ

-automaton (

http://planetmath.org/EpsilonAutomaton

), define

A

′′

:=

(

S

′

,

Σ

,

δ

′′

,

I

′′

,

F

′′

)

as follows:

•

S

′

=

P

⁢

(

S

)

,

•

δ

′′

⁢

(

T

,

a

)

=

δ

′

⁢

(

C

ϵ

⁢

(

T

)

,

a

)

, where

δ

′

is defined in (1) above,

•

I

′′

=

C

ϵ

⁢

(

I

)

, and

•

F

′′

=

{

T

⊆

S

∣

C

ϵ

⁢

(

T

)

∩

F

≠

∅

}

.

By

definition

,

A

′′

is a DFA, and it can be shown that

L

⁢

(

A

′′

)

=

L

⁢

(

A

)

. The proof is very

similar

to the one given here (

http://planetmath.org/EveryEpsilonAutomatonIsEquivalentToAnAutomaton

).

Title

subset construction

Canonical

name

SubsetConstruction

Date of creation

2013-03-22 19:02:00

Last modified on

2013-03-22 19:02:00

Owner

CWoo (3771)

Last modified by

CWoo (3771)

Numerical id

7

Author

CWoo (3771)

Entry type

Definition

Classification

msc 68Q05

Classification

msc 03D10

Classification

msc 68Q42

Synonym

powerset construction

Related topic

DeterministicFiniteAutomaton

Defines

ϵ

-closure

Generated on Sat Feb 10 12:40:41 2018 by

LaTeXML