LydiaSyft
LTLfSynthesizer.h
1 #ifndef SYFT_REACHABILITYSYNTHESIZER_H
2 #define SYFT_REACHABILITYSYNTHESIZER_H
3 
4 #include "automata/SymbolicStateDfa.h"
5 #include "Synthesizer.h"
6 #include "game/Reachability.hpp"
7 
8 namespace Syft {
9 
16  private:
20  std::shared_ptr<VarMgr> var_mgr_;
24  SymbolicStateDfa spec_;
28  Player starting_player_;
32  Player protagonist_player_;
36  CUDD::BDD goal_states_;
40  CUDD::BDD state_space_;
41 
42  public:
43 
53  LTLfSynthesizer(SymbolicStateDfa spec, Player starting_player, Player protagonist_player,
54  CUDD::BDD goal_states, CUDD::BDD state_space);
55 
61  SynthesisResult run() const;
62 
68  std::unique_ptr<Transducer> AbstractSingleStrategy(const SynthesisResult &result) const;
69 
70  };
71 
72 }
73 
74 #endif //SYFT_REACHABILITYSYNTHESIZER_H
A single-strategy-synthesizer for an LTLf formula given as a symbolic-state DFA.
Definition: LTLfSynthesizer.h:15
LTLfSynthesizer(SymbolicStateDfa spec, Player starting_player, Player protagonist_player, CUDD::BDD goal_states, CUDD::BDD state_space)
Construct an LtlfSynthesizer.
Definition: LTLfSynthesizer.cpp:8
SynthesisResult run() const
Solves the LTLf synthesis problem.
Definition: LTLfSynthesizer.cpp:19
std::unique_ptr< Transducer > AbstractSingleStrategy(const SynthesisResult &result) const
Abstract a winning strategy for the agent.
A DFA with symbolic states and transitions.
Definition: SymbolicStateDfa.h:18
Definition: Synthesizer.h:16