Boolean operations on automata


A Boolean operation is any one of the three set-theoretic operationsMathworldPlanetmath: union, intersectionMathworldPlanetmath, and complementation. Boolean operations on automata are operations defined on automata resembling those from set theoryMathworldPlanetmath.

Union of Two Automata

If A1=(S1,Σ,δ1,I1,F1) and A2=(S2,Σ,δ2,I2,F2). Let S,I,F be the disjoint unionsMathworldPlanetmath of S1 and S2, I1 and I2, F1 and F2 respectively. For any (s,a)∈S×Σ, define δ to be

δ⁢(s,a):={δ1⁢(s,a)if ⁢s∈S1,δ2⁢(s,a)if ⁢s∈S2.

The automaton A=(S,Σ,δ,I,F) is called the union of A1 and A2, and is denoted by A1∪A2. Intuitively, we take the disjoint union of the state diagramsMathworldPlanetmathPlanetmath of A1 and A2, and let it be the state diagram of A.

It is easy to see that L⁢(A1∪A2)=L⁢(A1)∪L⁢(A2), and that A1∪A2 is equivalentMathworldPlanetmathPlanetmathPlanetmathPlanetmath to A2∪A1.

If only one starting state is required, one can modify the definition of A1∪A2 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 A1∪A2 is equivalent to the original A1∪A2. Furthermore, if A1 and A2 are DFA’s, so is A1∪A2.

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 deterministicMathworldPlanetmath iff A′ is.

Visually, the state diagram of A′ is a directed graphMathworldPlanetmath 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 languagePlanetmathPlanetmath 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 A1∩A2 to be (A1′∪A2′)′. However, defined this way,

L⁢(A1∩A2)=L⁢(A1)∩L⁢(A2)

is in general not true.

The way to ensure that the equation above always holds is to define A1∩A2 via the productPlanetmathPlanetmath of A1 and A2. For more details, see the entry on product of automata.

If both A1 and A2 are DFA’s, then A1∩A2 is equivalent to (A1′∪A2′)′.

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