Boolean operations on automata

Boolean operations on automata

A Boolean operation is any one of the three set-theoretic

operations

: union,

intersection

, and

complementation

.

Boolean operations on automata

are operations defined on

automata

resembling those from

set theory

.

Union of Two Automata

If

A

1

=

(

S

1

,

Σ

,

δ

1

,

I

1

,

F

1

)

and

A

2

=

(

S

2

,

Σ

,

δ

2

,

I

2

,

F

2

)

. Let

S

,

I

,

F

be the

disjoint unions

of

S

1

and

S

2

,

I

1

and

I

2

,

F

1

and

F

2

respectively. For any

(

s

,

a

)

∈

S

×

Σ

, define

δ

to be

δ

⁢

(

s

,

a

)

:=

{

δ

1

⁢

(

s

,

a

)

if

⁢

s

∈

S

1

,

δ

2

⁢

(

s

,

a

)

if

⁢

s

∈

S

2

.

The automaton

A

=

(

S

,

Σ

,

δ

,

I

,

F

)

is called the

union

of

A

1

and

A

2

, and is denoted by

A

1

∪

A

2

. Intuitively, we take the disjoint union of the

state diagrams

of

A

1

and

A

2

, and let it be the state diagram of

A

.

It is easy to see that

L

⁢

(

A

1

∪

A

2

)

=

L

⁢

(

A

1

)

∪

L

⁢

(

A

2

)

, and that

A

1

∪

A

2

is

equivalent

to

A

2

∪

A

1

.

If only one starting state is required, one can modify the definition of

A

1

∪

A

2

by adding a new state

q

and setting it as the new start state, then adding an edge from

q

to each of the states in

I

with label

λ

. The modified

A

1

∪

A

2

is equivalent to the original

A

1

∪

A

2

. Furthermore, if

A

1

and

A

2

are DFA’s, so is

A

1

∪

A

2

.

Complement of an Automaton

Let

A

=

(

S

,

Σ

,

δ

,

I

,

F

)

be an automaton. We define the

complement

A

′

of

A

as the quintuple

(

S

,

Σ

,

δ

,

I

,

F

′

)

where

F

′

=

S

-

F

. It is clear that

A

′

is a well-defined automaton. Additionally,

A

is finite iff

A

′

is, and

A

is

deterministic

iff

A

′

is.

Visually, the state diagram of

A

′

is a

directed graph

whose final nodes are exactly the non-final nodes of

A

.

It is obvious that

(

A

′

)

′

=

A

and that

A

is a DFA iff

A

′

is.

Suppose

A

is a DFA. Then it is easy to see that a string

a

∈

Σ

*

is accepted by

A

′

precisely when

a

is rejected by

A

. If

L

⁢

(

A

)

denotes the

language

consisting of all words accepted by

A

. Then

L

⁢

(

A

′

)

=

L

⁢

(

A

)

′

,

where

L

⁢

(

A

)

′

=

Σ

*

-

L

⁢

(

A

)

, the complement of

L

⁢

(

A

)

in

Σ

*

.

However, because it is possible that for some

(

s

,

a

)

,

δ

⁢

(

s

,

a

)

=

∅

, the language accepted by an arbitrary automaton

A

′

is in general not

L

⁢

(

A

)

′

.

Intersection of Two Autamata

One may define

A

1

∩

A

2

to be

(

A

1

′

∪

A

2

′

)

′

. However, defined this way,

L

⁢

(

A

1

∩

A

2

)

=

L

⁢

(

A

1

)

∩

L

⁢

(

A

2

)

is in general not true.

The way to ensure that the

equation

above always holds is to define

A

1

∩

A

2

via the

product

of

A

1

and

A

2

. For more details, see the entry on

product of automata

.

If both

A

1

and

A

2

are DFA’s, then

A

1

∩

A

2

is equivalent to

(

A

1

′

∪

A

2

′

)

′

.

Title

Boolean operations on automata

Canonical name

BooleanOperationsOnAutomata

Date of creation

2013-03-22 18:03:09

Last modified on

2013-03-22 18:03:09

Owner

CWoo (3771)

Last modified by

CWoo (3771)

Numerical id

8

Author

CWoo (3771)

Entry type

Definition

Classification

msc 03D05

Classification

msc 68Q45

Defines

complement of an automaton

Defines

union of automata

Generated on Thu Feb 8 19:57:49 2018 by

LaTeXML