HOG2
Public Member Functions | List of all members
TOHPDB< patternDisks, totalDisks, offset > Class Template Reference

#include <TOH.h>

Inheritance diagram for TOHPDB< patternDisks, totalDisks, offset >:
Inheritance graph
[legend]
Collaboration diagram for TOHPDB< patternDisks, totalDisks, offset >:
Collaboration graph
[legend]

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< HeuristicTreeNodelookups
 
std::vector< Heuristic * > heuristics
 
uint64_t histogram [256]
 

Detailed Description

template<int patternDisks, int totalDisks, int offset = 0>
class TOHPDB< patternDisks, totalDisks, offset >

Definition at line 420 of file TOH.h.

Constructor & Destructor Documentation

◆ TOHPDB()

template<int patternDisks, int totalDisks, int offset = 0>
TOHPDB< patternDisks, totalDisks, offset >::TOHPDB ( TOH< patternDisks > *  e,
const TOHState< totalDisks > &  s 
)
inline

◆ ~TOHPDB()

template<int patternDisks, int totalDisks, int offset = 0>
virtual TOHPDB< patternDisks, totalDisks, offset >::~TOHPDB ( )
inlinevirtual

Definition at line 424 of file TOH.h.

Member Function Documentation

◆ GetAbstractHash()

template<int patternDisks, int totalDisks, int offset = 0>
virtual uint64_t TOHPDB< patternDisks, totalDisks, offset >::GetAbstractHash ( const TOHState< totalDisks > &  s,
int  threadID = 0 
) const
inlinevirtual

◆ GetFileName()

template<int patternDisks, int totalDisks, int offset = 0>
virtual std::string TOHPDB< patternDisks, totalDisks, offset >::GetFileName ( const char *  prefix)
inlinevirtual

◆ GetPDBHash()

template<int patternDisks, int totalDisks, int offset = 0>
virtual uint64_t TOHPDB< patternDisks, totalDisks, offset >::GetPDBHash ( const TOHState< patternDisks > &  s,
int  threadID = 0 
) const
inlinevirtual

◆ GetPDBSize()

template<int patternDisks, int totalDisks, int offset = 0>
virtual uint64_t TOHPDB< patternDisks, totalDisks, offset >::GetPDBSize ( ) const
inlinevirtual

Definition at line 465 of file TOH.h.

◆ GetStateFromAbstractState()

template<int patternDisks, int totalDisks, int offset = 0>
TOHState<totalDisks> TOHPDB< patternDisks, totalDisks, offset >::GetStateFromAbstractState ( TOHState< patternDisks > &  start) const
inlinevirtual

◆ GetStateFromPDBHash()

template<int patternDisks, int totalDisks, int offset = 0>
virtual void TOHPDB< patternDisks, totalDisks, offset >::GetStateFromPDBHash ( uint64_t  hash,
TOHState< patternDisks > &  s,
int  threadID = 0 
) const
inlinevirtual

◆ Load()

template<int patternDisks, int totalDisks, int offset = 0>
virtual bool TOHPDB< patternDisks, totalDisks, offset >::Load ( const char *  prefix)
inlinevirtual

◆ Save()

template<int patternDisks, int totalDisks, int offset = 0>
virtual void TOHPDB< patternDisks, totalDisks, offset >::Save ( const char *  prefix)
inlinevirtual

The documentation for this class was generated from the following file: