10 #ifndef TILEPUZZLETRANSITIONS_H_
11 #define TILEPUZZLETRANSITIONS_H_
14 #include "../../generic_defs/transition_system.h"
126 void setProperties(
unsigned rows,
unsigned cols,
const std::vector<double> &tile_costs);
std::vector< BlankSlide > ops_in_order
An ordering of all the possible actions.
Definition: tile_puzzle_transitions.h:171
void setStandardTileCostType(const TileCostType cost_type)
Definition: tile_puzzle_transitions.cpp:83
void setCustomTileCostType(const std::vector< double > &tile_costs)
Definition: tile_puzzle_transitions.cpp:96
virtual ~TilePuzzleTransitions()
Definition: tile_puzzle_transitions.cpp:24
unsigned num_cols
Number of columns in the puzzle.
Definition: tile_puzzle_transitions.h:168
void setProperties(unsigned rows, unsigned cols, TileCostType cost_type=TileCostType::unit)
Definition: tile_puzzle_transitions.cpp:130
std::ostream & operator<<(std::ostream &out, const BlankSlide &dir)
Definition: tile_puzzle_transitions.cpp:170
BlankSlide getDummyAction() const
Definition: tile_puzzle_transitions.cpp:147
void setActionList(unsigned rows, unsigned cols)
Definition: tile_puzzle_transitions.cpp:104
double getTileMoveCost(unsigned tile) const
Definition: tile_puzzle_transitions.cpp:142
bool isDummyAction(const BlankSlide &action) const
Definition: tile_puzzle_transitions.cpp:152
virtual BlankSlide getInverse(const TilePuzzleState &state, const BlankSlide &action) const
Definition: tile_puzzle_transitions.cpp:192
bool isApplicableInLocation(const BlankSlide &action, unsigned blank_loc) const
Definition: tile_puzzle_transitions.cpp:65
Definition: tile_puzzle_transitions.h:54
std::vector< std::vector< BlankSlide > > loc_actions
Caches the actions applicable for each blank location.
Definition: tile_puzzle_transitions.h:170
virtual double getActionCost(const TilePuzzleState &state, const BlankSlide &action) const
Definition: tile_puzzle_transitions.cpp:35
unsigned num_rows
Number of rows in the puzzle.
Definition: tile_puzzle_transitions.h:167
unsigned getMovingTile(const TilePuzzleState &state, const BlankSlide &action) const
Definition: tile_puzzle_transitions.cpp:157
std::vector< double > tile_move_cost
Caches the cost of moving each tile.
Definition: tile_puzzle_transitions.h:172
virtual void applyAction(TilePuzzleState &state, const BlankSlide &action) const
Definition: tile_puzzle_transitions.cpp:40
Definition: tile_puzzle_state.h:23
virtual void getActions(const TilePuzzleState &state, std::vector< BlankSlide > &actions) const
Definition: tile_puzzle_transitions.cpp:59
Definition: transition_system.h:23
virtual bool isInvertible(const TilePuzzleState &state, const BlankSlide &action) const
Definition: tile_puzzle_transitions.cpp:185
virtual bool isApplicable(const TilePuzzleState &state, const BlankSlide &action) const
Definition: tile_puzzle_transitions.cpp:28
TilePuzzleTransitions(unsigned rows, unsigned cols, TileCostType cost=TileCostType::unit)
Definition: tile_puzzle_transitions.cpp:14