Awali
Another Weighted Automata library
awali
dyn.hh
Go to the documentation of this file.
1
// This file is part of Awali.
2
// Copyright 2016-2022 Sylvain Lombardy, Victor Marsault, Jacques Sakarovitch
3
//
4
// Awali is a free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8
//
9
// This program is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
// GNU General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17
#ifndef DYN_ALL_HH
18
#define DYN_ALL_HH
19
20
#include<memory>
21
#include<set>
22
#include<string>
23
#include<iostream>
24
#include<map>
25
#include<vector>
26
#include<unordered_map>
27
28
#include<
awali/common/enum_utils.hh
>
29
30
/* ************************************************************************** */
31
/* TYPES */
32
/* ************************************************************************** */
33
34
/* Contains type `ratexp_t` and associated method */
35
#include<
awali/dyn/core/abstract_ratexp.hh
>
36
37
38
/* Contains type `automaton_t` and associated method */
39
#include<
awali/dyn/core/automaton.hh
>
40
41
/* Contains type `automaton_t` and associated method */
42
#include<
awali/dyn/core/transducer.hh
>
43
44
/* Contains functions to build sttc contexts from strings (expert) */
45
#include<
awali/dyn/core/context_description.hh
>
46
47
#include<
awali/dyn/core/context_description_deprecated.hh
>
48
49
/* Contains type `context_t`, that is a pair (labelset,weightset) */
50
#include<
awali/dyn/core/abstract_context.hh
>
51
52
/* Contains the type `qfraction_t` used for manipulated automata weighted over
53
* rational numbers.
54
*/
55
#include<
awali/common/qfraction.hh
>
56
57
/* Contains enums of the different methods available for some algorithms
58
* (typically minimization, proper and quotient, etc.).
59
*/
60
#include<
awali/common/enums.hh
>
61
62
/* Contains the type json_ast_t that represent an abstract json tree.
63
*/
64
#include<
awali/common/json_ast.hh
>
65
66
#include<
awali/common/json/equality.hh
>
67
68
#include<
awali/common/json/smart_printer.hh
>
69
70
#include<
awali/common/json/node.hh
>
71
72
#include<
awali/common/json/utils.hh
>
73
74
/* Contains enums of the different methods available for some algorithms
75
* (typically minimization, proper and quotient, etc.).
76
*/
77
#include<
awali/common/version.hh
>
78
79
/* ************************************************************************** */
80
/* MODULES */
81
/* ************************************************************************** */
82
83
/* Module containing functions about traversing automata (accessible, trim,
84
* coaccessible, etc.)
85
*/
86
#include<
awali/dyn/modules/accessible.hh
>
87
88
89
/* Contains function to test whether two automata are equivalent, that is,
90
* associate each word with the same weight.
91
*/
92
#include<
awali/dyn/modules/are_equivalent.hh
>
93
94
95
/* Module containing misc automaton functions : copy, weightset modification,
96
* named state addition isomorphism, multiplication of an automaton
97
*/
98
#include<
awali/dyn/modules/automaton.hh
>
99
100
101
/* Module containing the functions to build automata and rational expressions:
102
* - build automata and rational expressions from context description (expert)
103
* - build empty automata from strings describing alphabet and weightset
104
* - build rational expressions from strings describing its value and weightset
105
*/
106
#include<
awali/dyn/modules/context.hh
>
107
108
109
/* Module containing algorithm related to derivation of rational expression, in
110
* particular one efficient way to compute automata from rational expressions.
111
*/
112
#include<
awali/dyn/modules/derivation.hh
>
113
114
/* Module containing the derminization algorithm.
115
* Also contained related functions such as complementation or reduce
116
* (pseudo-determinization for automata weighted over Z or a field).
117
*/
118
#include<
awali/dyn/modules/determinize.hh
>
119
121
#include<
awali/dyn/modules/eliminate.hh
>
122
123
/* Contains evaluation of words for automata, that is computation of the weight
124
* with which a word is accepted.
125
* Also contained related functions, such that enumerating the smallest
126
* accepted word and the shortest accepted words.
127
*/
128
#include<
awali/dyn/modules/eval.hh
>
129
130
/* Contains functions computing the automaton of accepting the suffixes,
131
* prefixes, or factors of the languages accepted by a given automaton.
132
*/
133
#include<
awali/dyn/modules/factor.hh
>
134
135
/* Contains factories to build example automata from known families. */
136
#include<
awali/dyn/modules/factories.hh
>
137
138
/* Module containing algorithm on graph (e.g., sccs) */
139
#include<
awali/dyn/modules/graph.hh
>
140
141
/* Contains facilities to import and export automata.
142
* See also "awali/dyn/algos/sys.hh"
143
*/
144
#include<
awali/dyn/modules/output.hh
>
145
146
/* Contains the function to build a transducer that realises the identity
147
* over the words accepted by a given automaton (other words have no image).
148
*/
149
#include<
awali/dyn/modules/partial_id.hh
>
150
151
/* Contains the classical "intersection" product and related algorithm
152
* (shuffle, infiltration, union)
153
*/
154
#include<
awali/dyn/modules/product.hh
>
155
156
/* Contains the functions to test and apply promotions of weightets
157
*/
158
#include<
awali/dyn/modules/promotion.hh
>
159
160
/* Contains emptyword-removal algorithms. */
161
#include<
awali/dyn/modules/proper.hh
>
162
163
/* Contains function related to automaton quotient (sometimes called
164
* automaton morphism or bissimulation)
165
*/
166
#include<
awali/dyn/modules/quotient.hh
>
167
168
/* Contains functions related to rational expressions (construction from string
169
* or from automaton, algorithms)
170
*/
171
#include<
awali/dyn/modules/ratexp.hh
>
172
173
/* Contains unary product */
174
#include<
awali/dyn/modules/singleproduct.hh
>
175
176
/* Contains functions to compute and manipulate standard automata */
177
#include<
awali/dyn/modules/standard.hh
>
178
179
/* Contains functions specific to transducers */
180
#include<
awali/dyn/modules/transducer.hh
>
181
182
/* Module containing transpose function. */
183
#include<
awali/dyn/modules/transpose.hh
>
184
185
/* Contains word automata algorithms. */
186
#include<
awali/dyn/modules/words.hh
>
187
188
/* ************************************************************************** */
189
/* EXTRA FUNCTIONS WRITTEN AT DYNAMICAL LAYER */
190
/* ************************************************************************** */
191
192
/* Contains variants of other functions, provided for easier use.
193
* For instance, provides symmetric functions through transposition.
194
*/
195
#include<
awali/dyn/algos/aliases.hh
>
196
197
/* Contains the evaluation for transducers. */
198
#include<
awali/dyn/algos/tdc_eval.hh
>
199
200
/* Contains algorithm to generate a random deterministic boolean automata of a
201
* given length
202
*/
203
#include<
awali/dyn/algos/random.hh
>
204
205
206
/* Contains algorithm circulation? */
207
#include<
awali/dyn/algos/tdc_circulation.hh
>
208
209
210
211
/* awali::dyn functions to
212
* - load automata from files (or istreams);
213
* - display an automaton using `graphviz` and `dotty`;
214
* - writing pdf image of an automaton to an ostream.
215
*/
216
#include<
awali/dyn/algos/sys.hh
>
217
218
#include<
awali/dyn/options/option.hh
>
219
220
#include<
awali/dyn/loading/locations.hh
>
221
222
#include<
awali/common/no_such_file_exception.hh
>
223
224
#endif
abstract_context.hh
abstract_ratexp.hh
aliases.hh
context_description.hh
context_description_deprecated.hh
transducer.hh
random.hh
automaton.hh
accessible.hh
are_equivalent.hh
automaton.hh
context.hh
derivation.hh
determinize.hh
eval.hh
factor.hh
product.hh
proper.hh
ratexp.hh
standard.hh
transpose.hh
eliminate.hh
enum_utils.hh
enums.hh
equality.hh
factories.hh
graph.hh
json_ast.hh
locations.hh
transducer.hh
no_such_file_exception.hh
node.hh
option.hh
output.hh
partial_id.hh
promotion.hh
qfraction.hh
quotient.hh
singleproduct.hh
smart_printer.hh
sys.hh
tdc_circulation.hh
tdc_eval.hh
utils.hh
version.hh
words.hh
Generated on Tue Dec 20 2022 19:47:02 for Awali by
1.9.1