Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

spot::parity_game_graph_delayed Class Reference

#include <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 simulation_relationget_relation ()
void print (std::ostream &os)
virtual void add_state (const state *s)
virtual const statenext_state ()
 Called by run() to obtain the.

void run ()
 Iterate over all reachable states of a spot::tgba.


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)

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 Sgi::vector< bdd > bdd_v

Private Member Functions

int nb_set_acc_cond ()
 Return the number of acceptance condition.

void build_sub_set_acc_cond ()
 Compute sub_set_acc_cond_;.

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)
virtual void build_graph ()
 Compute the couple as for direct simulation,.

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 lift ()
 The Jurdzinski's lifting algorithm.


Private Attributes

bdd_v sub_set_acc_cond_

Detailed Description

Parity game graph which compute the delayed simulation relation as explain in { icalp2001, AUTHOR = {Etessami, Thomas Wilke, Rebecca A. Schuller}, TITLE = {Fair Simulation Relations, Parity Games, and State Space Reduction for Buchi Automata}, BOOKTITLE = {Automata, Languages and Programming, 28th international collquium}, PAGES = {694--707}, YEAR = 2001, EDITOR = {Orejas, Fernando and Spirakis, Paul G. and van Leeuwen, Jan}, VOLUME = 2076, SERIES = {Lecture Notes in Computer Science}, ADDRESS = {Crete, Greece}, MONTH = JUL, PUBLISHER = {Springer}, url = {citeseer.ist.psu.edu/472661.html} }


Member Typedef Documentation

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

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

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

Reimplemented in spot::tgba_reduc.


Constructor & Destructor Documentation

spot::parity_game_graph_delayed::parity_game_graph_delayed const tgba a  ) 
 

spot::parity_game_graph_delayed::~parity_game_graph_delayed  ) 
 


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]
 

Implements spot::tgba_reachable_iterator.

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]
 

void spot::parity_game_graph_delayed::build_sub_set_acc_cond  )  [private]
 

Compute sub_set_acc_cond_;.

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

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

Reimplemented from spot::tgba_reachable_iterator.

virtual simulation_relation* spot::parity_game_graph_delayed::get_relation  )  [virtual]
 

Implements spot::parity_game_graph.

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

The Jurdzinski's lifting algorithm.

Implements spot::parity_game_graph.

int spot::parity_game_graph_delayed::nb_set_acc_cond  )  [private]
 

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.

Implements spot::tgba_reachable_iterator.

void spot::parity_game_graph::print std::ostream &  os  )  [inherited]
 

void spot::parity_game_graph::process_link int  in,
int  out,
const tgba_succ_iterator si
[protected, virtual, inherited]
 

Called by run() to process a transition.

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

Reimplemented from spot::tgba_reachable_iterator.

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:
s The current state.
n An 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 iterate over state.

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

Called by run() before starting its iteration.

Reimplemented from spot::tgba_reachable_iterator.


Member Data Documentation

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

The spot::tgba to explore.

dn_v spot::parity_game_graph::duplicator_vertice_ [protected, inherited]
 

int spot::parity_game_graph::nb_node_parity_game [protected, inherited]
 

seen_map spot::tgba_reachable_iterator::seen [protected, inherited]
 

States already seen.

sn_v spot::parity_game_graph::spoiler_vertice_ [protected, inherited]
 

bdd_v spot::parity_game_graph_delayed::sub_set_acc_cond_ [private]
 

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:
Generated on Tue Jun 29 17:02:14 2004 for spot by doxygen 1.3.7