Обновить

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

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.8K
Всего голосов 17: ↑17 и ↓0+23
Комментарии21

Комментарии 21

Оо! Интересно! Спасибо!

Стало интересно попробовать сыграть, но не хватает веб-версии. Для такой простой игры не хочется скачивать приложения

Запустить нейросеть на GPU в браузере — интересная задача! Спасибо за идею, я попробую!

Разве что если нравится извращаться. Нейросеть в таком случае кладут на сервер, с которым общается веб-интерфейс

Я пока не понимаю, сколько будет стоить сервер, выдерживающий хотя бы 50-100 одновременных игроков. Для контекста:

  • на больших полях рассчет хода на сложном уровне может занимать 1-2 секунды;

  • при обучении 30 потоков полностью сжирают на компьютере ресурс GPU (RTX5070Ti).

автор не написал, какая у него архитектура сети. Вполне возможно инференс можно спокойно и на javascript сделать

Кстати, игра занимает 200 мб, у меня скачивается за 10 секунд)

да дело даже не в размере и скорости. Для того чтобы скачать нужно сначала скачать и установить клиент Steam. У меня его нет и ставить не собирался.

Понял. Я как раз исходил из того, что в Steam достаточно будет нажать одну кнопку))

Если хотите, давайте спишемся в ЛС и отправлю вам сборку, не привязанную к Steam.

да как ? у меня пишет "еще не доступно, ждите декабря 2026". И демо и обычная.

вроде как алгоритмическим точкам уже больше десятилетия и там вполне достойные алгоритмы которые выиграть можно только делая хаотические действия время от времени (и то как повезет)

это не Го где можно очень долго играть, с точками каждый ход сужает векторы вероятностей

мы по факту дообучили на игру с собой,я думаю было бы интереснее дообучить классификатор на определенные патерны поведения соперника и уже от этого отталкиваться, все же "схем" в точках не так много

А можете, пожалуйста, дать примеры достойных алгоритмов? Когда я искал, не нашел(

А нет вариантов без Стима? Хочется просто на телефоне иногда посидеть

Для компьютера версия без Steam есть, но чтобы она запустилась на телефоне — боюсь потребуется много дополнительной работы ((

Окружённым считается всё, что оказалось внутри замкнутой цепочки своих точек, расположенных на расстоянии одной клетки друг от друга (диагонали тоже считаются).

  • Окружить можно только территорию, где есть хотя бы одна неокружённая точка противника. ;-)

Ага, всё так, с правилах игры это учитывается. Опустил эту инфу, чтобы не перегружать голову читателя

Не знаю откуда я ее взял, еще в начальной школе играл и я был уверен что придумал ее я, ахаха. Обучил всех одноклассников, был лучшим в ней и тоже хотел ее написать но не дошли руки. Круто, попробую поиграть

Класс! Когда попробуете, напишите, пожалуйста фидбек! Это очень важно для меня!

А не думали под легкий уровень использовать рандомный выбор по распределению?

Условно, есть 1000 ходов кандидатов, отсортированных по убыванию оценок. И следующий ход берется, как случайный с распределением, зависящим от ползунка сложности. Макс сложность - распределение вырождается в «всегда топ1», хотя, это тоже не факт, ибо делает модель слишком предсказуемой. По мере двигания ползунка вниз, ползет от топ1 в сторону к топ1000 как матожидание, так и утолщается хвост, покрывающий «дебильные» ходы.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации