Wolfram Language
Paclet Repository
Community-contributed installable additions to the Wolfram Language
Primary Navigation
Categories
Cloud & Deployment
Core Language & Structure
Data Manipulation & Analysis
Engineering Data & Computation
External Interfaces & Connections
Financial Data & Computation
Geographic Data & Computation
Geometry
Graphs & Networks
Higher Mathematical Computation
Images
Knowledge Representation & Natural Language
Machine Learning
Notebook Documents & Presentation
Scientific and Medical Data & Computation
Social, Cultural & Linguistic Data
Strings & Text
Symbolic & Numeric Computation
System Operation & Setup
Time-Related Computation
User Interface Construction
Visualization & Graphics
Random Paclet
Alphabetical List
Using Paclets
Create a Paclet
Get Started
Download Definition Notebook
Learn More about
Wolfram Language
Automata
Guides
Automata
Tech Notes
Automata Package
Symbols
AlphabetBaseCount
AlphabetCountCA
AlphabetCount
AlphabetList
AlphabetProfile
AlphabetTrackCount
AlphabetTraitQ
Alpha
AlphaQ
AnalyzeOrbit
ApplyTransduction
AssignFunction
AssignHomomorphismDFA
AssignTransduction
AssignTransitionFunction
AutomataDefaults
BalancedQCA
BEFA
BEFAToFA
BooleanTransitionMatrix
Bound
CA
CanonicalFA
CartesianProduct
CirculantFA
ClassifyCA
CloneFA
Closure
ClosureSearch
ComplementFA
CompletePDFA
ComposeCA
ComputationFA
ComputationGraphFA
ConcatenateFA
Concatenate
CondensationGraph
ConvertToCA
CoverQDFA
CycleDecomposition
CycleShape
DCLDimension
DCLGreenToGrid
DCL
DCLUnpack
DeterministicQ
DeterminizeFA
DFAQ
DivisibilityDFA
DomainFunction
DomCodomCA
DoTrace
ECA
EmptyFA
EpsFromEmpty
EpsilonEliminationFA
EpsilonFA
EpsilonFreeQ
Eps
EpsQ
EpsToEmpty
EquivalentQFA
Existential
FA
FATraitQ
Fill
FinalStateList
FindRepetitions
FiniteLanguageFA
FlattenOne
FormatEdgesGraph
FormatEps
FormatVerticesGraph
Frequencies
FromBitVector
FromKernelImageSGT
FrontierFromDFA
FrontierRW
FrontierToDFA
FSMQ
GatherTransitions
GenerateFA
GetColorList
GetTraits
GlobalMapCA
GraphPaths
GridOffset
GrowthFunctionDFA
HideGraph
IdempotentQSGT
IdentitySGT
ImageSGT
IndexedFAQ
IndexFA
Index
InitialStateList
InitialState
IntersectionFA
InverseCA
IsomorphicQDFA
KernelImageSelectorQ
KernelImageSGT
KernelSGT
KleeneStarFA
LabelList
LanguageFactorFA
LanguageFA
ListShuffle
LocalMapCA
MatrixToTransitions
MinimizeDFA
MinimizeFA
Monoid
NNFA
NNFAToFA
NonDecreasingSequences
NonTrivialComponentQ
OrbitCA
PadicOrder
PadicValuation
Pairs
ParikhVector
ParseRange
Partitions
PDFAQ
PermutationToTransformation
PermuteFA
PlotFA
PlotFunction
PlotGrid
PlotMatrix
PlotRelation
PositionFA
PositionList
PositionOne
PowerSet
PowerSGT
PrintCA
ProductFA
ProductGraph
ProductTransitionSystem
PropertyQFA
RandomSGT
RankCartesian
RankingRules
RankSGT
RegexAlphabet
RegexEmptyQ
RegexEpsQ
RegexToBEFA
RegexToDetRegex
RegexToFA
RegexToGlushkov
RegexToNNFA
RelationToMatrix
REP
RES
RET
ReverseFA
RewritePrint
RewriteRulesSimplify
RewriteString
RewriteToIrreducible
RuleCA
RulesToTransitions
SeedConfiguration
SelectOptions
SemigroupCayleyGraph
SemigroupCayleyTable
SemigroupDegree
SemigroupElements
SemigroupEquations
SemigroupGenerate
SemigroupGenerators
Semigroup
SemigroupOrder
SemigroupQ
SemigroupToMonoid
SemigroupWitnesses
SemilinearDFA
SetAlphabet
SetFinal
SetInitialFinal
SetInitial
SetStates
SetTraits
SetTransitions
SGT
SGTraitQ
ShiftOrbit
ShowGraph
ShowGrid
ShrinkCA
ShuffleProductFA
SizeOnly
StateCount
StateDelete
StateList
StateType
StringifyList
StronglyConnectedComponents
SubAutomatonFA
SubTransitionSystem
SymbolList
TDGraph
TDGSelectAll
TDQ
ToBitVector
ToClasses
ToFredkinCA
ToIndex
ToKernelFA
ToKernel
ToSemiautomatonCA
ToWelchAutomatonCA
ToWidthTwoCA
ToWord
TransformationDFA
TransformationList
TransformationListQ
TransformationProduct
TransformationReplace
TransientMod
TransitionAdd
TransitionCosupport
TransitionCount
TransitionDelete
TransitionFunctionList
TransitionLabel
TransitionList
TransitionMatrix
TransitionsMap
TransitionSource
TransitionsReverse
TransitionsSelect
TransitionsSort
TransitionStates
TransitionsToBlocks
TransitionSupport
TransitionSystemAlphabet
TransitionSystemGraph
TransitionSystem
TransitionTarget
TransitionType
TransListQ
TrapStateList
TrimFA
TrimStateList
TSys
TSysQ
TSysTraitQ
Tupeln
Type
UnBoole
UnionFA
UniversalFA
UnrankCartesian
WidthCA
WordBinomial
WordFactorFA
WordLength
WordOrder
WordQ
WordRandom
WordShuffle
Words
WordSort
$AutomataDate
$AutomataVersion
$defaultPlotEmpty
$defaultPlotEpsilon
$defaultPlotStar
$defaultPlotUniversal
Automata
Automata supports computation with finite state machines, syntactic semigroups and one-dimensional cellular automata.
This listing includes the most important functions in the package. For more information and more examples, see
C
D
M
.
Finite State Machines
C
o
m
p
l
e
m
e
n
t
F
A
— computes the complement automaton
C
o
n
c
a
t
e
n
a
t
e
F
A
— computes the concatenation automaton
D
e
t
e
r
m
i
n
i
z
e
F
A
— converts to a deterministic machine
D
i
v
i
s
i
b
i
l
i
t
y
D
F
A
— constructs a DFA testing divisilibility properties
E
p
s
i
l
o
n
E
l
i
m
i
n
a
t
i
o
n
F
A
— converts to a finite automaton without
ϵ
-transitions
E
p
s
i
l
o
n
F
A
— generates a finite automaton accepting only
ϵ
F
i
n
i
t
e
L
a
n
g
u
a
g
e
F
A
— constructs a (partial) DFA for a finite language
F
r
o
n
t
i
e
r
T
o
D
F
A
— converts a frontier to a DFA
G
e
n
e
r
a
t
e
F
A
— generates a finite state machine using a closure operation
G
r
o
w
t
h
F
u
n
c
t
i
o
n
D
F
A
— determines the growth function of a DFA
I
n
t
e
r
s
e
c
t
i
o
n
F
A
— computes the intersection automaton
K
l
e
e
n
e
S
t
a
r
F
A
— computes the Kleene star automaton
M
i
n
i
m
i
z
e
F
A
— converts a finite automaton to a minimal DFA, may use DeterminizeFA
M
i
n
i
m
i
z
e
D
F
A
— minimizes a DFA
S
e
m
i
l
i
n
e
r
F
A
— constructs an automaton that counts according to a semilinear set
T
r
a
n
s
f
o
r
m
a
t
i
o
n
D
F
A
— constructs a DFA based on a transformation semigroup
U
n
i
o
n
F
A
— computes the union automaton
T
r
a
n
s
i
t
i
o
n
A
d
d
— adds a transition to a transition system
T
r
a
n
s
i
t
i
o
n
C
o
s
u
p
p
o
r
t
— the label and target of a transition
T
r
a
n
s
i
t
i
o
n
C
o
u
n
t
— the number of transitions in a transition system
T
r
a
n
s
i
t
i
o
n
D
e
l
e
t
e
— removes a transition to a transition system
T
r
a
n
s
i
t
i
o
n
F
u
n
c
t
i
o
n
L
i
s
t
— assigns to a symbol list the curried transition functions of a transition system
T
r
a
n
s
i
t
i
o
n
L
a
b
e
l
— the label of a transition
T
r
a
n
s
i
t
i
o
n
L
i
s
t
— the list of transitions in a transition system
T
r
a
n
s
i
t
i
o
n
M
a
t
r
i
x
— computes the transition matrix of a transition system
T
r
a
n
s
i
t
i
o
n
s
M
a
p
— apply a map to a list of transitions
T
r
a
n
s
i
t
i
o
n
S
o
u
r
c
e
— the source of a transition
T
r
a
n
s
i
t
i
o
n
s
R
e
v
e
r
s
e
— reverse all transitions in a transition system
T
r
a
n
s
i
t
i
o
n
s
S
e
l
e
c
t
— select some transition in a transition system
T
r
a
n
s
i
t
i
o
n
s
S
o
r
t
— sort transitions in lexicographic order
T
r
a
n
s
i
t
i
o
n
S
t
a
t
e
s
— the states of a transition
T
r
a
n
s
i
t
i
o
n
s
T
o
B
l
o
c
k
s
— classifies transitions and applies a map to the classes
T
r
a
n
s
i
t
i
o
n
S
u
p
p
o
r
t
— the source and label of a transition
T
r
a
n
s
i
t
i
o
n
S
y
s
t
e
m
— adds a transition to a transition system
T
r
a
n
s
i
t
i
o
n
S
y
s
t
e
m
A
l
p
h
a
b
e
t
— the alphabet of a transition system
T
r
a
n
s
i
t
i
o
n
S
y
s
t
e
m
G
r
a
p
h
— the labeled digraph of a transition system
T
r
a
n
s
i
t
i
o
n
T
y
p
e
— the type of a transition system
R
e
g
e
x
A
l
p
h
a
b
e
t
— returns the alphabet of a regular expression
R
e
g
e
x
E
m
p
t
y
Q
— tests whether a regular expression is empty
R
e
g
e
x
E
p
s
Q
— tests whether a regular expression represents
ϵ
R
e
g
e
x
T
o
B
E
F
A
— converts a regular expression to a begin/exit automaton
R
e
g
e
x
T
o
D
e
t
R
e
g
e
x
— converts a regular expression to a deterministic one
R
e
g
e
x
T
o
F
A
— converts a regular expression to a finite automaton
R
e
g
e
x
T
o
G
l
u
s
h
k
o
v
— converts a regular expression to a finite automaton
R
e
g
e
x
T
o
N
N
F
A
— converts a regular expression to a normal nondeterministic automaton
A
l
p
h
a
b
e
t
B
a
s
e
C
o
u
n
t
— returns the number of symbols in the base alphabet
A
l
p
h
a
b
e
t
C
o
u
n
t
— returns the number of symbols in the alphabet
A
l
p
h
a
b
e
t
L
i
s
t
— returns a list of the symbols in the alphabet
A
l
p
h
a
b
e
t
P
r
o
f
i
l
e
— returns various parameters of the alphabet
A
l
p
h
a
b
e
t
T
r
a
c
k
C
o
u
n
t
— returns the number of tracks in the alphabet
C
o
n
c
a
t
e
n
a
t
e
— concatenates words
E
p
s
— is a symbol representing the empty string
E
p
s
F
r
o
m
E
m
p
t
y
— replaces empty strings by Eps
E
p
s
i
o
n
F
r
e
e
Q
— tests whether a finite automaton contains
ϵ
-transitions
E
p
s
Q
— tests for the empty string or Eps
E
p
s
T
o
E
m
p
t
y
— replaces Eps by the empty string
W
o
r
d
B
i
n
o
m
i
a
l
— determines the number of scattered factors
W
o
r
d
L
e
n
g
t
h
— returns the length of a word, considers Eps empty
W
o
r
d
O
r
d
e
r
— tests lexicographic order between words
W
o
r
d
Q
— tests whether an object is a string or Eps
W
o
r
d
R
a
n
d
o
m
— generates a random word
W
o
r
d
s
— generates all words over an alphabet of a certain length
W
o
r
d
S
h
u
f
f
l
e
— shuffles two words
W
o
r
d
S
o
r
t
— sorts lists of words in lexicographic order
Syntactic Semigroups
F
r
o
m
K
e
r
n
e
l
I
m
a
g
e
S
G
T
— constructs a transformation from its kernel and image
I
d
e
m
p
o
t
e
n
Q
S
G
T
— tests whether a transformation is idempotent
I
d
e
n
t
i
t
y
S
G
T
— returns the identity transformation of some degree
I
m
a
g
e
S
G
T
— the image of a transformation
K
e
r
n
e
l
I
m
a
g
e
S
G
T
— the kernel and image of a transformation
K
e
r
n
e
l
I
m
a
g
e
S
e
l
e
c
t
o
r
Q
— checks whether the image is a selector for the kernel
K
e
r
n
e
l
S
G
T
— the kernel of a transformation
P
e
r
m
u
t
a
t
i
o
n
T
o
T
r
a
n
s
f
o
r
m
a
t
i
o
n
— converts a permutation to a transformation
P
o
w
e
r
S
G
T
— exponentiates a transformation
R
a
n
d
o
m
S
G
T
— generates a random transformation of some degree
R
a
n
k
S
G
T
— the rank of a transformation
S
G
T
— denotes an element of a transformation semigroup
T
r
a
n
s
f
o
r
m
a
t
i
o
n
D
e
g
r
e
e
— the degree of a transformation
T
r
a
n
s
f
o
r
m
a
t
i
o
n
L
i
s
t
— the integer list representing a transformation
T
r
a
n
s
f
o
r
m
a
t
i
o
n
L
i
s
t
Q
— checks whether an integer list represents a transformation
T
r
a
n
s
f
o
r
m
a
t
i
o
n
P
r
o
d
u
c
t
— the diagrammatic product of two transformation
T
r
a
n
s
f
o
r
m
a
t
i
o
n
R
e
p
l
a
c
e
— replace terms according to a transformation
D
C
L
— header for a
D
-class
D
C
L
D
i
m
e
n
s
i
o
n
— the dimensions of a
D
-class
R
e
w
r
i
t
e
R
u
l
e
s
S
i
m
p
l
i
f
y
— simplifies the rewrite rules of a transformation semigroup
R
e
w
r
i
t
e
S
t
r
i
n
g
— rewrites a string according to a list of rewrite rules
R
e
w
r
i
t
e
T
o
I
r
r
e
d
u
c
i
b
l
e
— rewrite to an irreducible string according to a list of rewrite rules
S
e
m
i
g
r
o
u
p
— a transformation semigroup with generators
S
e
m
i
g
r
o
u
p
C
a
y
l
e
y
G
r
a
p
h
— computes the Cayley graph of a transformation semigroup
S
e
m
i
g
r
o
u
p
C
a
y
l
e
y
T
a
b
l
e
— computes the Cayley table of a transformation semigroup
S
e
m
i
g
r
o
u
p
D
e
g
r
e
e
— the degree of a semigroup
S
e
m
i
g
r
o
u
p
E
l
e
m
e
n
t
s
— the transformations of a semigroup
S
e
m
i
g
r
o
u
p
E
q
u
a
t
i
o
n
s
— the identities of a transformation semigroup as rewrite rules
S
e
m
i
g
r
o
u
p
G
e
n
e
r
a
t
e
— generates a transformation semigroup
S
e
m
i
g
r
o
u
p
G
e
n
e
r
a
t
o
r
s
— the generators of a semigroup
S
e
m
i
g
r
o
u
p
O
r
d
e
r
— the order of a semigroup
S
e
m
i
g
r
o
u
p
Q
— checks whether an object is a semigroup
S
e
m
i
g
r
o
u
p
T
o
M
o
n
o
i
d
— adjoins a unit element to a semigroup if necessary
S
e
m
i
g
r
o
u
p
W
i
t
n
e
s
s
e
s
— the witnesses for a transformation semigroup
Cellular Automata
C
l
a
s
s
i
f
y
C
A
— determines whether the global map of a CA is surjective, open, or injective
C
o
n
v
e
r
t
T
o
C
A
— constructs a CA from various parameters
G
l
o
b
a
l
M
a
p
C
A
— constructs the global map of a CA
L
o
c
a
l
M
a
p
C
A
— constructs the local map of a CA
O
r
b
i
t
C
A
— computes an orbit of a CA
S
e
e
d
C
o
n
f
i
g
u
r
a
t
i
o
n
— constructs a seed configuration for a CA orbit
T
o
F
r
e
d
k
i
n
C
A
— constructs the reversible Fredkin automaton of a CA
T
o
S
e
m
i
a
u
t
o
m
a
t
o
n
C
A
— converts a CA to a de Bruijn semiautomaton
T
o
W
e
l
c
h
A
u
t
o
m
a
t
o
n
C
A
— constructs the Welch automata of a CA
Utilities
A
n
a
l
y
z
e
O
r
b
i
t
— determines transient and period of an orbit
A
s
s
i
g
n
F
u
n
c
t
i
o
n
— assign a finite function to a symbol
C
a
r
t
e
s
i
a
n
P
r
o
d
u
c
t
— generates the Cartesian product
C
l
o
s
u
r
e
— computes the function closure of an object
C
y
c
l
e
D
e
c
o
m
p
o
s
i
t
i
o
n
— returns the cycle decomposition of a set under a permutation
C
y
c
l
e
S
h
a
p
e
— returns the canonical cycle decomposition of a permutation
F
l
a
t
t
e
n
O
n
e
— flattens by one level
F
r
o
m
B
i
t
V
e
c
t
o
r
— convert a bitvector to a subset
L
i
s
t
S
h
u
f
f
l
e
— shuffles two lists
N
o
n
D
e
c
r
e
a
s
i
n
g
S
e
q
u
e
n
c
e
s
— generates non-decreasing sequences
P
a
d
i
c
O
r
d
e
r
— the
p
-adic order of an integer
P
a
d
i
c
V
a
l
u
a
t
i
o
n
— the
p
-adic valuation of an integer
P
a
i
r
s
— converts lists to pairs of objects
P
a
r
t
i
t
i
o
n
s
— computes the partitions of an integer
P
o
s
i
t
i
o
n
L
i
s
t
— returns the position of several objects
P
o
w
e
r
S
e
t
— generates the collection of all subsets
R
a
n
k
C
a
r
t
e
s
i
a
n
— computes the rank of elements of Cartesian products
R
a
n
k
i
n
g
R
u
l
e
s
— returns rewrite rules that replace an object by its rank
R
e
l
a
t
i
o
n
T
o
M
a
t
r
i
x
— converts a relation to a Boolean matrix
T
o
B
i
t
V
e
c
t
o
r
— convert a subset to a bitvector
T
o
C
l
a
s
s
e
s
— computes equivalence classes from different representations
T
o
K
e
r
n
e
l
— computes the canonical selector function for a list
T
r
a
n
s
i
e
n
t
M
o
d
— a mod function with a transient part
U
n
r
a
n
k
C
a
r
t
e
s
i
a
n
— unranks elements in a Cartesian product
T
e
c
h
N
o
t
e
s
▪
A
u
t
o
m
a
t
a
P
a
c
k
a
g
e
"
"