Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

CtrlZ для Mahjong Titans

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Применяя CtrlZ можно любой расклад Mahjong Titans решить.
Является ли тогда такая сборка пасьянса NP-полной задачей?
Когда, зайдя в тупик, я использую CtrlZ, то так говорю: машина времени, включись.
Получается, я решаю задачу сборки пасьянса при помощи машины времени?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Не зовсім зрозуміло, що саме ти маєш на увазі.
Подібна задача може бути вирішена, якщо в тебе є doubly linked list.
Кожен елемент це дельта між попереднім і наступним кроком, натискання CtrlZ or CtrlY буде тебе просто ітерувати по цьому списку. Якщо вертаєшся і робиш хід, який відрізняється від того, який у списку, просто відбранчовуєш і будуєш нову гілку, стару видаляєш.
Нема ніякої машини часу, є ітерація по списку, хоча кому як.

Ну понятно, что это «якобы машина времени»
Чтобы не запутаться будем говорить об «условном прошлом»
Так можно так увидеть такие изменения в условном прошлом от которых настоящее не изменяется.
Дошел до тупика, и потом нашел такую точку в условном прошлом, где сделан был выбор, приводящий в тупик. Там же будут видны и другие варианты.
В общем, все равно, это модель путешествия во времени, пусть даже игрушечная и во времени условном.
Мне показался интересным тот факт, что с помощью некоторой последовательности прямых и обратных ходов можно решить.
И кстати находясь еще в условном настоящем можно сделать запрос и увидеть точку входа в тупик и другие ходы. И среди них возможно те, которые превращают тупик в путь к собранному пасьянсу т.е. выходу.
Такой ход работы алгоритма: дошел до тупика, получил набор запретов (а запрет образовывается если в настоящем карта на карте одного значения лежат, а в условном прошлом были сняты парой еще две такие карты) получил ответы — итерации в которых образовались запреты и вот дальше самое волшебное — изменение условного прошлого
Тут два варианта
Либо по вашему нажимать ктрл+z (спутешествовать и создать новую вселенную от той точки)
либо показать в настоящему цену одного изменения в условном прошлом.
Если такое изменение взаимосвязано с другими (создаст запреты раньше текущей итерации) то может и не получиться.
Такая модель может обсуждаемые фантастами парадоксы времени и путешествий во времени решить раз и навсегда.
Поэтому интересно было бы запрограммировать.
Двойной связанный список в качестве реализации вполне сойдет.

Вот видео в котором я использую этот принцип youtu.be/NzcvdjNJdJA
Открытие этого нового способа презентации я сделал случайно:
В ходе записи демонстрации программирования в обычном режиме произошел сбой в видео-редакторе и все что у меня осталось в итоге это история изменений.

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

Цепь формул-трансформаций связывает исходное состояние системы с ее настоящим состоянием -последним, крайним.

Підписатись на коментарі