Assignment Search Framework
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
tile_manhattan_distance.h
Go to the documentation of this file.
1 /*
2  * tile_manhattan_distance.h
3  *
4  * LICENSE HERE
5  *
6  * Created on: 2016-08-23
7  * Author: rick
8  */
9 
10 #ifndef TILEMANHATTANDISTANCE_H_
11 #define TILEMANHATTANDISTANCE_H_
12 
14 #include "../../generic_defs/heuristic.h"
15 #include <vector>
16 
22 class TileManhattanDistance: public Heuristic<TilePuzzleState>
23 {
24 public:
32 
36  virtual ~TileManhattanDistance();
37 
44  void setGoal(const TilePuzzleState &g, const TilePuzzleTransitions &ops);
45 
46 protected:
47  // Overloaded methods
48  virtual double computeHValue(const TilePuzzleState &state) const;
49 
51  unsigned num_rows;
52  unsigned num_cols;
53  unsigned puzzle_size;
54 
55  std::vector<std::vector<double> > tile_h_value;
56  std::vector<double> tile_move_cost;
57 };
58 
59 #endif /* TILEMANHATTANDISTANCE_H_ */
virtual ~TileManhattanDistance()
Definition: tile_manhattan_distance.cpp:24
void setGoal(const TilePuzzleState &g, const TilePuzzleTransitions &ops)
Definition: tile_manhattan_distance.cpp:28
Definition: tile_manhattan_distance.h:22
std::vector< double > tile_move_cost
The cost of moving each tile.
Definition: tile_manhattan_distance.h:56
TileManhattanDistance(const TilePuzzleState &g, const TilePuzzleTransitions &ops)
Definition: tile_manhattan_distance.cpp:18
unsigned num_rows
The number of rows in the puzzle.
Definition: tile_manhattan_distance.h:51
TilePuzzleState goal
The goal state.
Definition: tile_manhattan_distance.h:50
Definition: tile_puzzle_transitions.h:54
unsigned puzzle_size
The total number of locations in the puzzle.
Definition: tile_manhattan_distance.h:53
std::vector< std::vector< double > > tile_h_value
The heuristic impact of the current tile in the current position. The first index (for the blank) is ...
Definition: tile_manhattan_distance.h:55
virtual double computeHValue(const TilePuzzleState &state) const
Definition: tile_manhattan_distance.cpp:57
Definition: tile_puzzle_state.h:23
Definition: heuristic.h:23
unsigned num_cols
The number of columns in the puzzle.
Definition: tile_manhattan_distance.h:52