10 #ifndef PERMUTATION_HASH_FUNCTION_H_
11 #define PERMUTATION_HASH_FUNCTION_H_
14 #include "../utils/combinatorics.h"
17 template<
class state_t>
27 template<
class state_t>
32 template<
class state_t>
37 template<
class state_t>
40 std::vector<unsigned> permutation = state.permutation;
43 unsigned num_left = permutation.size();
44 for(
unsigned i = 0; i < permutation.size(); i++) {
47 for(
unsigned j = i + 1; j < permutation.size(); j++) {
48 if(permutation[j] > permutation[i])
uint64_t StateHash
The hash value of a state.
Definition: state_hash_function.h:14
uint64_t get_64_bit_factorial(unsigned n)
Definition: combinatorics.cpp:106
virtual StateHash getStateHash(const state_t &state) const
Definition: permutation_hash_function.h:38
Definition: permutation_hash_function.h:18
Definition: state_hash_function.h:22
PermutationHashFunction()
Definition: permutation_hash_function.h:28
virtual ~PermutationHashFunction()
Definition: permutation_hash_function.h:33