HOG2
|
#include <TOH.h>
Public Member Functions | |
TOHPDB (TOH< patternDisks > *e, const TOHState< totalDisks > &s) | |
virtual | ~TOHPDB () |
TOHState< totalDisks > | GetStateFromAbstractState (TOHState< patternDisks > &start) const |
virtual uint64_t | GetAbstractHash (const TOHState< totalDisks > &s, int threadID=0) const |
virtual uint64_t | GetPDBSize () const |
virtual uint64_t | GetPDBHash (const TOHState< patternDisks > &s, int threadID=0) const |
virtual void | GetStateFromPDBHash (uint64_t hash, TOHState< patternDisks > &s, int threadID=0) const |
virtual bool | Load (const char *prefix) |
virtual void | Save (const char *prefix) |
virtual std::string | GetFileName (const char *prefix) |
Public Member Functions inherited from PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks > > | |
PDBHeuristic (TOH< patternDisks > *e) | |
virtual | ~PDBHeuristic () |
void | SetGoal (const TOHState< totalDisks > &goal) |
void | SetGoal (const std::vector< TOHState< totalDisks > > &goals) |
virtual double | HCost (const TOHState< totalDisks > &a, const TOHState< totalDisks > &b) const |
virtual uint64_t | GetPDBSize () const=0 |
virtual bool | Load (FILE *f) |
virtual void | Save (FILE *f) |
void | ShuffleValues () |
This methods randomizes the entries in the PDB. More... | |
void | BuildPDB (const TOHState< totalDisks > &goal) |
void | BuildPDB (const TOHState< totalDisks > &goal, int numThreads) |
void | BuildPDBForward (const TOHState< totalDisks > &goal, int numThreads, bool useCoarseOpen=true, bool verbose=false) |
void | BuildPDBForward (const std::vector< TOHState< totalDisks > > &goal, int numThreads, bool useCoarseOpen=true, bool verbose=false) |
void | BuildPDBBackward (const TOHState< totalDisks > &goal, int numThreads) |
void | BuildPDBForwardBackward (const TOHState< totalDisks > &goal, int numThreads) |
void | BuildAdditivePDB (const TOHState< totalDisks > &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< TOHState< totalDisks > > *h, TOHState< totalDisks > 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< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks >, 5 > *, bool print_histogram) |
void | ValueRangeCompress (PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks >, 4 > *, bool print_histogram) |
void | ValueRangeCompress (PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks >, 3 > *, bool print_histogram) |
void | ValueRangeCompress (PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks >, 2 > *, bool print_histogram) |
void | ValueRangeCompress (PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks >, 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< TOHState< totalDisks > > | |
Heuristic () | |
virtual | ~Heuristic () |
Additional Inherited Members | |
Public Attributes inherited from PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks > > | |
NBitArray< 8 > | PDB |
int | vrcValues [1<< 8] |
PDBLookupType | type |
uint64_t | compressionValue |
TOH< patternDisks > * | env |
std::vector< TOHState< patternDisks > > | goalState |
Public Attributes inherited from Heuristic< TOHState< totalDisks > > | |
std::vector< HeuristicTreeNode > | lookups |
std::vector< Heuristic * > | heuristics |
uint64_t | histogram [256] |
|
inline |
Definition at line 422 of file TOH.h.
References PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks > >::SetGoal().
|
inlinevirtual |
Implements PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks > >.
Definition at line 449 of file TOH.h.
References TOHState< numDisks >::GetDiskCountOnPeg(), and TOHState< numDisks >::GetDiskOnPeg().
|
inlinevirtual |
Implements PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks > >.
Definition at line 494 of file TOH.h.
Referenced by TOHPDB< patternDisks, totalDisks, offset >::Save().
|
inlinevirtual |
Implements PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks > >.
Definition at line 469 of file TOH.h.
References PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks > >::env, and TOH< disks >::GetStateHash().
|
inlinevirtual |
|
inlinevirtual |
Implements PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks > >.
Definition at line 426 of file TOH.h.
References TOHState< numDisks >::counts, and TOHState< numDisks >::disks.
|
inlinevirtual |
Implements PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks > >.
Definition at line 473 of file TOH.h.
References PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks > >::env, and TOH< disks >::GetStateFromHash().
|
inlinevirtual |
|
inlinevirtual |
Implements PDBHeuristic< TOHState< patternDisks >, TOHMove, TOH< patternDisks >, TOHState< totalDisks > >.
Definition at line 482 of file TOH.h.
References TOHPDB< patternDisks, totalDisks, offset >::GetFileName().