spot  1.2.1a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
spot::opt_dijkstra_scc Class Reference

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>

Inheritance diagram for spot::opt_dijkstra_scc:
Inheritance graph
Collaboration diagram for spot::opt_dijkstra_scc:
Collaboration graph

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 fasttgbaa_
 
std::vector< pair_state_itertodo
 the todo stack More...
 
std::vector< const
spot::fasttgba_state * > 
live
 
stack_of_rootsroots_stack_
 Root of stack. More...
 
deadstoredeadstore_
 The store of dead states. More...
 
seen_map H
 
const instance_automatoninst
 The instance automaton. More...
 
marksetempty_
 
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...
 

Detailed Description

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.

Member Typedef Documentation

the storage

Member Enumeration Documentation

The color for a new State.

Constructor & Destructor Documentation

spot::opt_dijkstra_scc::opt_dijkstra_scc ( instanciator i,
std::string  option = "",
bool  swarm = false 
)

A constructor taking the automaton to check.

virtual spot::opt_dijkstra_scc::~opt_dijkstra_scc ( )
virtual

A destructor.

Member Function Documentation

bool spot::opt_dijkstra_scc::check ( )
virtual

The implementation of the interface.

Implements spot::ec.

virtual void spot::opt_dijkstra_scc::dfs_pop ( )
protectedvirtual

Pop states already explored.

Reimplemented in spot::concur_opt_dijkstra_scc.

virtual void spot::opt_dijkstra_scc::dfs_push ( fasttgba_state )
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.

virtual color spot::opt_dijkstra_scc::get_color ( const fasttgba_state )
protectedvirtual

Storage for counterexample found or not.

Reimplemented in spot::concur_opt_dijkstra_scc.

virtual void spot::opt_dijkstra_scc::init ( )
protectedvirtual

Fix set ups for the algo.

virtual void spot::opt_dijkstra_scc::main ( )
protectedvirtual

the main procedure

Reimplemented in spot::concur_opt_dijkstra_scc.

virtual bool spot::opt_dijkstra_scc::merge ( fasttgba_state )
protectedvirtual

merge multiple states

Reimplemented in spot::opt_dijkstra_ec, and spot::concur_opt_dijkstra_scc.

Member Data Documentation

bool spot::opt_dijkstra_scc::counterexample_found
protected

the automaton that will be used for the Emptiness check

deadstore* spot::opt_dijkstra_scc::deadstore_
protected

The store of dead states.

const instance_automaton* spot::opt_dijkstra_scc::inst
protected

The instance automaton.

unsigned int spot::opt_dijkstra_scc::max_dfs_size_
protected

keep peack size

unsigned int spot::opt_dijkstra_scc::max_live_size_
protected

keep peack size

int spot::opt_dijkstra_scc::memory_cost_
protected

evaluates memory

int spot::opt_dijkstra_scc::roots_poped_cpt_
protected

count UPDATE loop iterations

stack_of_roots* spot::opt_dijkstra_scc::roots_stack_
protected

Root of stack.

int spot::opt_dijkstra_scc::states_cpt_
protected

count states

bool spot::opt_dijkstra_scc::swarm_
protected

shall use swarming?

std::vector<pair_state_iter> spot::opt_dijkstra_scc::todo
protected

the todo stack

int spot::opt_dijkstra_scc::transitions_cpt_
protected

count transitions

int spot::opt_dijkstra_scc::trivial_scc_
protected

count trivial SCCs

int spot::opt_dijkstra_scc::update_cpt_
protected

count UPDATE calls

int spot::opt_dijkstra_scc::update_loop_cpt_
protected

count UPDATE loop iterations


The documentation for this class was generated from the following file:

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Tue Jan 21 2014 16:52:02 for spot by doxygen 1.8.5