LydiaSyft
Syft::ReachabilityMaxSet Class Reference

A maxset-strategy-synthesizer for a reachability game given as a symbolic-state DFA. More...

#include <ReachabilityMaxSet.hpp>

Inheritance diagram for Syft::ReachabilityMaxSet:
Collaboration diagram for Syft::ReachabilityMaxSet:

Public Member Functions

 ReachabilityMaxSet (const SymbolicStateDfa &spec, Player starting_player, Player protagonist_player, const CUDD::BDD &goal_states, const CUDD::BDD &state_space)
 Construct a maxset-strategy-synthesizer for the given reachability game. More...
 
MaxSetSynthesisResult run_maxset () const
 Solves the maxset-reachability game. More...
 
SynthesisResult run () const final
 Solve standard reachability game. More...
 
void dump_dot (MaxSetSynthesisResult maxset, const std::string &def_filename, const std::string &nondef_filename) const
 
- Public Member Functions inherited from Syft::DfaGameSynthesizer
 DfaGameSynthesizer (SymbolicStateDfa spec, Player starting_player, Player protagonist_player)
 Construct a synthesizer for a given DFA game. More...
 
std::unique_ptr< TransducerAbstractSingleStrategy (const SynthesisResult &result) const
 Abstract a winning strategy for the game. More...
 
- Public Member Functions inherited from Syft::Synthesizer< SymbolicStateDfa >
 Synthesizer (SymbolicStateDfa spec)
 

Additional Inherited Members

- Protected Member Functions inherited from Syft::DfaGameSynthesizer
CUDD::BDD preimage (const CUDD::BDD &winning_states) const
 Compute a set of winning moves. More...
 
CUDD::BDD project_into_states (const CUDD::BDD &winning_moves) const
 Project a set of winning moves to a set of winning states. More...
 
bool includes_initial_state (const CUDD::BDD &winning_states) const
 Check whether the initial state is a winning state. More...
 
- Protected Attributes inherited from Syft::DfaGameSynthesizer
std::shared_ptr< VarMgrvar_mgr_
 Variable manager.
 
Player starting_player_
 The player that moves first each turn.
 
Player protagonist_player_
 The player for which we aim to find the winning strategy.
 
std::vector< int > initial_vector_
 The initial state of the game arena.
 
std::vector< CUDD::BDD > transition_vector_
 The transition function of the game arena.
 
std::unique_ptr< Quantificationquantify_independent_variables_
 Quantification on the variables that the protagonist player does not depend on.
 
std::unique_ptr< Quantificationquantify_non_state_variables_
 Quantification on non-state variables.
 
- Protected Attributes inherited from Syft::Synthesizer< SymbolicStateDfa >
SymbolicStateDfa spec_
 The game arena.
 

Detailed Description

A maxset-strategy-synthesizer for a reachability game given as a symbolic-state DFA.

Reachability condition holds.

Constructor & Destructor Documentation

◆ ReachabilityMaxSet()

Syft::ReachabilityMaxSet::ReachabilityMaxSet ( const SymbolicStateDfa spec,
Player  starting_player,
Player  protagonist_player,
const CUDD::BDD &  goal_states,
const CUDD::BDD &  state_space 
)

Construct a maxset-strategy-synthesizer for the given reachability game.

Parameters
specA symbolic-state DFA representing the reachability game arena.
starting_playerThe player that moves first each turn.
protagonist_playerThe player for which we aim to find the winning strategy.
goal_statesThe reachability condition.
state_spaceThe state space.

Member Function Documentation

◆ run()

SynthesisResult Syft::ReachabilityMaxSet::run ( ) const
finalvirtual

Solve standard reachability game.

Returns
The result consists of realizability the non-deferring strategy the deferring strategy.

Implements Syft::DfaGameSynthesizer.

◆ run_maxset()

MaxSetSynthesisResult Syft::ReachabilityMaxSet::run_maxset ( ) const

Solves the maxset-reachability game.

Returns
The result consists of realizability the non-deferring strategy the deferring strategy.

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