23 #ifndef _SGACTION_MAXMINMAX_HPP
24 #define _SGACTION_MAXMINMAX_HPP
26 #include "sgcommon.hpp"
27 #include "sgtuple.hpp"
30 #include "sgbaseaction.hpp"
31 #include "sghyperplane.hpp"
135 const vector<bool> & update,
167 bool supportable()
const;
183 template class std::list<SGAction_MaxMinMax>;
187 typedef list<SGAction_MaxMinMax>::const_iterator SGActionIter;
SGAction_MaxMinMax(const SGEnv &_env, int _numPlayers, int _state, int _action)
Constructor.
Definition: sgaction_maxminmax.hpp:81
const SGPoint getBndryDir(const int player, const int point) const
Get boundary direction for 3 players.
Definition: sgaction_maxminmax.cpp:145
void mergeDuplicatePoints(const double tol)
Merges duplicates up to the given tolerance.
Definition: sgaction_maxminmax.cpp:457
void updateTrim()
Sets points equal to the trimmed points.
Definition: sgaction_maxminmax.cpp:116
int numPlayers
Definition: sgbaseaction.hpp:41
double distToTrimmed() const
Calculates the distance between points and trimmedPoints in the sup norm.
Definition: sgaction_maxminmax.cpp:127
Describes a stochastic game.
Definition: sggame.hpp:40
const vector< SGTuple > & getTrimmedBndryDirs() const
Get method for trimmed points.
Definition: sgaction_maxminmax.hpp:157
SGAction_MaxMinMax(const SGEnv &_env, int _state, int _action)
Constructor.
Definition: sgaction_maxminmax.hpp:72
const SGEnv * env
Definition: sgaction_maxminmax.hpp:47
int state
Definition: sgbaseaction.hpp:42
void calculateMinIC(const SGGame &game, const vector< bool > &update, const SGTuple &threatTuple)
Calculates the minimum incentive compatible continuation payoff.
Definition: sgaction_maxminmax.cpp:385
vector< SGTuple > trimmedBndryDirs
Definition: sgaction_maxminmax.hpp:52
Enhanced version of SGBaseAction.
Definition: sgaction_maxminmax.hpp:45
bool trim(const SGPoint &normal, double level)
Trims the trimmedPoints using intersectRaySegment.
Definition: sgaction_maxminmax.cpp:81
void calculateMinIC(const SGGame &game, const SGTuple &threatTuple)
Calculates the minimum incentive compatible continuation payoff.
Definition: sgaction_maxminmax.hpp:139
bool intersectHalfSpace(const SGPoint &normal, const double level, int player, SGTuple &segment, SGTuple &segmentDirs)
Intersects the segment with a half space.
Definition: sgaction_maxminmax.cpp:157
vector< SGTuple > trimmedPoints
Definition: sgaction_maxminmax.hpp:50
Manages parameters for algorithm behavior.
Definition: sgenv.hpp:35
SGAction_MaxMinMax()
Default constructor.
Definition: sgaction_maxminmax.hpp:58
A vector in .
Definition: sgpoint.hpp:35
void resetTrimmedPoints()
Resets the trimmed points for two players.
Definition: sgaction_maxminmax.cpp:28
Describes an action in the game.
Definition: sgbaseaction.hpp:39
Definition: sgtuple.hpp:52
SGAction_MaxMinMax(const SGEnv &_env)
Constructor.
Definition: sgaction_maxminmax.hpp:65
int action
Definition: sgbaseaction.hpp:43
const vector< SGTuple > & getTrimmedPoints() const
Get method for trimmed points.
Definition: sgaction_maxminmax.hpp:154
bool intersectPolygonHalfSpace(const SGPoint &normal, const double level, int player, SGTuple &extPnts, SGTuple &extPntDirs)
Intersects the IC polygon with a half space.
Definition: sgaction_maxminmax.cpp:227