Panzerschrek[CN]
+ Показать
− Скрыть
последний раз он отпустил кольцо так, чтоб оно падало ориентированным не горизонтально, а вертикально (можно рассмтореть в замедленной съемке). При таком падении кольцо создает волну, которая в самом конце падения кольца захлестывает кончик цепочки так, что он обходит нижний край кольца с другой стороны и получается петля вокруг кольца.
С топологией никаких противоречий нет, поскольку цепочка проходит в этом "узле" два раза, туда и обратно. Можно приподнять кольцо и перетащить конец цепочки на правильную сторону - и кольцо снимется с цепочки
Dmitry_Milk
> С топологией никаких противоречий нет,
Сам провёл эксперимент. Вместо цепи - закольцованный шнурок, вместо кольца - моток скотча. Топологически оно работает, но как в ролике сделать не получилось.
#768 (Правка: 21:31)
21:29, 19 янв 2023
Panzerschrek[CN]
> моток скотча
+ Показать
− Скрыть
Не годится. Кольцо должно быть как можно тоньше, чтоб могло падать ориентированным вертикально. Возможно еще надо придать вращения, чтоб в конце гарантированно получился захлест.
Здесь есть такая!
У меня пару разных комплектов головоломок из железок.
Да работает!
Но руку надо набивать!
Есть сложные головоломки.
С начало смотришь двумя руками.
Потом смотришь и 1 рукой
Потом руку за спину ииии Ву Аля!!!!
Время надо и задротство!
Есть два заключённых и игривый надзиратель (ну как во многих задачах).
Есть шахматная доска, на каждую клетку в ней положена монета - орлом или решкой вверх надзиратель назначает одной из клеток ключ от камеры заключённых и сообщает об этом первому заключённому. Можно считать, что ключ прячется под определённой клеткой. Далее первый заключённый должен перевернуть на доске одну монету и уйти. Далее заводится второй заключённый и он должен угадать, где находится ключ. Если он угадал - то оба заключённых освобождаются.
Вопрос - как должны действовать заключённые, чтобы с максимальной вероятностью освободиться?
Panzerschrek[CN]
> Вопрос - как должны действовать заключённые, чтобы с максимальной вероятностью
> освободиться?
Это та же загадка, что и по Людоеда и пойманных эльфах.
Про тюремщика, лампочку и заключённых...
И еще десяток видов интерпретаций этого алгоритма...
Я встречал персонажа, который нашёл алгоритм ответа используя какую то математическую формулу.
Честно сказать после 5 часов его рассказа я так и ничего не понял...
А почему они должны хотеть освободиться, при игривом-то надзирателе?
1 frag / 2 deaths
> А почему они должны хотеть освободиться, при игривом-то надзирателе?
Это упрощённая версия.
Их всех повесят в оригинале.
1 frag / 2 deaths
> А почему они должны хотеть освободиться, при игривом-то надзирателе?
Ну хорошо, их или расстреляют или переведут к следующей игре.
К задаче выше придумал одну стратегию: всегда делать так, чтобы монета над ключём была орлом. Тогда шансы на выживание повышаются с 1/64 до 1/32 (в среднем).
#775 (Правка: 19:32)
19:25, 16 фев 2023
Panzerschrek[CN]
> К задаче выше придумал одну стратегию: всегда делать так, чтобы монета над
> ключё1м была орлом. Тогда шансы на выживание повышаются с 1/64 до 1/32 (в
> среднем).
Не взлетает!
У тебя 64 клетки.
32 орешек, 32 орел
33 орешек 31 орел
31 орешек 33 орел
В задаче стоит один вход и одна угадка.
Что полностью противоречит понятию математически логического варианта.
Так же два заключённых не могут договориться о вариации условий.
Задача изначально была иная.
- Я дам возможность бежать тебе и твоему напарнику, если твой напарник укажет на доске на монету с ключом.
Ещё есть мысль, но нужно развить:
+ Показать
− Скрыть
По сути состояние доски описывается одним 64-битным числом. Нам нужно придумать такую хеш-функцию, которая бы эти 64 бита преобразовывали бы в 6 бит, которых достаточно для описания координат клетки с ключём. При этом нужна такая функция, при которой сменой одного бита в исходном числе можно было бы получить любой нужный хеш (координаты ключа).
Заключённый 1 тем самым просто переберёт хеши для всех 64 возможных результатов смены одного бита в исходном числе, описывающим состояние доски, и выберет ту смену, что даст хеш, описывающий положение ключа. Заключённому 2 надо будет вычислить этот хеш и открыть нужную клетку на доске.
Даже вроде у задачи нету запредельной вычислительной сложности. Нужно суммарно всего лишь 65 64-битных хешей посчитать, что за разумное время можно и вручную сделать.
Нашёл решение для доски 2x2
+ Показать
− Скрыть
для доски
h0= a ^ b, h1 = a ^ c
биты h0 и h1 представляют координаты клетки ключа. Хеш-функция подобрана таким образом, что можно добиться нужного результата сменой одного бита исходной конфигурации. Если нужно сменить оба бита, монетка переворачивается на клетке a, если ничего не трогать - на клетке d, если только один бит - в клетках b или c.
Для досок большего размера:
+ Показать
− Скрыть
Нулевой бит хеш-функции - это xor битов первой половины клеток. Первый бит - xor битов клеток по две с шагом по две. Второй бит - xor битов клеток по 4 с шагом 4 и т. д.
В итоге получается, что в каждом бите задействована половина клеток, но в каждом немного разная. А для каждой клетки есть некоторое количество бит (для доски 8 на 8 - бит), принимающих свои значения - 0, если для этого бита эта клетка не задействуется, 1 - если задействуется.
Получается следующая таблица (для доски 4x4):
a b c d
e f g h
i j k l
m n o p
a b c d e f g h i j k l m n o p
h0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
h1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
h2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
h3 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Теперь о том, как вычислить клетку для переворачивания. Берётся хеш, соответствующей клетке, под которой лежит ключ, вычисляется xor его с хешом реального состояния доски. В таблице выше ищется результат этого xor и выбирается соответствующая клетка, монету на которой нужно перевернуть.
Panzerschrek[CN]
В детали не вчитывался, но суть воспроизвёл, да, это сработает.