spot  0.8.1
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes
spot::parity_game_graph_delayed Class Reference

#include <tgbaalgos/reductgba_sim.hh>

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

List of all members.

Public Member Functions

 parity_game_graph_delayed (const tgba *a)
 ~parity_game_graph_delayed ()
virtual
delayed_simulation_relation
get_relation ()
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 start ()
 Called by run() before starting its iteration.
virtual void end ()
 Called by run() once all states have been explored.
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 process_state (const state *s, int n, tgba_succ_iterator *si)

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.

Private Types

typedef std::vector< bdd > bdd_v

Private Member Functions

int nb_set_acc_cond ()
 Return the number of acceptance condition.
duplicator_node_delayedadd_duplicator_node_delayed (const spot::state *sn, const spot::state *dn, bdd acc, bdd label, int nb)
spoiler_node_delayedadd_spoiler_node_delayed (const spot::state *sn, const spot::state *dn, bdd acc, int nb)
void build_recurse_successor_spoiler (spoiler_node *sn, std::ostringstream &os)
void build_recurse_successor_duplicator (duplicator_node *dn, spoiler_node *sn, std::ostringstream &os)
virtual void build_graph ()
 Compute the couple as for direct simulation,.
virtual void lift ()
 The Jurdzinski's lifting algorithm.

Private Attributes

bdd_v sub_set_acc_cond_

Detailed Description

Parity game graph which computes the delayed simulation relation as explained in

  /// @InProceedings{etessami.01.alp,
  ///   author	= {Kousha Etessami and Thomas Wilke and Rebecca A. Schuller},
  ///   title	= {Fair Simulation Relations, Parity Games, and State Space
  /// 		  Reduction for Buchi Automata},
  ///   booktitle = {Proceedings of the 28th international colloquium on
  /// 		  Automata, Languages and Programming},
  ///   pages	= {694--707},
  ///   year	= {2001},
  ///   editor	= {Fernando Orejas and Paul G. Spirakis and Jan van Leeuwen},
  ///   volume	= {2076},
  ///   series	= {Lecture Notes in Computer Science},
  ///   address	= {Crete, Greece},
  ///   month	= {July},
  ///   publisher = {Springer-Verlag}
  /// }
  /// 

Member Typedef Documentation

typedef std::vector<bdd> spot::parity_game_graph_delayed::bdd_v [private]

Vector which contain all the sub-set of the set of acceptance condition.


Constructor & Destructor Documentation


Member Function Documentation

duplicator_node_delayed* spot::parity_game_graph_delayed::add_duplicator_node_delayed ( const spot::state sn,
const spot::state dn,
bdd  acc,
bdd  label,
int  nb 
) [private]
spoiler_node_delayed* spot::parity_game_graph_delayed::add_spoiler_node_delayed ( const spot::state sn,
const spot::state dn,
bdd  acc,
int  nb 
) [private]
virtual void spot::tgba_reachable_iterator_breadth_first::add_state ( const state s) [virtual, inherited]
virtual void spot::parity_game_graph_delayed::build_graph ( ) [private, virtual]

Compute the couple as for direct simulation,.

Implements spot::parity_game_graph.

void spot::parity_game_graph_delayed::build_recurse_successor_duplicator ( duplicator_node dn,
spoiler_node sn,
std::ostringstream &  os 
) [private]
void spot::parity_game_graph_delayed::build_recurse_successor_spoiler ( spoiler_node sn,
std::ostringstream &  os 
) [private]
virtual void spot::tgba_reachable_iterator::end ( ) [virtual, inherited]

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

virtual void spot::parity_game_graph_delayed::lift ( ) [private, virtual]

The Jurdzinski's lifting algorithm.

Implements spot::parity_game_graph.

Return the number of acceptance condition.

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) [inherited]
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_sThe source state
inThe source state number.
out_sThe destination state
outThe destination state number.
siThe 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, inherited]

Called by run() to process a state.

Parameters:
sThe current state.
nA unique number assigned to s.
siThe 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.

virtual void spot::tgba_reachable_iterator::start ( ) [virtual, inherited]

Called by run() before starting its iteration.

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.

s_v spot::parity_game_graph::tgba_state_ [protected, inherited]
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 Sun Dec 18 2011 12:57:16 for spot by doxygen 1.7.6.1