Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes

spot::parity_game_graph Class Reference
[TGBA simplifications]

Parity game graph which compute a simulation relation. More...

#include <tgbaalgos/reductgba_sim.hh>

Inheritance diagram for spot::parity_game_graph:
Inheritance graph
[legend]
Collaboration diagram for spot::parity_game_graph:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 parity_game_graph (const tgba *a)
virtual ~parity_game_graph ()
virtual simulation_relationget_relation ()=0
void print (std::ostream &os)
virtual void add_state (const state *s)
virtual const statenext_state ()
 Called by run() to obtain the next state to process.
void run ()
 Iterate over all reachable states of a spot::tgba.
virtual bool want_state (const state *s) const
virtual void process_link (const state *in_s, int in, const state *out_s, int out, const tgba_succ_iterator *si)

Protected Types

typedef Sgi::hash_map< const
state *, int, state_ptr_hash,
state_ptr_equal
seen_map

Protected Member Functions

void start ()
 Called by run() before starting its iteration.
void end ()
 Called by run() once all states have been explored.
void process_state (const state *s, int n, tgba_succ_iterator *si)
void process_link (int in, int out, const tgba_succ_iterator *si)
virtual void build_graph ()=0
 Compute each node of the graph.
virtual void lift ()=0
 Remove edge from spoiler to duplicator that make duplicator loose. Spoiler node whose still have some link, reveal a direct simulation relation.

Protected Attributes

sn_v spoiler_vertice_
dn_v duplicator_vertice_
s_v tgba_state_
int nb_node_parity_game
std::deque< const state * > todo
 A queue of states yet to explore.
const tgbaautomata_
 The spot::tgba to explore.
seen_map seen
 States already seen.

Detailed Description

Parity game graph which compute a simulation relation.


Member Typedef Documentation

typedef Sgi::hash_map<const state*, int, state_ptr_hash, state_ptr_equal> spot::tgba_reachable_iterator::seen_map [protected, inherited]

Constructor & Destructor Documentation

spot::parity_game_graph::parity_game_graph ( const tgba a  ) 
virtual spot::parity_game_graph::~parity_game_graph (  )  [virtual]

Member Function Documentation

virtual void spot::tgba_reachable_iterator_breadth_first::add_state ( const state s  )  [virtual, inherited]
virtual void spot::parity_game_graph::build_graph (  )  [protected, pure virtual]

Compute each node of the graph.

Implemented in spot::parity_game_graph_direct, and spot::parity_game_graph_delayed.

void spot::parity_game_graph::end (  )  [protected, virtual]

Called by run() once all states have been explored.

Reimplemented from spot::tgba_reachable_iterator.

virtual simulation_relation* spot::parity_game_graph::get_relation (  )  [pure virtual]
virtual void spot::parity_game_graph::lift (  )  [protected, pure virtual]

Remove edge from spoiler to duplicator that make duplicator loose. Spoiler node whose still have some link, reveal a direct simulation relation.

Implemented in spot::parity_game_graph_direct, and spot::parity_game_graph_delayed.

virtual const state* spot::tgba_reachable_iterator_breadth_first::next_state (  )  [virtual, inherited]

Called by run() to obtain the next state to process.

Implements spot::tgba_reachable_iterator.

void spot::parity_game_graph::print ( std::ostream &  os  ) 
void spot::parity_game_graph::process_link ( int  in,
int  out,
const tgba_succ_iterator si 
) [protected]
virtual void spot::tgba_reachable_iterator::process_link ( const state in_s,
int  in,
const state out_s,
int  out,
const tgba_succ_iterator si 
) [virtual, inherited]

Called by run() to process a transition.

Parameters:
in_s The source state
in The source state number.
out_s The destination state
out The destination state number.
si The spot::tgba_succ_iterator positionned on the current transition.

The in_s and out_s states are owned by the spot::tgba_reachable_iterator instance and destroyed when the instance is destroyed.

void spot::parity_game_graph::process_state ( const state s,
int  n,
tgba_succ_iterator si 
) [protected, virtual]

Called by run() to process a state.

Parameters:
s The current state.
n A unique number assigned to s.
si The spot::tgba_succ_iterator for s.

Reimplemented from spot::tgba_reachable_iterator.

void spot::tgba_reachable_iterator::run (  )  [inherited]

Iterate over all reachable states of a spot::tgba.

This is a template method that will call add_state(), next_state(), start(), end(), process_state(), and process_link(), while it iterates over states.

void spot::parity_game_graph::start (  )  [protected, virtual]

Called by run() before starting its iteration.

Reimplemented from spot::tgba_reachable_iterator.

virtual bool spot::tgba_reachable_iterator::want_state ( const state s  )  const [virtual, inherited]

Called by add_state or next_states implementations to filter states. Default implementation always return true.


Member Data Documentation

const tgba* spot::tgba_reachable_iterator::automata_ [protected, inherited]

The spot::tgba to explore.

States already seen.

std::deque<const state*> spot::tgba_reachable_iterator_breadth_first::todo [protected, inherited]

A queue of states yet to explore.


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

Please comment this page and report errors about it on the RefDocComments page.
Generated on Mon Feb 7 2011 14:29:31 for spot by doxygen 1.7.1