Tantangan ini didasarkan pada beberapa temuan baru yang berkaitan dengan dugaan Collatz dan dirancang agak dalam semangat proyek polymath kolaboratif . Memecahkan dugaan penuh dianggap sangat sulit atau mungkin mustahil oleh para ahli teori matematika / bilangan, tetapi tugas yang lebih sederhana ini cukup bisa dilakukan dan ada banyak contoh kode sampel. Dalam skenario kasus terbaik, wawasan teoretis baru dapat diperoleh ke dalam masalah berdasarkan entri kontestan / kecerdikan / kreativitas.
Temuan baru adalah sebagai berikut: Bayangkan serangkaian bersebelahan bilangan bulat [ n1 ... n2 ] mengatakan m Total. Tetapkan bilangan bulat ini ke struktur daftar. Sekarang versi umum dugaan Collatz dapat dilanjutkan sebagai berikut. Ulangi salah satu bilangan bulat m (atau lebih sedikit) dalam daftar selanjutnya berdasarkan pada beberapa kriteria / algoritma pemilihan. Hapus bilangan bulat itu dari daftar jika mencapai 1. Jelas dugaan Collatz setara dengan menentukan apakah proses ini selalu berhasil untuk semua pilihan n1, n2 .
Ini adalah twist, kendala tambahan. Pada setiap langkah, tambahkan m iterate iterates dalam daftar bersama. Kemudian pertimbangkan fungsi f (i) di mana i adalah nomor iterasi dan f (i) adalah jumlah dari iterasi saat ini dalam daftar. Cari f (i) dengan properti "bagus" tertentu.
Konsep keseluruhan / keseluruhan lebih baik / lebih lengkap didokumentasikan di sini (dengan banyak contoh di ruby). Temuannya adalah bahwa strategi / heuristik / algoritma yang cukup sederhana yang mengarah ke "penurunan secara monoton" f (i) ada dan banyak contoh diberikan pada halaman itu. Berikut adalah salah satu contoh output grafis (diplot melalui gnuplot):
Jadi inilah tantangannya: Gunakan variasi pada contoh-contoh yang ada atau ide yang sama sekali baru untuk membangun algoritma seleksi yang menghasilkan f (i) "sedekat mungkin dengan penurunan monoton". Peserta harus menyertakan grafik f (i) dalam pengiriman mereka. Pemilih dapat memberikan suara berdasarkan grafik itu & ide algoritmik dalam kode.
Kontes akan didasarkan pada n1 = 200 / n2 = 400 parameter saja! (Hal yang sama pada halaman contoh.) Tapi semoga kontestan akan menjelajahi daerah lain dan juga berusaha untuk menggeneralisasi algoritma mereka.
Catatan, salah satu taktik yang mungkin sangat berguna di sini adalah algoritma tipe gradient descent, atau algoritma genetika.
Dapat mendiskusikan semua ini lebih lanjut dalam obrolan untuk peserta yang tertarik.
Untuk beberapa ref, tantangan codegolf Collatz lainnya: Collatz Conjecture (oleh Doorknob )