Здравствуйте, Shmj, Вы писали:
S>Когда вы впервые сделали это?
Месяц назад.
S>Смогли ли самостоятельно догадаться как это делается или же тупо вертели по инструкции/наставлению?
Вертел по инструкции. Зачем мне самостоятельно догадываться, если до меня уже догадались.
S>Если второе, то помните ли кто вас научил или где прочитали?
Хз, в гугле где-то нашёл.
S>Сейчас смогли бы собрать без инструкции?
Вряд ли, я ничего не запомнил. Это надо 10 раз собрать по инструкции, сомнительное удовольствие.
Здравствуйте, Shmj, Вы писали:
S>Когда вы впервые сделали это?
Никогда. Долго помню крутил в детстве, пытаясь собрать. Никак. Не хватило мозгов. Инструкцию не хотел брать ни тогда, ни сейчас. Дети по инструкции научились, а я не хочу так
Я не сделал это до сих пор.
S>Смогли ли самостоятельно догадаться как это делается или же тупо вертели по инструкции/наставлению?
Вопрос в моём случае интерпертируется в двух смыслах. С одной стороны, я не сделал этого до сих пор (не обрёл способность собирать кубик). С другой стороны, мне рассказали общую идею. Кроме того, услышав об этой общей идее и запомнив, я не стал ни узнавать где-то точно, как всё делать, ни доходить до способа самостоятельно на основе полученной наводки. (Получилась даже интерпретация не в двух, а в трёх составляющих.)
S>Если первое, то случайно ли так получилось или же увидели алгоритм?
Тот, кто мне объяснил в двух словах, догадался сам. От балды крутил и наткнулся на общеизвестный алгоритм. Он только потом узнал, что найденный им алгоритм общеизвестен.
S>Если второе, то помните ли кто вас научил или где прочитали?
Да, помню отлично. Много раз вспоминал потом этого парня. Это было на 1 курсе в одном из топовых физико-математических вузов. Парень сказал, что он просто от балды крутил, как я сказал, и наткнулся на общеизвестный способ, и произнёс название — метод крестов. Парень был выдающийся. Учился на теоретической физике и был отличником, при этом не любил свою специальность и не хотел заниматься ею, а в качестве хобби занимался обратной разработкой — управлением на низком уровне недокументированными возможностями некоторых аппаратных подсистем ПК. Я не смог сообразить, как с ним задружиться. В итоге так всё и осталось, в памяти только несколько встреч с ним, как стоял с ним рядом несколько раз, и всё.
S>Сейчас смогли бы собрать без инструкции?
До сих пор не знаю, смог бы ли. Желания никогда не было за много лет, оно ни разу не появлялось с того раза когда-либо. Так и не попробовал с того раза.
На самом деле, для меня тут самый большой вопрос состоит вот в чём. Ведь по сути, на мою ситуацию и на мой случай можно посмотреть следующим образом. По сути, рассказав мне тогда всё, он меня лишил части свободы — т.е. навсегда исключил возможность достигнуть решения этой задачи самостоятельно. И я здесь не могу понять, можно ли действительно так смотреть на это дело. Я реально так и не понял этого.
Здравствуйте, Shmj, Вы писали:
S>Когда вы впервые сделали это?
не помню, но сделал.
S>Смогли ли самостоятельно догадаться как это делается или же тупо вертели по инструкции/наставлению?
Мне подарили, потому что двоюродной сестре подарили. Только ее родители знали про инструкции, а мои нет.
Интернета тогда не было. ксерокса не было, фотоапаратом только дядя умел пользоватся и долго проявлять.
Сначало я вертел на угад, потом сестра сказала что есть инструкция, но с собой ее не было.
Мы жили в разных городах и летом тусили у бабушки в деревне, где даже радио не ловило.
Ходили, в речки купались, рыбу ловили, коровам хвосты крутили и кубики собирали.
Сестра по памяти показала пару приемов, дальше я уже сам придумывал остальные приемы и записывал в тетрадку
S>Сейчас смогли бы собрать без инструкции?
нет, сейчас у меня Xiaomi Super Cube
Здравствуйте, Vzhyk2, Вы писали:
vsb>>Вертел по инструкции. Зачем мне самостоятельно догадываться, если до меня уже догадались. V>Четки для оного поудобнее будут, мне кажется.
А сам то как?
На самом деле даже собрать по инструкции — не каждый справится — нужно очень внимательно все делать.
Здравствуйте, Shmj, Вы писали:
S>Когда вы впервые сделали это?
как только вкусил все прелести от дружественного гиганта Фишера-Гриса
S>Смогли ли самостоятельно догадаться как это делается или же тупо вертели по инструкции/наставлению?
вообще этим бредом не занимался
S>Как это делали в доинтернет эпоху?
уже не помню никаких эпох кроме интернотовской — у меня Альцгеймер гостит
S>Сейчас смогли бы собрать без инструкции?
Здравствуйте, wl., Вы писали:
wl.>А вот пирамиду Рубика собирал честно, там проще
Пирамидку мой пятилетний сын самостоятельно докумекал как собирать, и потом делал это чуть ли не с закрытыми глазами. Я в то же самое время мучительно пытался собрать кубик по журналу "Наука и жизнь".
Здравствуйте, Shmj, Вы писали: S>Когда вы впервые сделали это?
В детстве, читерски алгоритмам из книжки — польза от этого сомнительная, разве что практика точности исполнения команд. S>Сейчас смогли бы собрать без инструкции?
Где-то месяц назад наткнулся на очень интересный хак/теорему. Сама теорема — буквального один абзац текста, без единого конкретного алгоритма.
Зная этот хак и умея самостоятельная собирать первый слой (что тривиально) — можно синтезировать свои собственные алгоритмы, буквально налету.
Я теперь без проблем собираю 2x2x2 и 3x3x3 и mirror-cube (он изоморфен 3x3x3, но очень круто выглядит) — при этом не зазубрив ни одного алгоритма. Я думаю, хотя ещё и не пробовал, что этого трюка достаточно для того чтобы собрать и более сложные кубики а-ля 4x4x4, 5x5x5, и т.д.
Процесс сам по себе интересный и медитативный — и позволяет буквально руками пощупать некоторые аспекты теории групп.
Спойлер
Как уже упомянуто ранее — необходимо уметь самостоятельно собирать первый слой.
Далее, проблема заключается в том, что если пытаться применять те же самые техники в лоб для упорядочивания оставшихся частей — то это разрушает уже собранные части.
Один из подходов заключается в применении алгоритмов которые переставляют ограниченное число кубиков, не нарушая порядок уже собранных частей. Вопрос лишь в том, как такие алгоритмы придумать.
Итак, трюк заключается в следующем:
Например кубик в середине одной из граней (тот который имеет два цвета) находится на своём месте, но его цвета перепутаны местами.
Допустим это первый слой, с которым вы уже умеете справляться.
1. Так что вперёд, выполните тот алгоритм который вы уже знаете для первого слоя, не обращая внимание на остальные.
2. Вы смогли "перевернуть" этот кубик так чтобы его цвета стали на свои места. Но, как и ожидалось — остальные слои оказались перемешаны.
Вопрос в том, как восстановить непричастные слои? Конечно можно отменить весь этот хаос, проделав все операции в обратную сторону, в обратном порядке. НО, это отменит И переворот цветов нашего двухцветного кубика И отменит хаос на остальных слоях — и мы вернёмся в ту же точку откуда начали.
Идея в том, чтобы сохранить эффект на нашем двухцветном кубике И отменить хаос на других слоях.
Для этого:
3. Поверните первый слой на 90.
4. Проиграйте все предыдущие действия в обратную сторону (кроме поворота на шаге 3).
Что при этом произошло?:
a. оригинальный порядок на непричастных гранях восстановлен.
б. эффект на нашем двухцветном кубике сохранился.
в. кубик который оказался на месте нашего после поворота на шаге 3 тоже перевернул свои цвета.
г. наш первый слой оказался повёрнут на 90 градусов, по сравнению со стартовой позицией (из-за шага 3), что легко отметить.
В итоге мы получили алгоритм который: переворачивает два кубика на одном слое, не затрагивая при этом ничего другого на всём кубике.
Этот алгоритм имеет вид: A*B*inverse(A)*inverse(B), где B это поворот грани на шаге 3, а A это наивный алгоритм на шаге 1.
Ключевым здесь является то что:
1) алгоритм A не перемешивает первый слой и остальные между собой, а только переставляет элементы первого слоя между собой (или поворачивает их) и переставляет/переворачивает остальные элементы опять таки только между собой
2) алгоритм B затрагивает только первый слой
Вот и всё — все остальные требуемые алгоритмы выводятся по аналогии.
По части исполнения сложность лишь в том, как не запутаться при обратном ходе на шаге 4.
Можно конечно записать все ходы, тогда всё тривиально, но муторно.
А можно попрактиковаться и повторить несколько раз действие вперёд/назад A*inverse(A) — здесь кончено велик шанс напутать ходы и всё запутать, но после нескольких ошибок и откатов начинает получаться.