Vcsn
2.3
Be Rational
|
#include <minimize-signature.hh>
Classes | |
struct | signature_equal_to |
struct | signature_hasher |
struct | state_output_for_label_t |
Public Member Functions | |
minimizer (const Aut &a) | |
class_to_set_t & | classes () |
The partition, as a list of classes. More... | |
Private Types | |
using | automaton_t = Aut |
using | labelset_t = labelset_t_of< automaton_t > |
using | label_t = label_t_of< automaton_t > |
using | state_t = state_t_of< automaton_t > |
using | class_t = unsigned |
using | set_t = std::vector< state_t > |
using | state_to_class_t = std::unordered_map< state_t, class_t > |
using | class_to_set_t = std::vector< set_t > |
using | state_output_t = std::vector< state_output_for_label_t > |
using | signature_multimap = std::unordered_map< state_t, set_t, signature_hasher, signature_equal_to > |
Cluster states per signature. More... | |
Private Member Functions | |
void | clear () |
class_t | make_class (set_t &&set, class_t number=class_invalid) |
Make a new class with the given set of states. More... | |
void | build_classes_ () |
Build the initial classes, and split until fix point. More... | |
Static Private Member Functions | |
static constexpr const char * | me () |
Private Attributes | |
automaton_t | a_ |
Input automaton, supplied at construction time. More... | |
const labelset_t & | ls_ = *a_->labelset() |
unsigned | num_classes_ = 0 |
class_to_set_t | class_to_set_ |
state_to_class_t | state_to_class_ |
std::unordered_map< state_t, state_output_t > | state_to_state_output_ |
Sort of a transition map for each state: state -> vector of (label, destination states). More... | |
Static Private Attributes | |
static constexpr class_t | class_invalid = -1 |
An invalid class. More... | |
Definition at line 28 of file minimize-signature.hh.
|
private |
Definition at line 33 of file minimize-signature.hh.
|
private |
Definition at line 38 of file minimize-signature.hh.
|
private |
Definition at line 41 of file minimize-signature.hh.
|
private |
Definition at line 36 of file minimize-signature.hh.
|
private |
Definition at line 35 of file minimize-signature.hh.
|
private |
Definition at line 39 of file minimize-signature.hh.
|
private |
Cluster states per signature.
This appears to be hashing on states, but we actually hash on the states' signatures behind the scene.
Definition at line 143 of file minimize-signature.hh.
|
private |
Definition at line 56 of file minimize-signature.hh.
|
private |
Definition at line 37 of file minimize-signature.hh.
|
private |
Definition at line 40 of file minimize-signature.hh.
|
inline |
Definition at line 178 of file minimize-signature.hh.
References vcsn::detail::all_out(), vcsn::is_trim(), vcsn::require(), and vcsn::sort().
|
inlineprivate |
Build the initial classes, and split until fix point.
Definition at line 215 of file minimize-signature.hh.
References vcsn::all().
|
inline |
The partition, as a list of classes.
Definition at line 207 of file minimize-signature.hh.
|
inlineprivate |
Definition at line 145 of file minimize-signature.hh.
|
inlineprivate |
Make a new class with the given set of states.
set | the states belonging to this class |
number | the class number to use. If class_invalid, allocate one. |
Definition at line 158 of file minimize-signature.hh.
References vcsn::set.
|
inlinestaticprivate |
Definition at line 43 of file minimize-signature.hh.
|
private |
Input automaton, supplied at construction time.
Definition at line 270 of file minimize-signature.hh.
|
staticprivate |
An invalid class.
Definition at line 46 of file minimize-signature.hh.
|
private |
Definition at line 276 of file minimize-signature.hh.
|
private |
Definition at line 272 of file minimize-signature.hh.
|
private |
Definition at line 274 of file minimize-signature.hh.
|
private |
Definition at line 277 of file minimize-signature.hh.
|
private |
Sort of a transition map for each state: state -> vector of (label, destination states).
Definition at line 281 of file minimize-signature.hh.