|
|
||||||
|
mtc_redundantcolors.cpp
Go to the documentation of this file.
73 SearchScc(*sit, rCount, rGen, rNewStates, rSTACK, rStackStates, rDFN, rLOWLINK, rSccSet, rRoots);
131 SearchScc(*newStates.Begin(), count, rGen, newStates, stack, stackStates, DFN, LOWLINK, rSCCSet, rRoots);
193 TraverseUncontrollableBackwards(copyGen.ControllableEvents(),copyTransSet,criticalStates, *stIt);
199 // Fixed point iteration that alternately computes SCCs and removes states with outgoing uncontrollable
209 // otherwise, the SCCs can be used to construct a strongly nonblocking and controllable subbehavior of rGen that is
210 // blocking w.r.t. the potentially redundant color (just remove all transitions that leave the SCCs in G)
253 // the abstracted generator has at most as many states as the original generator with the overall alphabet
262 // if the current color can be removed, check the next colors (note that this is only possible if
277 else if(currentNumberStates == optimalNumberStates && reducedGen.Colors().Size() < rOptimalColors.Size() ){
282 rec_OptimalColorSet(reducedGen, colorVector, i + 1, rOptimalColors, optimalNumberStates, optimalNumberColors, rHighAlph, optimalAlph);
288 // rec_OptimalColorSet(rGen,rColorVector,colorNumber,rOptimalColors,rOptimalNumberStates,rOptimalNumberColors,rHighAlph,rOptimalHighAlph)
289 void rec_OptimalColorSet(const MtcSystem& rGen, const std::vector<Idx>& rColorVector, Idx colorNumber, ColorSet& rOptimalColors,
290 Idx& rOptimalNumberStates, Idx& rOptimalNumberColors, const EventSet& rHighAlph, EventSet& rOptimalHighAlph){
310 else if(currentNumberStates == rOptimalNumberStates && reducedGen.Colors().Size() < rOptimalColors.Size() ){
317 rec_OptimalColorSet(reducedGen, rColorVector, colorNumber + 1, rOptimalColors, rOptimalNumberStates, rOptimalNumberColors, rHighAlph, rOptimalHighAlph);
Container for colors: this is a NameSet with its own static symboltable. Definition: mtc_colorset.h:41 TBaseSet< Transition, TransSort::X1EvX2 >::Iterator Iterator Iterator on transition. Definition: cfl_transset.h:269 const TaStateSet< StateAttr > & States(void) const Return reference to state set. Definition: cfl_agenerator.h:1363 const TaEventSet< EventAttr > & Alphabet(void) const Return const reference to alphabet. Definition: cfl_agenerator.h:1358 const ATransSet & TransRel(void) const Return reference to transition relation. Definition: cfl_agenerator.h:1368 EventSet ControllableEvents(void) const Get EventSet with controllable events. Definition: cfl_cgenerator.h:1124 Allows to create colored marking generators (CMGs) as the common five tupel consisting of alphabet,... Definition: mtc_generator.h:53 bool ExistsColor(Idx colorIndex) const Check if color exists in generator. Definition: mtc_generator.h:1256 void Colors(ColorSet &rColors) const Insert all colors used in the generator to a given ColorSet. Definition: mtc_generator.h:1180 void DelColor(Idx stateIndex, const std::string &rColorName) Remove color by name from an existing state specified by index. Definition: mtc_generator.h:1073 TransSet::Iterator TransRelBegin(void) const Iterator to Begin() of transition relation. Definition: cfl_generator.cpp:1067 TransSet::Iterator TransRelEnd(void) const Iterator to End() of transition relation. Definition: cfl_generator.cpp:1072 void OptimalColorSet(const MtcSystem &rGen, ColorSet &rOptimalColors, EventSet &rHighAlph) Compute an optimal subset of the colors that should be removed. Definition: mtc_redundantcolors.cpp:242 void ColoredSCC(MtcSystem &rGen, ColorSet &rColors, std::set< StateSet > &rColoredSCCs) Compute all strongly connected components (SCCs) in a colored marking generator (CMG) that are marked... Definition: mtc_redundantcolors.cpp:140 bool ComputeSCC(const Generator &rGen, std::set< StateSet > &rSCCSet, StateSet &rRoots) Computes the strongly connected components (SCCs) of an automaton. Definition: mtc_redundantcolors.cpp:121 bool CheckRedundantColor(MtcSystem rGen, Idx redundantColor) Check if a color in a colored marking generator is redundant for the supervisor synthesis. Definition: mtc_redundantcolors.cpp:172 Int calcNaturalObserver(const Generator &rGen, EventSet &rHighAlph) Lm(G)-observer computation by adding events to the high-level alphabet. Definition: op_observercomputation.cpp:433 Methods for removing redundant colors for the supervisor synthesis from MtcSystems. void rec_OptimalColorSet(const MtcSystem &rGen, const std::vector< Idx > &rColorVector, Idx colorNumber, ColorSet &rOptimalColors, Idx &rOptimalNumberStates, Idx &rOptimalNumberColors, const EventSet &rHighAlph, EventSet &rOptimalHighAlph) Recursively find an optimal set of colors to be removed. Definition: mtc_redundantcolors.cpp:289 void TraverseUncontrollableBackwards(const EventSet &rCAlph, TransSetX2EvX1 &rtransrel, StateSet &rCriticalStates, Idx current) Helper function for IsControllable. Definition: syn_supcon.cpp:847 void SearchScc(const Idx vState, int &vRcount, const Generator &rGen, const SccFilter &rFilter, StateSet &rTodo, std::stack< Idx > &rStack, StateSet &rStackStates, std::map< const Idx, int > &rDfn, std::map< const Idx, int > &rLowLnk, std::list< StateSet > &rSccList, StateSet &rRoots) Search for strongly connected components (SCC). Definition: cfl_graphfncts.cpp:228 libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen |