Go to the documentation of this file.
29 std::vector<pancakeMovePair> acts;
30 bool fromStart =
true;
35 if (startScore > goalScore)
44 for (
unsigned i = stateID.
start.
puzzle.size(); i >= 2; i--)
54 std::vector<unsigned> acts;
57 for (
unsigned int x = 0; x < acts.size(); x++)
65 result += (c>hc)?(1):0;
virtual void OpenGLDraw() const
SFBDPancakeEnvironment(int theSize)
virtual uint64_t GetActionHash(pancakeMovePair act) const
virtual void GetActions(const pancakeStatePair &stateID, std::vector< pancakeMovePair > &actions) const
virtual double HCost(const pancakeStatePair &state1, const pancakeStatePair &state2) const
Heuristic value between two arbitrary nodes.
double HCost(const BurnedPancakePuzzleState &state1, const BurnedPancakePuzzleState &state2) const
Heuristic value between two arbitrary nodes.
virtual double GCost(const pancakeStatePair &state1, const pancakeStatePair &state2) const
void GetActions(const BurnedPancakePuzzleState &state, std::vector< unsigned > &actions) const
int MeasureLocalHeuristic(const BurnedPancakePuzzleState &a, const BurnedPancakePuzzleState &b) const
virtual uint64_t GetStateHash(const pancakeStatePair &state) const
BurnedPancakePuzzleState goal
virtual bool GoalTest(const pancakeStatePair &state, const pancakeStatePair &goal) const
virtual void ApplyAction(pancakeStatePair &s, pancakeMovePair a) const
TemplateAStar< xyLoc, tDirection, MapEnvironment > a1
std::vector< int > puzzle
BurnedPancakePuzzleState start
virtual void GetSuccessors(const pancakeStatePair &stateID, std::vector< pancakeStatePair > &neighbors) const
virtual pancakeMovePair GetAction(const pancakeStatePair &s1, const pancakeStatePair &s2) const
virtual ~SFBDPancakeEnvironment()
virtual uint64_t GetStateHash(const BurnedPancakePuzzleState &s) const
void ApplyAction(BurnedPancakePuzzleState &s, unsigned a) const
BurnedPancakePuzzle * pan
virtual bool InvertAction(pancakeMovePair &a) const