# Электронная гадалка [Демоверсия][demo] Алгоритм, который противостоит человеку, и на основе ходов пытается предсказать следующих ход человека. Игрок загаывает один из двух вариантов, а робот пытается его угадать. Если программе удалось угадать, то игрок теряет очко. Если же программа не смогла предсказать выбор человека, то игрок зарабатывает очко. Алгоритм реализован на основе [описания][algorithm]. В процессе реализации алгоритм слегка изменился. В отличие от описания, здесь можно допольнительно указать количество вариантов. С двумя вариантами будет игра "Чет - нечет", а с тремя - "Камень, ножницы, бумага". Интересно то, что программу сложно обыграть. Игрок пытается обставить робота, но все равно делает свои ходы не случайно. Именно эта "неслучайность" позволяет быстро приспосабливаться и эффективно противостоять игроку. Более подробно о гадалке и алгоритме можно прочитать на сайте [ltwood][about]. ## Использование ```javascript import Predictor from "predictor"; // Создание гадалки const predictor = new Predictor(config); // Передача значения, которое выбрал пользователь, // и получение предсказание для этого значения const prediction = predictor.pass(1); // Получение текущего счета const score = predictor.score; // Получение количества сделаннх ходов const sc = predictor.stepCount(); ``` ### Конфигурация - `config.base` - количество вариантов хода. Число большее 2. Чем больше вариантов, тем больше ходов алгоритм тратит на приспособление к ходам человека. - `config.daemons` - настройка списка демонов. - `config.daemons.human` - количество анализируемых ходов человека, - `config.daemons.robot` - количество анализируемых ходов робота, - `config.daemons.epsilon` - вес вознаграждения правильного ответа. - `config.supervisor_epsilon` - вес вознаграждения демона за правильный ответ. ## Сборка tools/build-docker tools/npm run build ## Тестиирование tools/npm run test [algorithm](https://sites.google.com/site/ltwood/projects/heshby/algorithm) [demo](http://vakhrushev.me/projects/predictor/) [about](https://sites.google.com/site/ltwood/projects/heshby)