spot
1.2.1a
|
This is the Dijkstra SCC computation algorithm This class also include the optimisation for the live stack (provided by Nuutila for Tarjan's algorithm but adapted here) and a possibly stack compression technique. More...
#include <fasttgbaalgos/ec/opt/opt_dijkstra_scc.hh>
Classes | |
struct | pair_state_iter |
Public Member Functions | |
opt_dijkstra_scc (instanciator *i, std::string option="", bool swarm=false) | |
A constructor taking the automaton to check. More... | |
virtual | ~opt_dijkstra_scc () |
A destructor. More... | |
bool | check () |
The implementation of the interface. More... | |
std::string | extra_info_csv () |
Get extra informations. More... | |
Protected Types | |
enum | color { Alive, Dead, Unknown } |
The color for a new State. More... | |
typedef Sgi::hash_map< const fasttgba_state *, int, fasttgba_state_ptr_hash, fasttgba_state_ptr_equal > | seen_map |
the storage More... | |
Protected Member Functions | |
virtual void | init () |
Fix set ups for the algo. More... | |
virtual void | dfs_push (fasttgba_state *) |
Push a new state to explore. More... | |
virtual void | dfs_pop () |
Pop states already explored. More... | |
virtual bool | merge (fasttgba_state *) |
merge multiple states More... | |
virtual void | main () |
the main procedure More... | |
virtual color | get_color (const fasttgba_state *) |
Storage for counterexample found or not. More... | |
Protected Attributes | |
bool | counterexample_found |
the automaton that will be used for the Emptiness check More... | |
const fasttgba * | a_ |
std::vector< pair_state_iter > | todo |
the todo stack More... | |
std::vector< const spot::fasttgba_state * > | live |
stack_of_roots * | roots_stack_ |
Root of stack. More... | |
deadstore * | deadstore_ |
The store of dead states. More... | |
seen_map | H |
const instance_automaton * | inst |
The instance automaton. More... | |
markset * | empty_ |
unsigned int | max_live_size_ |
keep peack size More... | |
unsigned int | max_dfs_size_ |
keep peack size More... | |
int | update_cpt_ |
count UPDATE calls More... | |
int | update_loop_cpt_ |
count UPDATE loop iterations More... | |
int | roots_poped_cpt_ |
count UPDATE loop iterations More... | |
int | states_cpt_ |
count states More... | |
int | transitions_cpt_ |
count transitions More... | |
int | memory_cost_ |
evaluates memory More... | |
int | trivial_scc_ |
count trivial SCCs More... | |
bool | swarm_ |
shall use swarming? More... | |
This is the Dijkstra SCC computation algorithm This class also include the optimisation for the live stack (provided by Nuutila for Tarjan's algorithm but adapted here) and a possibly stack compression technique.
|
protected |
the storage
|
protected |
The color for a new State.
spot::opt_dijkstra_scc::opt_dijkstra_scc | ( | instanciator * | i, |
std::string | option = "" , |
||
bool | swarm = false |
||
) |
A constructor taking the automaton to check.
|
virtual |
A destructor.
|
virtual |
The implementation of the interface.
Implements spot::ec.
|
protectedvirtual |
Pop states already explored.
Reimplemented in spot::concur_opt_dijkstra_scc.
|
protectedvirtual |
Push a new state to explore.
Reimplemented in spot::concur_opt_dijkstra_scc.
std::string spot::opt_dijkstra_scc::extra_info_csv | ( | ) |
Get extra informations.
|
protectedvirtual |
Storage for counterexample found or not.
Reimplemented in spot::concur_opt_dijkstra_scc.
|
protectedvirtual |
Fix set ups for the algo.
|
protectedvirtual |
the main procedure
Reimplemented in spot::concur_opt_dijkstra_scc.
|
protectedvirtual |
merge multiple states
Reimplemented in spot::opt_dijkstra_ec, and spot::concur_opt_dijkstra_scc.
|
protected |
the automaton that will be used for the Emptiness check
|
protected |
The store of dead states.
|
protected |
The instance automaton.
|
protected |
keep peack size
|
protected |
keep peack size
|
protected |
evaluates memory
|
protected |
count UPDATE loop iterations
|
protected |
Root of stack.
|
protected |
count states
|
protected |
shall use swarming?
|
protected |
the todo stack
|
protected |
count transitions
|
protected |
count trivial SCCs
|
protected |
count UPDATE calls
|
protected |
count UPDATE loop iterations