Я обучил нейросеть играть в «Точки» — теперь она меня обыгрывает
Habr ·

Знаете ли вы игру в «Точки»? Это игра на тетрадном листе в клетку. Двое игроков ставят точки разных цветов на пересечениях клеток и стараются окружить точки соперника. В школе я сыграл в неё немало партий, часто выигрывал и радовался, когда попадался сильный противник. После универа я начал работать разработчиком и хотел запрограммировать алгоритм для игры в «Точки», но у меня не получилось. Тогда стал смотреть в сторону обучения нейросети, но не знал, с чего начать. Я понимал, что для обучения нейросети нужно огромное количество сыгранных партий, и не понимал, где мне их взять. Потом я узнал про нейросети для игры в Го, которые генерируют данные для обучения, играя множество партий сами с собой. Решил попробовать такой же подход для «Точек». Обучил нейросеть и сделал небольшое приложение, в котором с ней можно сыграть. Теперь на поле 20×20 она меня обыгрывает. Когда понял, что нейросеть уже неплохо играет, подумал: почему бы не выложить игру в Steam? И выложил — Just Dots . Я ещё не сделал всё запланированное, но уже можно скачать демо (бесплатно), поиграть и попробовать победить ИИ. Здесь расскажу, как я учил ИИ-соперника, как после одного из улучшений бот стал играть сильнее, а нейросеть на его партиях — учиться хуже, и почему сделать простого соперника оказалось не так-то просто. Читать далее
Знаете ли вы игру в «Точки»? Это игра на тетрадном листе в клетку. Двое игроков ставят точки разных цветов на пересечениях клеток и стараются окружить точки соперника. В школе я сыграл в неё немало партий, часто выигрывал и радовался, когда попадался сильный противник. После универа я начал работать разработчиком и хотел запрограммировать алгоритм для игры в «Точки», но у меня не получилось. Тогда стал смотреть в сторону обучения нейросети, но не знал, с чего начать. Я понимал, что для обучения нейросети нужно огромное количество сыгранных партий, и не понимал, где мне их взять. Потом я узнал про нейросети для игры в Го, которые генерируют данные для обучения, играя множество партий сами с собой. Решил попробовать такой же подход для «Точек». Обучил нейросеть и сделал небольшое приложение, в котором с ней можно сыграть. Теперь на поле 20×20 она меня обыгрывает. Когда понял, что нейросеть уже неплохо играет, подумал: почему бы не выложить игру в Steam? И выложил — Just Dots . Я ещё не сделал всё запланированное, но уже можно скачать демо (бесплатно), поиграть и попробовать победить ИИ. Здесь расскажу, как я учил ИИ-соперника, как после одного из улучшений бот стал играть сильнее, а нейросеть на его партиях — учиться хуже, и почему сделать простого соперника оказалось не так-то просто. Читать далее