Кружок Программирования

X&O : сохранение вычисленных данных

 

Для сохранения вычисленных рейтингов узлов, добавим класс Persister. Каждый отбракованный узел (т.е., распознанный как culled_N_X) теперь сохраняется в файле xo.dat, в той же папке, откуда была запущена программа. Поскольку хэш коды узлов опираются на карту простых чисел, последняя тоже сохраняется в файл primes.txt, так чтобы при последующем запуске программы она не генерировалась заново, а считывалась бы из файла, как и список отбракованных узлов.

Итак, при старте программы, загружаем узлы с рейтингами из файла xo.dat в таблицу. Узлы, созданные таким способом, получают флаг fixedRating = true. Это позволит сэкономить большое количество вычислительного времени при повторных запусках, ведь уже не нужно будет вычислять поддеревья для известных забракованных узлов.

 

Изменения в метриках

  • Для Cull_N_R метрик понизим минимальный порог для N с 9 тысяч до 7 тысяч. Также уменьшим рабочие значения R.
  • Введём новые метрики missExpand, missNode и missAge

Новшества помогут нам быстрее производить отбраковку и следить за наличием ошибок (несостыковок) в ходе исполнения вычислений. Соответствующий коммит находится тут. Дополнительно, добавим метрики вида missXCount, для отслеживания ситуаций, когда ожидалось что на игровом поле уже существует ряд из X последовательных камней (для текущего игрока или его оппонента), но возможность продолжить эту комбинацию не была найдена.

 

  FRD-R_5 + EXP  FRD-R_5 + AXE    FRD-R_5 + EXP + BF1
Cull_7k_6k / Cull_7k_13k 45 / 32 135 / 73 28 / 6
Cull_14k_6k / Cull_14k_13k 27 / 10 28 / 4 12 / 4
Cull_28k_6k / Cull_28k_13k 13 / 4 5 / 0 10 / 1
Cull_60k_6k / Cull_60k_13k 3 / 0 6 / 0 1 / 0
Cull_120k_6k / Cull_120k_13k 1 / 0 4 / 0 0 / 0
missExpand 4824 15613 5049
missCount 0,0,65,18,0 0,0,316,43,35332 0,0,21,1,0
missNode 0 0 0
missAge 0 0 0
Update frequency 6.59% 3% 10.7%
Max childs updated 29,42M 29,48M 29.94M
Update count 1653 9054 2549
Skip count 23415 292358 21241
Avg Diff 1 0 0
Avg Abs Diff 197 245 239
max path length 21 29 20
Rating 2961 1310 2394

 

 

 

М.О.