About
User Reference
C++ API
luafaudes
Developer
Links
libFAUDES online
libFAUDES
C++ API
Sections
Sets
Generators
Functions
PlugIns
Tutorials
Index
Classes
Files
op_partition.h
Go to the documentation of this file.
1
/** @file op_partition.h
2
3
Data structure that implements an equivalence class in the bisimulation algorithm.
4
The algorithm is presented in
5
J.-C. Fernandez, “An implementation of an efficient algorithm for
6
bisimulation equivalence,” Science of Computer Programming, vol. 13,
7
pp. 219-236, 1990.
8
*/
9
10
/* FAU Discrete Event Systems Library (libfaudes)
11
12
Copyright (C) 2006 Bernd Opitz
13
Exclusive copyright is granted to Klaus Schmidt
14
15
This library is free software; you can redistribute it and/or
16
modify it under the terms of the GNU Lesser General Public
17
License as published by the Free Software Foundation; either
18
version 2.1 of the License, or (at your option) any later version.
19
20
This library is distributed in the hope that it will be useful,
21
but WITHOUT ANY WARRANTY; without even the implied warranty of
22
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23
Lesser General Public License for more details.
24
25
You should have received a copy of the GNU Lesser General Public
26
License along with this library; if not, write to the Free Software
27
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
28
29
30
#include "
corefaudes.h
"
31
#include "
op_debug.h
"
32
#include <vector>
33
#include <map>
34
35
#ifndef FAUDES_OP_PARTITION_H
36
#define FAUDES_OP_PARTITION_H
37
38
39
namespace
faudes {
40
41
/**
42
* This struct implements a coset (=equivalence class) as needed for the computation of the coarsest quasi-congruence on an automaton.
43
*/
44
struct
Partition
{
45
46
/** Constructor */
47
Partition
();
48
49
/** Unique index */
50
Idx
index
;
51
52
/** Pointer to the associated StateSet */
53
StateSet
states
;
54
55
/** Index of the parent coset */
56
Partition
*
pFather
;
57
58
/** Index of the brother coset */
59
Partition
*
pBrother
;
60
61
/** Index of first child coset */
62
Partition
*
pFirstChild
;
63
64
/** Index of second child coset */
65
Partition
*
pSecondChild
;
66
67
/** indicates if the current partition is stable with respect to this coset */
68
bool
nonSplitting
;
69
70
/** Info-map. First Idx: event, second Idx: state, third Idx: number of occurences */
71
std::map<Idx,std::map<Idx,Idx> >
infoMap
;
72
73
/**
74
* Write info-map to console
75
*
76
* @param event
77
* event for which the info-map shall be plotted
78
*/
79
void
writeInfoMap
(
Idx
event)
const
;
80
81
/** number of states in this coset */
82
Idx
numberOfStates
;
83
};
84
85
}
// name space
86
87
#endif
libFAUDES 2.24g
--- 2014.09.15 --- c++ api documentaion by
doxygen
>>
C++ API
Introduction
Sets
Generators
Functions
PlugIns
Tutorials
Classes
Files
Top of Page