LINUX.ORG.RU
ФорумTalks

Задача. Игра 2048. Слепой метод

 ,


0

1

Имеется желание разработать наиболее выигрышную стратегию для игры 2048 (если не знаете, то можете сыграть тут: http://game2048.ru/) при слепой игре.
Т.е. у игрока нет никакой возможности анализировать состояние плиток. Представьте что в игру играет слепой негр в тёмной комнате.
На данный момент метод последовательного нажимания право-вниз-лево-вверх даёт почти 100% появление плитки номиналом 128 и где-то 60% — 256.
Очень хотелось бы довести этот показатель до 1024.
Есть какие-то умные идеи?

★★☆

Ответ на: комментарий от Stahl

Потому что когда я играл «руками», старался держать в углу самое большое число. Если делать вверх, оно съедет из угла.

lodin ★★★★
()
Ответ на: комментарий от Stahl

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

vostrik ★★★☆
()
Ответ на: комментарий от lodin

Но если убрать какое-то движение, то, как мне кажется, мы можем попасть в тупик, когда ход будет возможен только по этому движению. И узнать о тупике (из-за слепоты) мы не сможем.

Stahl ★★☆
() автор топика
Ответ на: комментарий от svobodka_fighter

Думаю если не менять пропорции между ходами, то ничего и не изменится.

Stahl ★★☆
() автор топика

Сдвигать поле вверх - далеко не лучшая идея, которая приводит к плачевному состоянию поля. Пользоваться сдвигом вверх нужно только в крайнем случае.
Про «слепую игру в 2048» ничего не могу сказать, возможно там сдвиг вверх допустим или даже необходим.

andreyu ★★★★★
()

p.s. Игра по ссылке у меня не работает - сдвиг поля не делается.

andreyu ★★★★★
()
Ответ на: комментарий от shuck

маловато чёт.

право-вниз-лево-вверх

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

ionanahin ★★★
()
Ответ на: комментарий от lodin

Убрал движение вверх. Ситуация значительно ухудшилась — даже 128 стало появляться где-то в 30% случаев.
Возможно имеет смысл его сделать редким и с обязательным возвратом вниз?

Stahl ★★☆
() автор топика

не понравилась мне эта шняга изначально, первый раз я играла вообще не зная правил, передвигала кубики просто так на бешенной скорости, доходило до 1024. Потом решила поиграть осознанно, задвигая наибольшие числа в угол, со второй попытки сделала 2048. Удалила игру... Все это произошло во время 1 поездки на метро))

lolset
()
Ответ на: комментарий от Klogg

Распиши внятней. Что значит «>>» ?
Я уже пробовал избавляться от движения вверх — даже 128-плитки стали редкостью.

Stahl ★★☆
() автор топика
Ответ на: комментарий от vurdalak

Просто прими это как данность. В этом мире есть множество вещей, которые современная наука не может внятно объяснить.
Представь что негр — гипотетический.

Stahl ★★☆
() автор топика
Ответ на: комментарий от vurdalak

Не в вакууме, а в комнате. И не сферический, а чёрный.
Ты лучше придумай как ему выиграть в игру.

Stahl ★★☆
() автор топика
Ответ на: комментарий от Stahl

Ты лучше придумай как ему выиграть в игру.

Собрать много хлопка, чтобы хозяин подсказал решение.

vurdalak ★★★★★
()
Ответ на: комментарий от shuck

право-вниз-лево-вверх
скрин наверху так и сделан.

Таким же образом на мобиле доходила до этого результата 5% вроде шанс)

lolset
()
Ответ на: комментарий от Sadler

Это от меня не зависит. Я поставлен в такие условия, что у меня нет никаких данных.
Впрочем это не важно — можно продублировать движение в каждую сторону. Всё равно редко происходит ситуация, когда после двух движений в одну сторону всё ещё есть возможность двигаться в эту же сторону.

Stahl ★★☆
() автор топика
Ответ на: комментарий от Stahl

Впрочем это не важно — можно продублировать движение в каждую сторону. Всё равно редко происходит ситуация, когда после двух движений в одну сторону всё ещё есть возможность двигаться в эту же сторону.

Хорошо, тогда дефайним «повторять, пока есть изменения на доске» на «повторить движение 10000 раз».

Sadler ★★★
()
Ответ на: комментарий от Stahl

вообще говоря, а записывать последовательность, собирающую 2048, и воспроизводить её несколько раз ты пробовал? начальные условия не особо различаются, на самом деле

vostrik ★★★☆
()

а стратегия предельно простая: 100 циклов вправо-вниз, один раз наверх и снова сто циклов вправо вниз.

mm3 ★★★
()
Ответ на: комментарий от vostrik

~10 цикле ты заметишь отсутствие какого либо движения, и вынужден будешь нажать вверх чтобы появились хоть какие нибудь перемещаемые объекты.

mm3 ★★★
()
Ответ на: комментарий от Xellos

да нееет, всё тоже самое, только надо будет смотреть повнимательнее и более аккуратно строить цепочку.

mm3 ★★★
()
Ответ на: комментарий от vostrik

Интересная мысль.
Не знаешь, есть ли где такие «записи»? Было бы весьма любопытно попробовать...

Stahl ★★☆
() автор топика
Ответ на: комментарий от mm3

повнимательнее

Означает - ни единой ошибки.

Xellos ★★★★★
()

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

Sadler ★★★
()
Последнее исправление: Sadler (всего исправлений: 1)
Ответ на: комментарий от mm3

тогда твоё решение ничем не будет отличаться от (влево-вниз)*10 >> (вправо-вниз-влево), которое за 512 не выбиралось за штук 50 прогонов

vostrik ★★★☆
()
Ответ на: комментарий от vostrik

тут уже можно попробовать разные варианты:

(влево-вниз)*10 >> (вправо-влево-вниз) - изменение порядка захода

(влево-вниз)*20 >> (вправо-влево-вниз) - увеличение количества циклов до застоя, так как 10 может не хватить

(влево*10-вниз)*30 >> (вправо-влево-вниз) - добираем ходы в главную сторону

mm3 ★★★
()
Ответ на: комментарий от vostrik

тогда твоё решение ничем не будет отличаться от (влево-вниз)*10 >> (вправо-вниз-влево), которое за 512 не выбиралось за штук 50 прогонов

Я делаю 10000 прогонов. Отдельные решения из этого треда не выбирались за 512 ни разу из 10000.

Sadler ★★★
()

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

							Мат. ожидание			Средний скор
Вправо-вниз-влево-вниз					334				4556
Вправо-вверх-влево-вниз					217				2415
Вправо-вниз-влево-вверх					213				2375
(влево*10-вниз)*30 >> (вправо-влево-вниз)  		196				2486
(вправо-вниз)*100, вверх       				184				2459
(влево-вниз)*20 >> (вправо-влево-вниз)			173				2254
(влево-вниз)*10 >> (вправо-влево-вниз) 			169				2222
(влево-вниз)*10 , вправо-вниз-влево 			136				1674
Рандом							101				1044

Sadler ★★★
()
Последнее исправление: Sadler (всего исправлений: 2)
Ответ на: комментарий от Sadler

Вправо-вниз-влево-вниз 334 4556
Вправо-вверх-влево-вниз 217 2415
Вправо-вниз-влево-вверх 213 2375

Весьма необычный разброс. Забавно.

Stahl ★★☆
() автор топика
Ответ на: комментарий от Stahl

Ага, те две я специально добавил, чтобы показать разброс. Сейчас пробую более длинные последовательности.

Sadler ★★★
()
Последнее исправление: Sadler (всего исправлений: 1)
Ответ на: комментарий от Stahl

Удваиваю идею собирать все в один угол, лично я всегда использовал только вниз, влево и вправо, спокойно собирал при этом 512.

Jefail ★★★★
()
Ответ на: комментарий от Jefail

Да пустая это затея, ибо вероятность собрать слишком мала. Если бы плитки появлялись не рандомом, то можно было алгоритм придумать, а так получается, что пока не докопаетесь до это рандома, результат будет ниочем)

lolset
()

Т.е. у игрока нет никакой возможности анализировать состояние плиток. Представьте что в игру играет слепой негр в тёмной комнате.

Мсье знает толк.

Только вот зачем тебе нужна такая стратегия, если таки есть возможность анализировать состояние плиток.

З.ы. и да, в этой игре никакая стратегия не будет наиболее выигрышная, т.к. есть эффект случайности, который рано или поздно запорит любую стратегию

Siado ★★★★★
()

Это ты типа решил сделать ИИ с помощью случайных чисел.

Успехов тебе дед Макар! :)

Serg_HIS
()
Ответ на: комментарий от Siado

З.ы. и да, в этой игре никакая стратегия не будет наиболее выигрышная, т.к. есть эффект случайности, который рано или поздно запорит любую стратегию

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

Sadler ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.