Tulis program Manufactoria yang akan menerima kaset input kosong. Tapi jangan lakukan itu dengan cepat! Maksud saya, menulis program dengan cepat, tetapi jangan biarkan itu berjalan cepat. Semakin lambat program, semakin baik, selama akhirnya berakhir. Contoh program di bawah ini memakan waktu 3:51 ("total waktu" yang dilaporkan oleh simulator).
Program Anda dimulai dengan kaset kosong. Ini harus mencorat-coret sedikit, tetapi akhirnya mencapai kuadrat keluaran. Anda dapat meninggalkan data pada kaset jika Anda mau. Program paling lambat pada papan 7x7 Manufactoria menang!
Tombol panah kanan Anda adalah teman Anda, itu mempercepat simulator.
Poin bonus untuk menabrak simulator!
manufactoria
busy-beaver
Keith Randall
sumber
sumber
Jawaban:
~ 10 23 iterasi
~ 10 15 iterasi~ 10 8 iterasihttp://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 ;
Mesin ini pada dasarnya adalah odometer yang berjalan di base tiga, menggunakan simbol merah, biru dan kuning untuk masing-masing angka 0, 1, dan 2. Simbol hijau digunakan untuk menandai akhir nomor. Pada awalnya, rekaman itu diinisialisasi dengan 49 simbol merah. Ini dilakukan oleh bagian-bagian di tiga baris teratas mesin. Empat baris terbawah menangani tugas penambahan angka dalam satu lingkaran. Pada setiap iterasi, dua sel cabang di sisi kiri mencari cara untuk menerapkan kenaikan ke nomor saat ini, dan kemudian sel-sel cabang di sisi kanan menyalin sisa, angka yang tidak terpengaruh.
Sebelumnya saya sudah mencoba memperkirakan waktu berjalan mesin, apakah diizinkan berjalan hingga selesai, tetapi pada level ini lebih masuk akal jika hanya menghitung jumlah iterasi. Secara kasar, dibutuhkan sekitar satu menit untuk menyelesaikan satu iterasi - tetapi bahkan jika butuh satu detik itu hanya akan mengurangi waktu berjalan dengan satu urutan besarnya.
sumber
603: 25
Tes online
Saya membaca kembali pertanyaan Manufactoria hari ini, dan tiba-tiba punya ide yang secara dramatis akan memperlambat proses: alih-alih hanya memiliki 50 nilai dan mengubah warna 3 kali, program baru melakukan itu, tetapi kemudian setelah itu, ia menurunkan jumlah nilai dengan 1, dan melewati perubahan warna lagi, sampai ada pita kosong di mana saat program berhenti.
Antrian tidak akan menyimpan lebih dari 50 nilai pada satu waktu, jadi tidak ada gunanya mencoba mendorong terlalu banyak nilai ke rekaman - mereka langsung terdorong keluar. Seperti sebelumnya, conveyor belts bertujuan untuk memaksimalkan waktu yang dibutuhkan untuk menjalankan sesuatu. Bahkan, ada sedikit penyesuaian untuk mencapai peningkatan run-time yang luar biasa.
Masih tidak ada jawaban di dekat kotak roti .
sumber
33:33
Mengerjakan ini cukup lama ( Volatilitas mengatur bar cukup tinggi), tetapi begitu saya menekan 33:33, saya pikir itu adalah waktu yang tepat untuk berhenti.
Strateginya cukup tumpul: pada dasarnya mengisi rekaman dengan satu warna, lalu yang lain, lalu yang lain, dan selalu mencoba untuk melintasi sebanyak mungkin sel di antara setiap penulisan (atau kelompok penulisan).
Saya yakin ada beberapa cara yang dapat ditemukan bahwa kita dapat melangkah lebih jauh dengan ini.
Tautan level
sumber