|
| TreePermutationPDB (environment *e, const state &s, const std::vector< int > &distincts) |
|
virtual uint64_t | GetPDBHash (const state &s, int threadID=0) const |
|
virtual void | GetStateFromPDBHash (uint64_t hash, state &s, int threadID=0) const |
|
virtual uint64_t | GetAbstractHash (const state &s, int threadID=0) const |
|
virtual state | GetStateFromAbstractState (state &s) |
|
std::string | GetFileName (const char *prefix) |
|
| PermutationPDB (environment *e, const state &s, const std::vector< int > &distincts) |
|
virtual uint64_t | GetPDBSize () const |
|
virtual state | GetStateFromAbstractState (state &s) const=0 |
|
bool | Load (FILE *f) |
|
bool | Load (const char *prefix) |
|
void | Save (FILE *f) |
|
void | Save (const char *prefix) |
|
| PDBHeuristic (environment *e) |
|
virtual | ~PDBHeuristic () |
|
void | SetGoal (const state &goal) |
|
void | SetGoal (const std::vector< state > &goals) |
|
virtual double | HCost (const state &a, const state &b) const |
|
void | ShuffleValues () |
| This methods randomizes the entries in the PDB. More...
|
|
void | BuildPDB (const state &goal) |
|
void | BuildPDB (const state &goal, int numThreads) |
|
void | BuildPDBForward (const state &goal, int numThreads, bool useCoarseOpen=true, bool verbose=false) |
|
void | BuildPDBForward (const std::vector< state > &goal, int numThreads, bool useCoarseOpen=true, bool verbose=false) |
|
void | BuildPDBBackward (const state &goal, int numThreads) |
|
void | BuildPDBForwardBackward (const state &goal, int numThreads) |
|
void | BuildAdditivePDB (const state &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< state > *h, state 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< state, action, environment, state, 5 > *, bool print_histogram) |
|
void | ValueRangeCompress (PDBHeuristic< state, action, environment, state, 4 > *, bool print_histogram) |
|
void | ValueRangeCompress (PDBHeuristic< state, action, environment, state, 3 > *, bool print_histogram) |
|
void | ValueRangeCompress (PDBHeuristic< state, action, environment, state, 2 > *, bool print_histogram) |
|
void | ValueRangeCompress (PDBHeuristic< state, action, environment, state, 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) |
|
| Heuristic () |
|
virtual | ~Heuristic () |
|
template<class state, class action, class environment, int bits = 8>
class TreePermutationPDB< state, action, environment, bits >
This class does the basic permutation calculation in lexicographical order.
It uses the tree permutation scheme from Bonet http://aaaipress.org/Papers/Workshops/2008/WS-08-10/WS08-10-004.pdf to do this in n log n time instead of n^2 time.
Definition at line 21 of file TreePermutationPDB.h.