Vcsn
2.0
Be Rational
|
#include <minimize-weighted.hh>
Classes | |
class | label_less |
class | label_to_weights_and_states_t |
class | signature_equal_to |
class | signature_hasher |
class | signature_multimap |
struct | state_output_for_label_t |
Public Member Functions | |
minimizer (const Aut &a) | |
void | build_classes_ () |
Build the initial classes, and split until fix point. More... | |
partition_automaton< automaton_t > | operator() () |
The minimized automaton. More... | |
Private Types | |
using | automaton_t = Aut |
using | labelset_t = labelset_t_of< automaton_t > |
using | weightset_t = weightset_t_of< automaton_t > |
using | label_t = label_t_of< automaton_t > |
using | weight_t = weight_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 | weight_and_state_t = std::pair< weight_t, state_t > |
using | state_output_t = std::vector< state_output_for_label_t > |
using | state_label_output_map_t = std::map< class_t, weight_t > |
The output of a given letter from a given state, keeping into account classes and weights, in a format suitable to comparison or hashing. More... | |
Private Member Functions | |
const state_label_output_map_t | state_label_output_map (const std::vector< weight_and_state_t > &wss) const |
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... | |
Static Private Member Functions | |
static constexpr const char * | me () |
Private Attributes | |
const automaton_t & | a_ |
Input automaton, supplied at construction time. More... | |
const labelset_t & | ls_ |
const weightset_t & | ws_ |
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_ |
Static Private Attributes | |
static constexpr class_t | class_invalid = -1 |
An invalid class. More... | |
Friends | |
class | label_less |
class | signature_hasher |
class | signature_equal_to |
class | signature_multimap |
Definition at line 21 of file minimize-weighted.hh.
|
private |
Definition at line 23 of file minimize-weighted.hh.
|
private |
Definition at line 37 of file minimize-weighted.hh.
|
private |
Definition at line 40 of file minimize-weighted.hh.
|
private |
Definition at line 34 of file minimize-weighted.hh.
|
private |
Definition at line 28 of file minimize-weighted.hh.
|
private |
Definition at line 38 of file minimize-weighted.hh.
|
private |
The output of a given letter from a given state, keeping into account classes and weights, in a format suitable to comparison or hashing.
If a class is reachable with weight zero, it's guaranteed to be omitted from the table.
Definition at line 98 of file minimize-weighted.hh.
|
private |
Definition at line 61 of file minimize-weighted.hh.
|
private |
Definition at line 36 of file minimize-weighted.hh.
|
private |
Definition at line 39 of file minimize-weighted.hh.
|
private |
Definition at line 51 of file minimize-weighted.hh.
|
private |
Definition at line 35 of file minimize-weighted.hh.
|
private |
Definition at line 31 of file minimize-weighted.hh.
|
inline |
Definition at line 291 of file minimize-weighted.hh.
References vcsn::is_trim(), vcsn::less_than(), vcsn::require(), and vcsn::sort().
|
inline |
Build the initial classes, and split until fix point.
Definition at line 331 of file minimize-weighted.hh.
|
inlineprivate |
Definition at line 263 of file minimize-weighted.hh.
|
inlineprivate |
Make a new class with the given set of states.
Definition at line 271 of file minimize-weighted.hh.
|
inlinestaticprivate |
Definition at line 42 of file minimize-weighted.hh.
|
inline |
The minimized automaton.
Definition at line 384 of file minimize-weighted.hh.
References vcsn::quotient().
|
inlineprivate |
Definition at line 101 of file minimize-weighted.hh.
References vcsn::detail_weighted::minimizer< Aut >::state_to_class_, and vcsn::detail_weighted::minimizer< Aut >::ws_.
|
friend |
Definition at line 63 of file minimize-weighted.hh.
|
friend |
Definition at line 155 of file minimize-weighted.hh.
|
friend |
Definition at line 121 of file minimize-weighted.hh.
|
friend |
Definition at line 244 of file minimize-weighted.hh.
|
private |
Input automaton, supplied at construction time.
Definition at line 26 of file minimize-weighted.hh.
|
staticprivate |
An invalid class.
Definition at line 45 of file minimize-weighted.hh.
|
private |
Definition at line 48 of file minimize-weighted.hh.
|
private |
Definition at line 29 of file minimize-weighted.hh.
Referenced by vcsn::detail_weighted::minimizer< Aut >::label_less::operator()().
|
private |
Definition at line 46 of file minimize-weighted.hh.
|
private |
Definition at line 49 of file minimize-weighted.hh.
Referenced by vcsn::detail_weighted::minimizer< Aut >::state_label_output_map().
|
private |
Definition at line 92 of file minimize-weighted.hh.
|
private |
Definition at line 32 of file minimize-weighted.hh.
Referenced by vcsn::detail_weighted::minimizer< Aut >::state_label_output_map().