Напишите программу Manufactoria, которая будет принимать пустую ленту ввода. Но не делай это быстро! Я хочу написать программу быстро, но не позволяйте ей быстро работать. Чем медленнее программа, тем лучше, пока она не завершится. Пример программы ниже занимает 3:51 («общее время», сообщаемое симулятором).
Ваша программа начинается с пустой ленты. Он должен немного прорисоваться, но в конечном итоге достигнет выходного квадрата. Вы можете оставить данные на ленте, если хотите. Самая медленная программа на доске 7x7 Manufactoria побеждает!
Ваша клавиша со стрелкой вправо - ваш друг, она ускоряет симулятор.
Бонусные баллы за сбой симулятора!
manufactoria
busy-beaver
Кит Рэндалл
источник
источник
Ответы:
~ 10 23 итераций
~ 10 15 итераций~ 10 8 итерацийhttp://pleasingfungus.com/Manufactoria/?lvl=32&code=g9:7f2;b12:8f2;p13:8f5;p11:8f3;r14:8f0;q11:10f3;q13:7f1;y13:9f1;r10:10f1 ; с12: 9F2; с9: 9F2; I11: 9f7; i10: 9f4; с9: 8f3; i10: 8f2; с14: 9f0; с15: 9f0; с15: 8f3; с15: 7F3; с14: 7f2; G12: 7F0; с11 : 7F3; с10: 7f2; Q9: 6f7; r10: 6F1; R9: 5F3; с11: 6f0; r10: 5f2; r11: 5f1; R9: 4F3; r10: 4F0; r11: 4F0; Y12: 5f2; Y13: 5f2 ; y14: 5f3; y14: 6f0; y13: 6f0; y12: 6f0; & ctm = Slow_Accepter!; Generate_the_slowest_possible_accepting_machine;:; 7; 3; 0 ;
Машина в основном представляет собой одометр, работающий на базе три, с использованием красного, синего и желтого символов для обозначения цифр 0, 1 и 2 соответственно. Зеленый символ используется для обозначения конца числа. В начале лента инициализируется 49 красными символами. Это делается с помощью деталей в трех верхних рядах машины. Нижние четыре строки обрабатывают задачу увеличения числа в цикле. На каждой итерации две ячейки ветвления слева определяют, как применить приращение к текущему номеру, а затем ячейки ветвления справа копируют оставшиеся незатронутые цифры.
Ранее я пытался оценить время работы машины, было ли ей разрешено работать до завершения, но на этом уровне имеет смысл просто идти по количеству итераций. Грубо говоря, для завершения одной итерации требуется около минуты, но даже если бы она заняла секунду, это уменьшило бы только время выполнения на один порядок.
источник
603: 25
Онлайн тест
Сегодня я перечитывал вопросы «Мануфактуры», и вдруг у меня возникла идея, которая резко замедлила бы процесс: вместо того, чтобы просто иметь 50 значений и менять цвета 3 раза, новая программа делает это, но затем после этого она уменьшает количество значений на 1, и снова проходит изменение цвета, пока не появится пустая лента, на которой программа останавливается.
В очереди не будет храниться более 50 значений за один раз, поэтому бесполезно пытаться поместить слишком много значений на ленту - они просто удаляются сразу. Как и прежде, конвейерные ленты стремятся максимизировать время, необходимое для работы вещи. Фактически, было минимальное количество настроек, чтобы достичь огромного увеличения времени выполнения.
Тем не менее, до сих пор нет ответа от хлебницы .
источник
33:33
Работал над этим довольно долго ( волатильность установила планку довольно высоко), но как только я достиг 33:33, я подумал, что сейчас самое время остановиться.
Стратегия довольно тупая: в основном заполняйте ленту одним цветом, потом другим, потом другим, и всегда пытайтесь пройти как можно больше ячеек между каждой записью (или группой записей).
Я уверен, что есть способы найти что мы можем пойти намного дальше с этим.
Ссылка уровня
источник