Fungsi TREE (k) memberikan panjang urutan pohon terpanjang T 1 , T 2 , ... di mana setiap simpul diberi label dengan salah satu warna k, pohon T i memiliki paling banyak i simpul, dan tidak ada pohon yang merupakan minor dari sembarang pohon yang mengikutinya dalam urutan.
TREE (1) = 1, dengan misalnya T 1 = (1)
.
TREE (2) = 3: misal T 1 = (1)
; T 2 = (2)--(2)
; T 3 = (2)
.
TREE (3) adalah angka yang sangat besar . Bahkan lebih besar dari angka Graham. Tugas Anda adalah menghasilkan angka yang bahkan lebih besar dari itu!
Ini adalah kode-golf sehingga tujuannya adalah untuk menulis program terpendek dalam bahasa apa pun yang secara pasti menghasilkan angka yang lebih besar atau sama dengan TREE (3) (ke stdout).
- Anda tidak diizinkan mengambil input.
- Program Anda akhirnya harus dihentikan tetapi Anda dapat menganggap mesin memiliki memori tak terbatas.
- Anda mungkin berasumsi tipe nomor bahasa Anda dapat memiliki nilai terbatas, tetapi perlu menjelaskan bagaimana ini sebenarnya bekerja dalam bahasa Anda (mis: apakah float memiliki ketelitian tak terbatas?)
- Infinities tidak diizinkan sebagai output.
- Underflow dari tipe angka melempar pengecualian. Itu tidak membungkus.
- Karena TREE (3) adalah angka yang sangat kompleks, Anda dapat menggunakan pendekatan hierarki yang tumbuh cepat f ϑ (Ω ω ω) +1 (3) sebagai angka untuk dikalahkan.
- Anda perlu memberikan penjelasan mengapa nomor Anda begitu besar dan versi kode Anda yang tidak diklik untuk memeriksa apakah solusi Anda valid (karena tidak ada komputer dengan memori yang cukup untuk menyimpan TREE (3) )
Catatan: Tidak ada jawaban yang saat ini ditemukan di sini berfungsi.
sumber
TREE(3)+1
di sana saya menangJawaban:
Ruby Baru, 135 byte, >> H ψ (φ 3 (Ω + 1)) (9)
di mana H adalah hierarki Hardy, ψ adalah versi diperpanjang dari OCF Madore (akan dijelaskan di bawah) dan φ adalah fungsi Veblen.
Cobalah online!
Tidak digabungkan: (menggunakan fungsi, bukan lambdas)
OCF Madore yang diperluas:
Dan (secara kasar) fungsi phi Veblen:
Penjelasan tanpa tata cara:
Program saya dimulai
k = 9, h = [[],9,9]
. Ini kemudian berlakuk = k*k
danh = f(h,k)
sampaih == 0
dan keluark
.Penjelasan dengan tata cara:
ψ '(ω ∙ α) ≈ ψ (α), fungsi runtuh ordinal yang dijelaskan pada gambar di atas.
Program saya kurang lebih memulai
k = 9
danh = Ω(↑9)9
, kemudian menerapkank ← k²
danh ← h[k,h]
sampaih = 1
dan kembalik
.Jadi jika saya melakukan ini dengan benar,
[[],9,9]
jauh lebih besar dari ordinal Bachmann-Howard ψ (Ω Ω Ω ... ), yang jauh lebih besar dari ϑ (Ω ω ω) +1.ψ (Ω (↓ 9) 9)> ψ (Ω (↓ 4) 3)> ψ (Ω Ω Ω ) +1> ψ (Ω Ω ω ω ) +1> ϑ (Ω ω ω) +1
Dan jika analisis saya benar, maka kita harus memiliki ψ '(Ω Ω ∙ x) ~ = ψ * (Ω Ω ∙ x), di mana ψ * adalah fungsi psi normal Madore. Jika ini berlaku, maka ordinal saya kira-kira ψ * (φ 3 (Ω + ω)).
Ruby Lama, 309 byte, H ψ ' 0 (Ω 9 ) (9) (lihat riwayat revisi , selain yang baru jauh lebih baik)
sumber
a.class!=Array
, sebagian besar idiomatis adalah yang!a.is_a? Array
terpendek yang bisa saya pikirkana!=[*a]
. Dan metode dapat dikonversi menjadi lambda:f=->a,n=0,b=a{...}...f[x,y]
untuk menyimpan beberapa karakter dan mungkin membuka kemungkinan refactoring menggunakannya sebagai objek kelas satu.Haskell, 252 Bytes, TREE (3) +1
Terima kasih atas bantuan dari H.PWiz, Laikoni dan Ørjan Johansen untuk bantuan golf kode!
Seperti yang disarankan oleh HyperNeutrino , program saya menghasilkan TREE (3) +1, tepatnya (TREE dapat dihitung karena ternyata).
T n c
adalah pohon dengan labelc
dan noden
.c
harus1
,2
atau3
.l t
adalah jumlah node dalam pohont
.t1 # t2
benar jikat1
ditanamkan secara homomorfist2
(berdasarkan Definisi 4.4 di sini ), dan salah sebaliknya.a n
menghasilkan daftar besar pohon. Daftar pastinya tidak penting. Properti penting adalah bahwaa n
mengandung setiap pohon sampain
node, dengan node dicap dengan1
,2
atau3
, dan mungkin beberapa pohon yang lebih juga (tapi pohon-pohon lain juga akan diberi label dengan1
,2
atau3
). Juga dijamin untuk menghasilkan daftar yang terbatas.s n
daftar semua urutan panjangn
pohon, sehingga kebalikannya (karena kita membangunnya mundur) dari urutan itu valid. Sebuah urutan valid jika elemen ke-n (di mana kita mulai menghitung pada 1) memiliki paling banyak n node, dan tidak ada pohon yang di-embed secara homeomorfik menjadi yang berikutnya.main
mencetak terkeciln
sehingga tidak ada urutan panjang yang validn
.Karena
TREE(3)
didefinisikan sebagai panjang urutan valid terpanjang,TREE(3)+1
adalah yang terkeciln
sehingga tidak ada urutan panjang yang validn
, yang merupakan hasil keluaran program saya.sumber
Python 2, 194 byte, ~ H ψ (Ω Ω Ω ) (9)
di mana H adalah hierarki Hardy, dan ψ adalah fungsi runtuh ordinal di bawah ordinal Bachmann-Howard yang didefinisikan oleh Pohlers.
Terima kasih kepada Jonathan Frech untuk -3 byte.
Cobalah online!
Versi spasi lebih baik:
Penjelasan:
Program ini mengimplementasikan varian dari Buchholz hydra , hanya menggunakan label 0 dan 1. Pada dasarnya, pada setiap langkah, kita melihat simpul daun pertama dari pohon, dan melihat apakah ada label dengan 0 atau 1.
-Jika simpul daun diberi label dengan 0, maka kami menghapus simpul daun, dan kemudian menyalin pohon mulai dari induk dari simpul daun c kali, semua salinan terhubung ke kakek-nenek dari simpul daun.
-Jika simpul daun diberi label dengan 1, maka kita mencari kembali ke akar sampai kita mencapai simpul leluhur yang berlabel 0. Mari S menjadi pohon mulai dari simpul leluhur itu. Misalkan S 'menjadi S dengan simpul daun yang dilabel ulang dengan 0. Ganti simpul daun dengan S'.
Kami kemudian ulangi proses itu sampai tidak ada yang tersisa selain simpul root.
Program ini berbeda dari prosedur hydra Buchholz normal dalam dua cara: Pertama, setelah kita melakukan prosedur di atas, kita melakukan rekur balik atas pohon, dan melakukan prosedur penyalinan label 0 yang dijelaskan di atas untuk setiap simpul leluhur dari simpul daun asli. Ini meningkatkan ukuran pohon, sehingga prosedur kami akan memakan waktu lebih lama dari pada Buchholz hydra yang normal, dan karenanya menghasilkan jumlah yang lebih besar pada akhirnya; Namun, itu masih akan berakhir karena ordinal yang terkait dengan pohon baru masih akan kurang dari pohon yang lama. Perbedaan lainnya adalah, daripada mulai dengan c = 1 dan bertambah 1 setiap kali, kita mulai dengan c = 9 dan kuadratkan setiap kali, karena mengapa tidak.
Pohon [[[1,1], 1], 0] sesuai dengan ordinal ψ (Ω Ω Ω ), yang jauh lebih besar dari ordinal ϑ (Ω ω ω), dan dengan demikian jumlah akhir kami yang dihasilkan sekitar H ψ (Ω Ω Ω ) (9) pasti akan melebihi TREE (3).
sumber
Ruby, 140 byte, ~ H ψ (Ω Ω Ω ) (81)
di mana H adalah hierarki Hardy , dan ψ adalah fungsi runtuh ordinal standar di bawah ordinal Bachmann-Howard, sebagaimana didefinisikan di sini .
Cobalah online!
Versi tidak disatukan:
Program ini mengimplementasikan hydra Buchholz dengan node yang berlabel [] dan 1, seperti yang dijelaskan dalam entri Python 2 saya.
Pohon [[], [1, [1,1]]] sesuai dengan ordinal ψ (Ω Ω Ω ), yang jauh lebih besar dari ordinal ϑ (Ω ω ω) = ψ (Ω Ω ω ω ), dan sehingga jumlah akhir kami yang dihasilkan sekitar H ψ (Ω Ω Ω ) (81) akan melebihi TREE (3).
sumber
u==0?v:u==[]?v
Anda bisa menulisu==0?||u[0]?v
, yang menghemat dua byte.Julia, 569 byte, Nomor Pemuat
Untuk menghemat sedikit kerja keras, saya memutuskan untuk memindahkan Loader.c ke Julia hampir satu untuk satu dan memadatkannya ke dalam blok kode di atas. Bagi mereka yang ingin melakukan perbandingan sendiri (baik untuk memverifikasi skor saya atau untuk membantu saya menemukan kesalahan atau meningkatkan kode saya), versi yang tidak diklik di bawah ini:
Tidak ada penghitungan sebelumnya karena saya membuat byte terlalu banyak kesalahan dalam golf agresif yang saya lakukan.
sumber
JavaScript, 190B, H ψ (ε Ω + 1 ) (9) Berdasarkan analisis ini
Program ini adalah versi modifikasi dari terjemahan nomor urutan 225B ini dalam JavaScript . Untuk nomor urutan pasangan dan kode aslinya, lihat di sini .
Modifikasi dilakukan:
sumber