Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

563477 views
1
2
3
Automata
4
5
6
( Version 1.13 )
7
8
9
Manuel Delgado
10
11
Steve Linton
12
13
José João Morais
14
15
16
17
Manuel Delgado
18
Email: mailto:[email protected]
19
Homepage: http://www.fc.up.pt/cmup/mdelgado
20
Steve Linton
21
Email: mailto:[email protected]
22
Homepage: http://www-circa.mcs.st-and.ac.uk/~sal/
23
24
-------------------------------------------------------
25
Copyright
26
© 2004 by Manuel Delgado, Steve Linton and José Morais
27
28
We adopt the copyright regulations of GAP as detailed in the copyright
29
notice in the GAP manual.
30
31
32
-------------------------------------------------------
33
Acknowledgements
34
The first author wishes to acknowledge Cyril Nicaud and Paulo Varandas for
35
their help in programming some functions of the very first version of this
36
package. He wishes also to acknowledge useful discussions and comments by
37
Cyril Nicaud, Vítor H. Fernandes, Jean-Eric Pin and Jorge Almeida.
38
39
The first author also acknowledges support of FCT through CMUP and the FCT
40
and POCTI Project POCTI/32817/MAT/2000 which is funded in cooperation with
41
the European Community Fund FEDER.
42
43
The third author acknowledges financial support of FCT and the POCTI program
44
through a scholarship given by Centro de Matemática da Universidade do
45
Porto.
46
47
The authors would like to thank Mark Kambites for his contribution in
48
finding bugs and making suggestions for the improvement of this package.
49
50
Concerning the mantainment:
51
52
The first author was/is (partially) supported by the FCT project
53
PTDC/MAT/65481/2006 and also by the Centro de Matemática da Universidade do
54
Porto (CMUP), funded by the European Regional Development Fund through the
55
program COMPETE and by the Portuguese Government through the FCT - Fundação
56
para a Ciência e a Tecnologia under the project PEst-C/MAT/UI0144/2011.
57
58
59
-------------------------------------------------------
60
Colophon
61
This work started in 1998, when the first author was in the LIAFA at the
62
University of Paris 7, in a post-doc. Encouraged by J. E. Pin, he began the
63
implementation in GAP3 of an algorithm obtained some time before to answer a
64
question from the realm of Finite Semigroups proposed by J. Almeida. It is
65
now part of a separate package: finsemi.
66
67
The first version of this package on automata was prepared by the first
68
author who gave it the form of a GAP share package. In a second version,
69
prepared by the first and third authors, many functions have been added and
70
the performance of many of the existing ones has been improved. Further
71
important improvements, specially concerning performance, have been achieved
72
when the second author joined the group.
73
74
Since Version 1.12, the package is maintained by the first two authors. Bug
75
reports, suggestions and comments are, of course, welcome. Please use our
76
email addresses to this effect.
77
78
79
-------------------------------------------------------
80
81
82
Contents (Automata)
83
84
1 Introduction
85
2 Finite Automata
86
2.1 Automata generation
87
2.1-1 Automaton
88
2.1-2 IsAutomaton
89
2.1-3 IsDeterministicAutomaton
90
2.1-4 IsNonDeterministicAutomaton
91
2.1-5 IsEpsilonAutomaton
92
2.1-6 String
93
2.1-7 RandomAutomaton
94
2.2 Automata internals
95
2.2-1 AlphabetOfAutomaton
96
2.2-2 AlphabetOfAutomatonAsList
97
2.2-3 TransitionMatrixOfAutomaton
98
2.2-4 InitialStatesOfAutomaton
99
2.2-5 SetInitialStatesOfAutomaton
100
2.2-6 FinalStatesOfAutomaton
101
2.2-7 SetFinalStatesOfAutomaton
102
2.2-8 NumberStatesOfAutomaton
103
2.3 Comparison of automata
104
2.4 Tests involving automata
105
2.4-1 IsDenseAutomaton
106
2.4-2 IsRecognizedByAutomaton
107
2.4-3 IsPermutationAutomaton
108
2.4-4 IsInverseAutomaton
109
2.4-5 AddInverseEdgesToInverseAutomaton
110
2.4-6 IsReversibleAutomaton
111
2.5 Basic operations
112
2.5-1 CopyAutomaton
113
2.5-2 NullCompletionAutomaton
114
2.5-3 ListSinkStatesAut
115
2.5-4 RemovedSinkStates
116
2.5-5 ReversedAutomaton
117
2.5-6 PermutedAutomaton
118
2.5-7 ListPermutedAutomata
119
2.5-8 NormalizedAutomaton
120
2.5-9 UnionAutomata
121
2.5-10 ProductAutomaton
122
2.5-11 ProductOfLanguages
123
2.6 Links with Semigroups
124
2.6-1 TransitionSemigroup
125
2.6-2 SyntacticSemigroupAut
126
2.6-3 SyntacticSemigroupLang
127
3 Rational languages
128
3.1 Rational Expressions
129
3.1-1 RationalExpression
130
3.1-2 RatExpOnnLetters
131
3.1-3 RandomRatExp
132
3.1-4 SizeRatExp
133
3.1-5 IsRationalExpression
134
3.1-6 AlphabetOfRatExp
135
3.1-7 AlphabetOfRatExpAsList
136
3.1-8 CopyRatExp
137
3.2 Comparison of rational expressions
138
3.3 Operations with rational languages
139
3.3-1 UnionRatExp
140
3.3-2 ProductRatExp
141
3.3-3 StarRatExp
142
4 Automata versus rational expressions
143
4.1 From automata to rational expressions
144
4.1-1 AutomatonToRatExp
145
4.2 From rational expression to automata
146
4.2-1 RatExpToNDAut
147
4.2-2 RatExpToAutomaton
148
4.3 Some tests on automata
149
4.3-1 IsEmptyLang
150
4.3-2 IsFullLang
151
4.3-3 AreEqualLang
152
4.3-4 IsContainedLang
153
4.3-5 AreDisjointLang
154
5 Some functions involving automata
155
5.1 From one type to another
156
5.1-1 EpsilonToNFA
157
5.1-2 EpsilonToNFASet
158
5.1-3 EpsilonCompactedAut
159
5.1-4 ReducedNFA
160
5.1-5 NFAtoDFA
161
5.1-6 FuseSymbolsAut
162
5.2 Minimalization of an automaton
163
5.2-1 UsefulAutomaton
164
5.2-2 MinimalizedAut
165
5.2-3 MinimalAutomaton
166
5.2-4 AccessibleStates
167
5.2-5 AccessibleAutomaton
168
5.2-6 IntersectionLanguage
169
5.2-7 AutomatonAllPairsPaths
170
6 Finite regular languages
171
6.1 Dealing with finite regular languages
172
6.1-1 IsFiniteRegularLanguage
173
6.1-2 FiniteRegularLanguageToListOfWords
174
6.1-3 ListOfWordsToAutomaton
175
A Directed graphs
176
A.1 Directed graphs
177
A.1-1 RandomDiGraph
178
A.1-2 VertexInDegree
179
A.1-3 VertexOutDegree
180
A.1-4 AutoVertexDegree
181
A.1-5 ReversedGraph
182
A.1-6 AutoConnectedComponents
183
A.1-7 GraphStronglyConnectedComponents
184
A.1-8 UnderlyingMultiGraphOfAutomaton
185
A.1-9 UnderlyingGraphOfAutomaton
186
A.1-10 DiGraphToRelation
187
A.1-11 MSccAutomaton
188
A.1-12 AutoIsAcyclicGraph
189
B Drawing automata
190
B.1 Installing some external programs
191
B.2 Functions to draw automata
192
B.2-1 DrawAutomaton
193
B.2-2 DrawAutomata
194
B.2-3 DrawGraph
195
B.2-4 DrawSCCAutomaton
196
B.3 Drawings output formats
197
B.4 Drawings extra graph attributes
198
C Inverse automata and subgroups of the free group
199
C.1 From subgroups to inverse automata
200
C.1-1 GeneratorsToListRepresentation
201
C.1-2 ListToGeneratorsRepresentation
202
C.1-3 FlowerAutomaton
203
C.1-4 FoldFlowerAutomaton
204
C.1-5 SubgroupGenToInvAut
205
C.2 From inverse automata to subgroups
206
C.2-1 GeodesicTreeOfInverseAutomaton
207
C.2-2 InverseAutomatonToGenerators
208
209
210

211
212