GAP (Automata) - Contents

Goto Chapter: Top 1 2 3 4 5 6 A B C Bib Ind
[Top of Book] [Contents] [Next Chapter]

[MathJax off]

# Automata

## A package on automata

Version 1.14

Manuel Delgado
Email: mdelgado@fc.up.pt
Homepage: https://cmup.fc.up.pt/cmup/mdelgado/
Address:
Departamento de Matemática - Faculdade de Ciências
Porto
Portugal

Steve Linton
Email: steve.linton@st-andrews.ac.uk
Homepage: http://www-groups.dcs.st-and.ac.uk/~sal/
Address:
School of Computer Science
University of St Andrews
Jack Cole Building, North Haugh
St Andrews, Fife, KY16 9SX
United Kingdom

José João Morais
Address:
No address known

### Copyright

© 2004 by Manuel Delgado, Steve Linton and José Morais

Automata package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. For details, see the file 'GPL' included in the package or see the FSF's own site.

### Acknowledgements

The first author wishes to acknowledge Cyril Nicaud and Paulo Varandas for their help in programming some functions of the very first version of this package. He wishes also to acknowledge useful discussions and comments by Cyril Nicaud, Vítor H. Fernandes, Jean-Eric Pin and Jorge Almeida.

The first author also acknowledges support of FCT through CMUP and the FCT and POCTI Project POCTI/32817/MAT/2000 which is funded in cooperation with the European Community Fund FEDER.

The third author acknowledges financial support of FCT and the POCTI program through a scholarship given by Centro de Matemática da Universidade do Porto.

The authors would like to thank Mark Kambites for his contribution in finding bugs and making suggestions for the improvement of this package.

Concerning the maintenance:

The first author was/is (partially) supported by:

the Fundação para a Ciência e a Tecnologia (FCT) project PTDC/MAT/65481/2006;

the Centro de Matemática da Universidade do Porto (CMUP), in particular for those periods in which CMUP was funded by

the European Regional Development Fund through the program COMPETE and by the Portuguese Government through the FCT - Fundação para a Ciência e a Tecnologia under the project PEst-C/MAT/UI0144/2011;

The first author wants to acknowledge partial support by CMUP (UID/MAT/00144/2013 and UID/MAT/00144/2019), which is funded by FCT (Portugal) with national (MEC) and European structural funds through the programs FEDER, under the partnership agreement PT2020.

### Colophon

This work started in 1998, when the first author was in the LIAFA at the University of Paris 7, in a post-doc. Encouraged by J. E. Pin, he began the implementation in GAP3 of an algorithm obtained some time before to answer a question from the realm of Finite Semigroups proposed by J. Almeida.

The first version of this package on automata was prepared by the first author who gave it the form of a GAP share package. In a second version, prepared by the first and third authors, many functions have been added and the performance of many of the existing ones has been improved. Further important improvements, specially concerning performance, have been achieved when the second author joined the group. The first author is particularly grateful to Max Horn whose help made the release of Versions 1.14 and 1.15 a lot easier.

Since Version 1.12, the package is maintained by the first two authors. Bug reports, suggestions and comments are, of course, welcome. Please use our email addresses to this effect.

### Contents

1 Introduction
2 Finite Automata
2.1 Automata generation
2.1-1 Automaton
2.1-2 IsAutomaton
2.1-3 IsDeterministicAutomaton
2.1-4 IsNonDeterministicAutomaton
2.1-5 IsEpsilonAutomaton
2.1-6 String
2.1-7 RandomAutomaton
2.2 Automata internals
2.2-1 AlphabetOfAutomaton
2.2-2 AlphabetOfAutomatonAsList
2.2-3 TransitionMatrixOfAutomaton
2.2-4 InitialStatesOfAutomaton
2.2-5 SetInitialStatesOfAutomaton
2.2-6 FinalStatesOfAutomaton
2.2-7 SetFinalStatesOfAutomaton
2.2-8 NumberStatesOfAutomaton
2.3 Comparison of automata
2.4 Tests involving automata
2.4-1 IsDenseAutomaton
2.4-2 IsRecognizedByAutomaton
2.4-3 IsPermutationAutomaton
2.4-4 IsInverseAutomaton
2.4-5 AddInverseEdgesToInverseAutomaton
2.4-6 IsReversibleAutomaton
2.5 Basic operations
2.5-1 CopyAutomaton
2.5-2 NullCompletionAutomaton
2.5-3 ListSinkStatesAut
2.5-4 RemovedSinkStates
2.5-5 ReversedAutomaton
2.5-6 PermutedAutomaton
2.5-7 ListPermutedAutomata
2.5-8 NormalizedAutomaton
2.5-9 UnionAutomata
2.5-10 ProductAutomaton
2.5-11 ProductOfLanguages
2.6 Links with Semigroups
2.6-1 TransitionSemigroup
2.6-2 SyntacticSemigroupAut
2.6-3 SyntacticSemigroupLang
3 Rational languages
3.1 Rational Expressions
3.1-1 RationalExpression
3.1-2 RatExpOnnLetters
3.1-3 RandomRatExp
3.1-4 SizeRatExp
3.1-5 IsRationalExpression
3.1-6 AlphabetOfRatExp
3.1-7 AlphabetOfRatExpAsList
3.1-8 CopyRatExp
3.2 Comparison of rational expressions
3.3 Operations with rational languages
3.3-1 UnionRatExp
3.3-2 ProductRatExp
3.3-3 StarRatExp
4 Automata versus rational expressions
4.1 From automata to rational expressions
4.1-1 AutomatonToRatExp
4.2 From rational expression to automata
4.2-1 RatExpToNDAut
4.2-2 RatExpToAutomaton
4.3 Some tests on automata
4.3-1 IsEmptyLang
4.3-2 IsFullLang
4.3-3 AreEqualLang
4.3-4 IsContainedLang
4.3-5 AreDisjointLang
5 Some functions involving automata
5.1 From one type to another
5.1-1 EpsilonToNFA
5.1-2 EpsilonToNFASet
5.1-3 EpsilonCompactedAut
5.1-4 ReducedNFA
5.1-5 NFAtoDFA
5.1-6 FuseSymbolsAut
5.2 Minimalization of an automaton
5.2-1 UsefulAutomaton
5.2-2 MinimalizedAut
5.2-3 MinimalAutomaton
5.2-4 AccessibleStates
5.2-5 AccessibleAutomaton
5.2-6 IntersectionLanguage
5.2-7 AutomatonAllPairsPaths
6 Finite regular languages
6.1 Dealing with finite regular languages
6.1-1 IsFiniteRegularLanguage
6.1-2 FiniteRegularLanguageToListOfWords
6.1-3 ListOfWordsToAutomaton
A Directed graphs
A.1 Directed graphs
A.1-1 RandomDiGraph
A.1-2 VertexInDegree
A.1-3 VertexOutDegree
A.1-4 AutoVertexDegree
A.1-5 ReversedGraph
A.1-6 AutoConnectedComponents
A.1-7 GraphStronglyConnectedComponents
A.1-8 UnderlyingMultiGraphOfAutomaton
A.1-9 UnderlyingGraphOfAutomaton
A.1-10 DiGraphToRelation
A.1-11 MSccAutomaton
A.1-12 AutoIsAcyclicGraph
B Drawing automata
B.1 Installing some external programs
B.2 Functions to draw automata
B.2-1 DrawAutomaton
B.2-2 DotForDrawingAutomaton
B.2-3 DrawSubAutomaton
B.2-4 DotStringForDrawingSubAutomaton
B.2-5 DotStringForDrawingGraph
B.2-6 DrawSCCAutomaton
C Inverse automata and subgroups of the free group
C.1 From subgroups to inverse automata
C.1-1 GeneratorsToListRepresentation
C.1-2 ListToGeneratorsRepresentation
C.1-3 FlowerAutomaton
C.1-4 FoldFlowerAutomaton
C.1-5 SubgroupGenToInvAut
C.2 From inverse automata to subgroups
C.2-1 GeodesicTreeOfInverseAutomaton
C.2-2 InverseAutomatonToGenerators
References
Index
[Top of Book] [Contents] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 A B C Bib Ind

generated by GAPDoc2HTML