19 #ifndef SPOT_FASTTGBAALGOS_EC_OPT_OPT_TARJAN_SCC_HH
20 # define SPOT_FASTTGBAALGOS_EC_OPT_OPT_TARJAN_SCC_HH
27 #include "fasttgbaalgos/ec/ec.hh"
28 #include "fasttgbaalgos/ec/deadstore.hh"
29 #include "fasttgbaalgos/ec/lowlink_stack.hh"
30 #include "fasttgbaalgos/ec/root_stack.hh"
52 bool swarm =
false,
int tid = 0);
62 std::string extra_info_csv();
70 virtual void dfs_push(fasttgba_state*);
73 virtual void dfs_pop();
76 virtual bool dfs_update (fasttgba_state* s);
82 enum color {Alive, Dead, Unknown};
89 long unsigned int position;
93 std::vector<pair_state_iter>
todo;
103 bool counterexample_found;
109 std::vector<const spot::fasttgba_state*>
live;
145 virtual void dfs_pop();
152 #endif // SPOT_FASTTGBAALGOS_EC_OPT_OPT_TARJAN_SCC_HH
stack_of_lowlink * dstack_
Use a "generic" lowlink stack.
Definition: opt_tarjan_scc.hh:96
this class acts like a wrapper to the C code of the open_set.
Definition: public.hh:32
Definition: opt_tarjan_scc.hh:85
int transitions_cpt_
count transitions
Definition: opt_tarjan_scc.hh:126
Definition: fasttgba.hh:33
seen_map H
the HashMap Live
Definition: opt_tarjan_scc.hh:112
Definition: root_stack.hh:250
const fasttgba * a_
the automaton that will be used for the Emptiness check
Definition: opt_tarjan_scc.hh:106
This class act as an interface for all classes.
Definition: fasttgba_state.hh:30
int states_cpt_
count states
Definition: opt_tarjan_scc.hh:125
bool swarm_
shall use swarming?
Definition: opt_tarjan_scc.hh:129
Abstract class for states.
Definition: state.hh:40
std::vector< pair_state_iter > todo
the todo stack
Definition: opt_tarjan_scc.hh:93
Compute the SCCs of a TGBA.
Definition: opt_tarjan_scc.hh:40
const instance_automaton * inst
The instance automaton.
Definition: opt_tarjan_scc.hh:118
Sgi::hash_map< const fasttgba_state *, int, fasttgba_state_ptr_hash, fasttgba_state_ptr_equal > seen_map
The map of visited states.
Definition: opt_tarjan_scc.hh:46
int trivial_scc_
count trivial SCCs
Definition: opt_tarjan_scc.hh:128
unsigned int max_dfs_size_
keep peack size
Definition: opt_tarjan_scc.hh:122
A simple wrapper for an automaton.
Definition: ec.hh:40
deadstore * deadstore_
The store for Deads states.
Definition: opt_tarjan_scc.hh:115
int memory_cost_
evaluates memory
Definition: opt_tarjan_scc.hh:127
int update_cpt_
count UPDATE calls
Definition: opt_tarjan_scc.hh:123
unsigned int max_live_size_
keep peack size
Definition: opt_tarjan_scc.hh:121
Iterate over the successors of a state.
Definition: fasttgba_succ_iterator.hh:35
Definition: fasttgba_state.hh:76
unsigned int dfs_size_
keep dfs size
Definition: opt_tarjan_scc.hh:120
int tid_
the thread id
Definition: opt_tarjan_scc.hh:130
This class represent a dead store. For now it's just a set but it can be combined with bitstate hasin...
Definition: deadstore.hh:41
Definition: fasttgba_state.hh:88
std::vector< const spot::fasttgba_state * > live
The live stack.
Definition: opt_tarjan_scc.hh:109
color
The color for a new State.
Definition: opt_tarjan_scc.hh:82
int roots_poped_cpt_
count UPDATE loop iterations
Definition: opt_tarjan_scc.hh:124
Definition: lowlink_stack.hh:35
This class is the implementation of the tarjan-based emptiness check. It onlys needs to refine two me...
Definition: opt_tarjan_scc.hh:137