Escriba un programa Manufactoria que acepte la cinta de entrada vacía. ¡Pero no lo hagas rápido! Quiero decir, escribe el programa rápidamente, pero no dejes que se ejecute rápidamente. Cuanto más lento sea el programa, mejor, siempre que termine eventualmente. El siguiente programa de ejemplo toma 3:51 (el "tiempo total" informado por el simulador).
Su programa comienza con la cinta vacía. Debe garabatear un poco, pero eventualmente alcanzar el cuadrado de salida. Puede dejar datos en la cinta si lo desea. ¡El programa más lento en el tablero 7x7 de Manufactoria gana!
Tu tecla de flecha derecha es tu amigo, acelera el simulador.
¡Puntos de bonificación por estrellar el simulador!
manufactoria
busy-beaver
Keith Randall
fuente
fuente
Respuestas:
~ 10 23 iteraciones
~ 10 15 iteraciones~ 10 8 iteracioneshttp://pleasingfungus.com/Manufactoria/?lvl=32&code=g9:7f2;b12:8f2;p13:8f5;p11:8f3;r14:8f0;q11:10f3;q13:7f1;y13:9f1;r10:10f1 ; c12: 9f2; c9: 9f2; i11: 9f7; i10: 9f4; c9: 8f3; i10: 8f2; c14: 9f0; c15: 9f0; c15: 8f3; c15: 7f3; c14: 7f2; g12: 7f0; c11 : 7f3; c10: 7f2; q9: 6f7; r10: 6f1; r9: 5f3; c11: 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 ;
La máquina es básicamente un odómetro que se ejecuta en la base tres, usando los símbolos rojo, azul y amarillo para representar los dígitos 0, 1 y 2, respectivamente. El símbolo verde se usa para marcar el final del número. Al principio, la cinta se inicializa con 49 símbolos rojos. Esto lo hacen las partes en las tres filas superiores de la máquina. Las cuatro filas inferiores manejan la tarea de incrementar el número en un bucle. En cada iteración, las dos celdas de ramificación en el lado izquierdo determinan cómo aplicar el incremento al número actual, y luego las celdas de ramificación en el lado derecho copian los dígitos restantes, no afectados.
Anteriormente intenté estimar el tiempo de funcionamiento de la máquina, si se permitía que se ejecutara hasta su finalización, pero a este nivel tiene más sentido ir por el número de iteraciones. Hablando en términos generales, toma alrededor de un minuto completar una iteración, pero incluso si tomara un segundo, solo disminuiría el tiempo de ejecución en un solo orden de magnitud.
fuente
603: 25
Prueba en línea
Hoy estaba releyendo las preguntas de Manufactoria, y de repente tuve una idea que ralentizaría drásticamente el proceso: en lugar de solo tener 50 valores y cambiar los colores 3 veces, el nuevo programa hace eso, pero luego, disminuye el número de valores en 1, y pasa por el cambio de color nuevamente, hasta que haya una cinta vacía en la que el programa se detiene.
La cola no almacenará más de 50 valores a la vez, por lo que no sirve de nada tratar de insertar demasiados valores en la cinta, simplemente se eliminan de inmediato. Como antes, las cintas transportadoras tienen como objetivo maximizar el tiempo necesario para que la cosa funcione. De hecho, hubo ajustes mínimos para lograr un tremendo aumento en el tiempo de ejecución.
Sin embargo, aún no está cerca de la respuesta de breadbox.
fuente
33:33
Trabajé en esto durante bastante tiempo (la volatilidad puso el listón bastante alto), pero una vez que llegué a 33:33, pensé que era un buen momento para parar.
La estrategia es bastante contundente: básicamente llena la cinta con un color, luego con otro, y luego con otro, y siempre trata de atravesar tantas celdas como sea posible entre cada escritura (o grupo de escrituras).
Estoy seguro de que hay maneras de encontrar que podemos ir mucho más lejos con esto.
Enlace de nivel
fuente