0% found this document useful (0 votes)
209 views

Automata Theory Applications

Automata theory has both theoretical and practical applications. While the theory focuses on concepts like finite automata and regular expressions, automata theory also has many real-world uses including programming language compilation, software engineering, security, games, natural language processing, artificial intelligence, and more. One example application is determining if two combinational circuits are functionally equivalent by converting them to deterministic finite automata and checking for language equivalence.

Uploaded by

Kelvin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
209 views

Automata Theory Applications

Automata theory has both theoretical and practical applications. While the theory focuses on concepts like finite automata and regular expressions, automata theory also has many real-world uses including programming language compilation, software engineering, security, games, natural language processing, artificial intelligence, and more. One example application is determining if two combinational circuits are functionally equivalent by converting them to deterministic finite automata and checking for language equivalence.

Uploaded by

Kelvin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Automata Theory:

From Theory to Applications


Moshe Y. Vardi
Rice University

Automata Theory vs. Calculus

Calculus:
Theory: Real and complex analysis
Applications: problem solving, e.g, compute area under curve
Automata Theory:
Theory: finite automata and regular expressions, properties of regular
sets, context-free grammars, pushdown automata, etc.
Applications: not in the automata course.
1

Automata Theory and Hanukkah Candles

We light these lights


For the miracles and the wonders
For the redemption and the battles
That you made for our forefathers
...
During all eight days of Hanukkah
These lights are sacred
And we are not permitted to make
Ordinary use of them
But only to look at them
In order to express thanks
. . .
2

Applications of Automata Theory


E. Rich: Automata, Computability, and ComplexityTheory and Applications
http://www.cs.utexas.edu/ ear/cs341/AutomataTheoryBook.pdf
Programming language and compilers
Software engineering
Security
Interactive games
Natural-language processing
Artificial intelligence
...
3

Example: Combinational-Circuit Equivalence

Combinational Circuit: directed acyclic graph, with nodes labeled as input


nodes (in-degree 0), output nodes (out-degree 0), or logic gates (and, or,
not, etc).
Combinational circuit C with m inputs and m outputs, defines a
Boolean function fC : {0, 1}m {0, 1}n.
Two combinational circuits C1 and C2 are equivalent if they define
the same Boolean function.
Circuit-Equivalence Problem: Given two combinational circuits, decide if
they are equivalent.
Motivation: Computer-aided design
4

Nonemptiness of DFAs

DFA deterministic finite automata A = (, S, s0, , F )


S - state set
s0 S - initial state
: S S - transition function
F S: final states
Emptiness: A is empty if L(A) = .

From Automata to Graphs

DFA: A = (, S, s0, , F )
Graph: GA = (S, EA)
EA = {(s, t) : t (s, a) for some a }.
Intuition: Delete labels from edges.
Theorem: L(A) 6= iff there is path in GA from s0 to F .
Corollary: Emptiness can be checked in linear time using breadth-first
search.

Equivalence of DFAs

Equivalence: Two DFAs, A1 and A2 are equivalent iff L(A1) = L(A2).


DFA-Equivalence Problem: Given two DFAs, A1 and A2, decide if they
are equivalent.
In-equivalence Product:
Given A1 = (, S 1, s1, 1, F 1) and A2 = (, S 2, s2, 2, F 2), define their
in-equivalence product A by taking the standard cross product, with final
states F = F 1 (S 2 F 2) (S 1 F 1) F 2 .
Theorem: A1 and A2 are equivalent iff L(A) =
Corollary: Equivalence can be decided in quadratic time.
7

Circuits and Automata

Language of Circuit: Given a circuit C with inputs x1, . . . , xm and outputs


y1, . . . , yn, the language L(C) is the set of words over {0, 1} of length m+n
such that (x, y) L(C) iff y = fC (x).
Lemma: C1 and C2 are equivalent iff they have the same number of inputs
and outputs, respectively, and L(C1) = L(C2).
Key Observation: Language of a circuit is finite, therefore regular.

Automata-Theoretic Approach to Circuit Equivalence

Key idea: Given C1 and C2,


Construct DFAs A1 and A2 such that L(Ai) = L(Ci),
Check that A1 and A2 are equivalent.
From circuits to automata:
Sort circuit nodes topologically
Generate DFA for each node using Boolean closure of regular languages
Minimize DFAs at each step

Really?

Q: Is This A Theoreticians Dream?


Q: No. This is used daily! DFAs for circuits are called binary decision
diagramsBDDs.

10

You might also like