diff --git a/transition_machine/src/Config.cpp b/transition_machine/src/Config.cpp index 69c3b509c80ab5ffa80ce5c079aabc691f79500c..c741a1414be7cbd9d1f3a170b21aca61c77d48ef 100644 --- a/transition_machine/src/Config.cpp +++ b/transition_machine/src/Config.cpp @@ -437,17 +437,12 @@ void Config::addToEntropyHistory(float entropy) std::size_t Config::computeHash() { - static int window = 10; - - int start = std::max(0, head-window); - int end = std::min(tapes[0].refSize()-1, head+window); - - std::hash<std::string> hasher; + static std::hash<std::string> strhasher; + static std::hash<int> inthasher; std::size_t result = 0; - for (int i = start; i < end; i++) - for (auto & tape : tapes) - result ^= (hasher(tape[i-head])*0x9e3779b9+(result << 6)+(result >>2)); + result ^= (strhasher(currentStateName)*0x9e3779b9+(result << 6)+(result >>2)); + result ^= (inthasher(getHead())*0x9e3779b9+(result << 6)+(result >>2)); return result; }