|
Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Namespaces | |
| namespace | efficient |
Data Structures | |
| class | EpsilonRemoverIncoming |
| class | EpsilonRemoverOutgoing |
| class | Minimize |
| class | MinimizeBrzozowski |
| class | MinimizeByPartitioning |
| class | MinimizeVerbose |
| class | Normalize |
| class | RemoveUnused |
| class | Rename |
| class | SingleInitialState |
| class | SingleInitialStateEpsilonTransition |
| class | ToArcFactored |
| class | Total |
| class | Trim |
| class | UnreachableStatesRemover |
| class | UselessStatesRemover |
Typedefs | |
| template<class T > | |
| using | SymbolType = typename T::SymbolType |
Functions | |
| MinimizeByPartitioning::FA< T > | res (statePartitionMap.at(nfa.getInitialState())) |
| res | setStates (partitions) |
| res | addInputSymbols (nfa.getInputAlphabet()) |
| for (const StateType &state :nfa.getFinalStates()) res.addFinalState(statePartitionMap.at(state)) | |
| for (const auto &transition :nfa.getTransitions()) res.addTransition(statePartitionMap.at(transition.first.first) | |
| transition first statePartitionMap | at (transition.second)) |
| res | addInputSymbols (dfta.getInputAlphabet()) |
| for (const StateType &state :dfta.getFinalStates()) res.addFinalState(statePartitionMap.at(state)) | |
| for (const auto &transition :dfta.getTransitions()) | |
| result | setInputAlphabet (fsm.getInputAlphabet()) |
| for (const StateType &state :fsm.getStates()) result.addState(renamingData.at(state)) | |
| for (const auto &transition :fsm.getTransitions()) result.addTransition(renamingData.at(transition.first.first) | |
| result | setInputAlphabet (fta.getInputAlphabet()) |
| for (const StateType &state :fta.getStates()) result.addState(renamingData.at(state)) | |
| for (const auto &transition :fta.getTransitions()) | |
| SingleInitialState::ConvertedAutomaton< T > | res (q0) |
| for (const StateType &q :fsm.getStates()) res.addState(q) | |
| res | setFinalStates (fsm.getFinalStates()) |
| if (! ext::excludes(fsm.getFinalStates().begin(), fsm.getFinalStates().end(), fsm.getInitialStates().begin(), fsm.getInitialStates().end())) res.addFinalState(q0) | |
| for (const auto &q :fsm.getInitialStates()) res.addTransition(q0 | |
Variables | |
| template<class T > requires isDFTA < T > || isNFTA < T > MinimizeByPartitioning::FTA < T > MinimizeByPartitioning::minimize ( const T & dfta, const ext::set < ext::set < typename T::StateType > > & partitions ) | |
| const ext::map< StateType, ext::set< StateType > > | statePartitionMap = partitionMap ( partitions ) |
| transition first | second |
| return | res |
| template<class T > requires isDFTA < T > || isNFTA < T > Rename::RenamedTreeAutomaton < T > Rename::rename ( const T & fta ) | |
| unsigned | counter = 0 |
| ext::map< StateType, unsigned > | renamingData |
| for(const StateType &state :fsm.getStates()) renamingData.insert(std Rename::RenamedAutomaton< T > | result (renamingData.at(fsm.getInitialState())) |
| template<class T > | |
| StateType | q0 = common::createUnique ( label::InitialStateLabel::instance < StateType > ( ), fsm.getStates ( ) ) |
| for(const auto &q :fsm.getInitialStates()) for(const auto &kv | for (const auto &t :fsm.getTransitions()) res.addTransition(t.first.first |
| q | |
| using automaton::simplify::SymbolType = typedef typename T::SymbolType |
| res automaton::simplify::addInputSymbols | ( | dfta. | getInputAlphabet() | ) |
| res automaton::simplify::addInputSymbols | ( | nfa. | getInputAlphabet() | ) |
| transition first renamingData automaton::simplify::at | ( | transition. | second | ) |
| automaton::simplify::for | ( | const auto &q :fsm. | getInitialStates() | ) |
| automaton::simplify::for | ( | const auto &transition :dfta. | getTransitions() | ) |
| automaton::simplify::for | ( | const auto &transition :fsm. | getTransitions() | ) |
| automaton::simplify::for | ( | const auto &transition :fta. | getTransitions() | ) |
| automaton::simplify::for | ( | const auto &transition :nfa. | getTransitions() | ) |
| automaton::simplify::for | ( | const StateType &q :fsm. | getStates() | ) |
| automaton::simplify::for | ( | const StateType &state :dfta. | getFinalStates() | ) |
| automaton::simplify::for | ( | const StateType &state :fsm. | getStates() | ) |
| automaton::simplify::for | ( | const StateType &state :fta. | getStates() | ) |
| automaton::simplify::for | ( | const StateType &state :nfa. | getFinalStates() | ) |
| automaton::simplify::if | ( | ! | ext::excludesfsm.getFinalStates().begin(), fsm.getFinalStates().end(), fsm.getInitialStates().begin(), fsm.getInitialStates().end() | ) |
| SingleInitialState::ConvertedAutomaton< T > automaton::simplify::res | ( | q0 | ) |
| MinimizeByPartitioning::FA< T > automaton::simplify::res | ( | statePartitionMap. | atnfa.getInitialState() | ) |
| res automaton::simplify::setFinalStates | ( | fsm. | getFinalStates() | ) |
| res automaton::simplify::setInputAlphabet | ( | fsm. | getInputAlphabet() | ) |
| result automaton::simplify::setInputAlphabet | ( | fta. | getInputAlphabet() | ) |
| res automaton::simplify::setStates | ( | partitions | ) |
| unsigned automaton::simplify::counter = 0 |
| automaton::simplify::for | ( | const auto &t :fsm. | getTransitions() | ) |
| automaton::simplify::q |
| StateType automaton::simplify::q0 = common::createUnique ( label::InitialStateLabel::instance < StateType > ( ), fsm.getStates ( ) ) |
| ext::map< StateType, unsigned > automaton::simplify::renamingData |
| return automaton::simplify::res |
| return automaton::simplify::result | ( | renamingData. | atfsm.getInitialState() | ) |
| t first t automaton::simplify::second |
| const ext::map< StateType, ext::set< StateType > > automaton::simplify::statePartitionMap = partitionMap ( partitions ) |