HOG2
|
#include <RubiksCubeEdges.h>
Public Member Functions | |
RubikEdgeOrientationPDB (RubikEdge *e, const RubikEdgeState &s) | |
uint64_t | GetPDBSize () const |
uint64_t | GetPDBHash (const RubikEdgeState &s, int threadID=0) const |
virtual uint64_t | GetAbstractHash (const RubikEdgeState &s, int threadID=0) const |
void | GetStateFromPDBHash (uint64_t hash, RubikEdgeState &s, int threadID=0) const |
RubikEdgeState | GetStateFromAbstractState (RubikEdgeState &s) const |
bool | Load (const char *prefix) |
void | Save (const char *prefix) |
bool | Load (FILE *f) |
void | Save (FILE *f) |
std::string | GetFileName (const char *prefix) |
Public Member Functions inherited from PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 > | |
PDBHeuristic (RubikEdge *e) | |
virtual | ~PDBHeuristic () |
void | SetGoal (const RubikEdgeState &goal) |
void | SetGoal (const std::vector< RubikEdgeState > &goals) |
virtual double | HCost (const RubikEdgeState &a, const RubikEdgeState &b) const |
virtual uint64_t | GetPDBSize () const=0 |
void | ShuffleValues () |
This methods randomizes the entries in the PDB. More... | |
void | BuildPDB (const RubikEdgeState &goal) |
void | BuildPDB (const RubikEdgeState &goal, int numThreads) |
void | BuildPDBForward (const RubikEdgeState &goal, int numThreads, bool useCoarseOpen=true, bool verbose=false) |
void | BuildPDBForward (const std::vector< RubikEdgeState > &goal, int numThreads, bool useCoarseOpen=true, bool verbose=false) |
void | BuildPDBBackward (const RubikEdgeState &goal, int numThreads) |
void | BuildPDBForwardBackward (const RubikEdgeState &goal, int numThreads) |
void | BuildAdditivePDB (const RubikEdgeState &goal, int numThreads, bool useCourseOpen=true) |
void | DivCompress (int factor, bool print_histogram) |
void | ModCompress (int factor, bool print_histogram) |
void | ModCompress (uint64_t newEntries, bool print_histogram) |
void | ZeroLowValues (int limit) |
void | DeltaCompress (Heuristic< RubikEdgeState > *h, RubikEdgeState goal, bool print_histogram) |
void | FractionalDivCompress (uint64_t count, bool print_histogram) |
void | FractionalModCompress (uint64_t factor, bool print_histogram) |
void | ValueCompress (int maxValue, bool print_histogram) |
void | ValueCompress (std::vector< int > cutoffs, bool print_histogram) |
void | ValueRangeCompress (int numBits, bool print_histogram) |
void | ValueRangeCompress (PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 5 > *, bool print_histogram) |
void | ValueRangeCompress (PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 > *, bool print_histogram) |
void | ValueRangeCompress (PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 3 > *, bool print_histogram) |
void | ValueRangeCompress (PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 2 > *, bool print_histogram) |
void | ValueRangeCompress (PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 1 > *, bool print_histogram) |
void | CustomValueRangeCompress (std::vector< uint64_t > dist, int numBits, bool print_histogram) |
double | PrintHistogram () |
double | GetAverageValue () |
void | GetHistogram (std::vector< uint64_t > &histogram) |
Public Member Functions inherited from Heuristic< RubikEdgeState > | |
Heuristic () | |
virtual | ~Heuristic () |
Static Public Member Functions | |
static uint64_t | GetStateSpaceSize () |
static uint64_t | GetStateHash (const RubikEdgeState &s) |
static void | GetStateFromHash (RubikEdgeState &s, uint64_t hash) |
Additional Inherited Members | |
Public Attributes inherited from PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 > | |
NBitArray< pdbBits > | PDB |
int | vrcValues [1<< pdbBits] |
PDBLookupType | type |
uint64_t | compressionValue |
RubikEdge * | env |
std::vector< RubikEdgeState > | goalState |
Public Attributes inherited from Heuristic< RubikEdgeState > | |
std::vector< HeuristicTreeNode > | lookups |
std::vector< Heuristic * > | heuristics |
uint64_t | histogram [256] |
Definition at line 232 of file RubiksCubeEdges.h.
RubikEdgeOrientationPDB::RubikEdgeOrientationPDB | ( | RubikEdge * | e, |
const RubikEdgeState & | s | ||
) |
Definition at line 1613 of file RubiksCubeEdges.cpp.
References PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 >::SetGoal().
|
inlinevirtual |
Implements PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 >.
Definition at line 240 of file RubiksCubeEdges.h.
References GetPDBHash().
|
virtual |
Implements PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 >.
Definition at line 1709 of file RubiksCubeEdges.cpp.
|
virtual |
Implements PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 >.
Definition at line 1660 of file RubiksCubeEdges.cpp.
References GetStateHash().
Referenced by GetAbstractHash().
uint64_t RubikEdgeOrientationPDB::GetPDBSize | ( | ) | const |
Definition at line 1655 of file RubiksCubeEdges.cpp.
|
inlinevirtual |
Implements PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 >.
Definition at line 242 of file RubiksCubeEdges.h.
|
static |
Definition at line 1635 of file RubiksCubeEdges.cpp.
References RubikEdgeStateArray::SetCubeOrientation().
Referenced by GetStateFromPDBHash().
|
virtual |
Implements PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 >.
Definition at line 1665 of file RubiksCubeEdges.cpp.
References GetStateFromHash().
|
static |
Definition at line 1625 of file RubiksCubeEdges.cpp.
References RubikEdgeStateArray::GetCubeOrientation().
Referenced by GetPDBHash().
|
static |
Definition at line 1619 of file RubiksCubeEdges.cpp.
|
virtual |
Implements PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 >.
Definition at line 1670 of file RubiksCubeEdges.cpp.
References GetFileName(), and Save().
|
virtual |
Reimplemented from PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 >.
Definition at line 1695 of file RubiksCubeEdges.cpp.
|
virtual |
Implements PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 >.
Definition at line 1683 of file RubiksCubeEdges.cpp.
References GetFileName().
Referenced by Load().
|
virtual |
Reimplemented from PDBHeuristic< RubikEdgeState, RubikEdgeAction, RubikEdge, RubikEdgeState, 4 >.
Definition at line 1704 of file RubiksCubeEdges.cpp.
References PDBHeuristic< abstractState, abstractAction, abstractEnvironment, state, pdbBits >::Save().