#include <Strategy.hh>
Collaboration diagram for Strategy:
Public Member Functions | |
QECODE_EXPORT | Strategy () |
default constructor | |
QECODE_EXPORT | Strategy (StrategyNode tag) |
builds a strategy on a given strategy node (deprecated) | |
QECODE_EXPORT | Strategy (bool qt, int VMin, int VMax, int scope, vector< int > values) |
QECODE_EXPORT | Strategy (const Strategy &tree) |
copy constructor | |
QECODE_EXPORT Strategy & | operator= (const Strategy &rvalue) |
QECODE_EXPORT | ~Strategy () |
QECODE_EXPORT StrategyNode | getTag () |
DEPRECATED returns the StrategyNode object corresponding to the root of this strategy. | |
QECODE_EXPORT int | degree () |
returns this strategy's number of children | |
QECODE_EXPORT Strategy | getChild (int i) |
returns the i-th child of this strategy | |
QECODE_EXPORT void | attach (Strategy child) |
attach the strategy given in parameter as a child of the current strategy | |
QECODE_EXPORT bool | isFalse () |
returns wether this strategy represents the UNSAT answer | |
QECODE_EXPORT bool | isTrue () |
returns wether this strategy is trivially true | |
QECODE_EXPORT bool | isDummy () |
returns wether this strategy is a set of | |
QECODE_EXPORT bool | quantifier () |
returns the quantifier of the root (true for universal, false for existential) | |
QECODE_EXPORT int | VMin () |
returns the index of the first variable of the scope of the root | |
QECODE_EXPORT int | VMax () |
returns the index of the last variable of the scope of the root | |
QECODE_EXPORT int | scope () |
returns the scope of the root | |
QECODE_EXPORT vector< int > | values () |
returns the values taken by the variables of the scope of the root in this (sub)strategy | |
QECODE_EXPORT int | value (int var) |
Static Public Member Functions | |
static QECODE_EXPORT Strategy | STrue () |
returns the trivially false strategy | |
static QECODE_EXPORT Strategy | SFalse () |
returns the trivially true strategy | |
static QECODE_EXPORT Strategy | Dummy () |
returns a "dummy" node | |
Private Attributes | |
StrategyImp * | imp |
Friends | |
class | StrategyImp |
This class represents a solution of a QCSP+. Basically it consists in the tree-representation of the winning strategy. 3 spacial cases exists : the trivially true strategy, the trivially false strategy (used for the UNSAT answer), and the "Dummy" node, used to link together each tree of a strategy which first player is universal (such a strategy is not a tree but a forest)
Definition at line 51 of file Strategy.hh.
Strategy::Strategy | ( | ) |
default constructor
Definition at line 38 of file Strategy.cc.
References StrategyNode::Dummy(), imp, and StrategyImp.
Strategy::Strategy | ( | StrategyNode | tag | ) |
builds a strategy on a given strategy node (deprecated)
Definition at line 44 of file Strategy.cc.
References imp, and StrategyImp.
Strategy::Strategy | ( | bool | qt, | |
int | VMin, | |||
int | VMax, | |||
int | scope, | |||
vector< int > | values | |||
) |
Strategy::Strategy | ( | const Strategy & | tree | ) |
copy constructor
Definition at line 60 of file Strategy.cc.
References imp, and StrategyImp::pointers.
Strategy::~Strategy | ( | ) |
StrategyNode Strategy::getTag | ( | ) |
DEPRECATED returns the StrategyNode object corresponding to the root of this strategy.
Definition at line 92 of file Strategy.cc.
References imp, and StrategyImp::zetag.
Referenced by printStr().
int Strategy::degree | ( | ) |
returns this strategy's number of children
Definition at line 97 of file Strategy.cc.
References imp, and StrategyImp::nodes.
Referenced by attach(), getChild(), UnivOptVar::getVal(), and printStr().
Strategy Strategy::getChild | ( | int | i | ) |
returns the i-th child of this strategy
Definition at line 102 of file Strategy.cc.
References degree(), imp, and StrategyImp::nodes.
Referenced by attach(), UnivOptVar::getVal(), ExistOptVar::getVal(), and printStr().
void Strategy::attach | ( | Strategy | child | ) |
attach the strategy given in parameter as a child of the current strategy
Definition at line 108 of file Strategy.cc.
References degree(), getChild(), imp, isDummy(), and StrategyImp::nodes.
Referenced by QSolver::rSolve().
QECODE_EXPORT bool Strategy::isFalse | ( | ) | [inline] |
returns wether this strategy represents the UNSAT answer
Definition at line 77 of file Strategy.hh.
Referenced by UnivOptVar::getVal(), ExistOptVar::getVal(), main(), printStr(), and QSolver::rSolve().
QECODE_EXPORT bool Strategy::isTrue | ( | ) | [inline] |
returns wether this strategy is trivially true
Definition at line 78 of file Strategy.hh.
Referenced by UnivOptVar::getVal(), ExistOptVar::getVal(), and printStr().
QECODE_EXPORT bool Strategy::isDummy | ( | ) | [inline] |
returns wether this strategy is a set of
Definition at line 79 of file Strategy.hh.
Referenced by attach(), UnivOptVar::getVal(), and ExistOptVar::getVal().
Strategy Strategy::STrue | ( | ) | [static] |
returns the trivially false strategy
Definition at line 118 of file Strategy.cc.
References StrategyNode::STrue().
Strategy Strategy::SFalse | ( | ) | [static] |
returns the trivially true strategy
Definition at line 123 of file Strategy.cc.
References StrategyNode::SFalse().
Referenced by QSolver::rSolve().
Strategy Strategy::Dummy | ( | ) | [static] |
returns a "dummy" node
Definition at line 128 of file Strategy.cc.
References StrategyNode::Dummy().
QECODE_EXPORT bool Strategy::quantifier | ( | ) | [inline] |
returns the quantifier of the root (true for universal, false for existential)
Definition at line 84 of file Strategy.hh.
Referenced by UnivOptVar::getVal().
QECODE_EXPORT int Strategy::VMin | ( | ) | [inline] |
returns the index of the first variable of the scope of the root
Definition at line 85 of file Strategy.hh.
Referenced by ExistOptVar::getVal().
QECODE_EXPORT int Strategy::VMax | ( | ) | [inline] |
returns the index of the last variable of the scope of the root
Definition at line 86 of file Strategy.hh.
QECODE_EXPORT int Strategy::scope | ( | ) | [inline] |
returns the scope of the root
Definition at line 87 of file Strategy.hh.
Referenced by UnivOptVar::getVal(), and ExistOptVar::getVal().
QECODE_EXPORT vector<int> Strategy::values | ( | ) | [inline] |
returns the values taken by the variables of the scope of the root in this (sub)strategy
Definition at line 88 of file Strategy.hh.
QECODE_EXPORT int Strategy::value | ( | int | var | ) | [inline] |
friend class StrategyImp [friend] |
StrategyImp* Strategy::imp [private] |
Definition at line 54 of file Strategy.hh.
Referenced by attach(), degree(), getChild(), getTag(), operator=(), Strategy(), and ~Strategy().