#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().
1.5.2