Sebagai contoh, berikut ini semua pohon yang mungkin untuk kasus : Pada setiap simpul yang ditulis adalah aritynya (= jumlah anak).
Sementara ini harus dipecahkan oleh pemrograman dinamis, saya pikir ada hasil kombinatorik dalam hal ini (baik batas atas yang agak halus atau berbutir halus). Apakah ada yang tahu?
Edit:
Ukuran pohon adalah jumlah simpul yang dimilikinya, jadi pohon terbesar adalah pohon dengan jumlah simpul maksimum.
trees
combinatorics
Sudix
sumber
sumber
Jawaban:
Misalkan adalah ukuran pohon terbesar, di mana aritas dari setiap jalur dari akar ke daun bertambah hingga .B(n) n
Jika akar pohon tersebut memiliki arity , maka jalur untuk setiap sub pohon harus berjumlah hingga . Karena sub pohon harus optimal, pohon memiliki ukuran .k k n−k 1+k⋅B(n−k)
Rumus untuk hanya memaksimalkan ekspresi di atas , menggunakan nilai sebelumnya .B(n) k B(n−1),B(n−2),…
Saya mencoba melakukan ini dengan tangan, dan menemukan (dengan bantuan @Sudix, terima kasih) . Ini sepertinya A239288 dalam Sloanes Online Encyclopedia of Integer Sequences. Rekursi yang diberikan serupa, tetapi tidak persis sama.1,2,3,5,7,11,16,23,34,…
Penjelasan urutannya adalah: "Jumlah maksimal x0 + x0 * x1 + ... + x0 * x1 * ... * xk atas semua komposisi x0 + ... + xk = n". Itu memang urutan yang sama: jika urutan arities sepanjang jalan dari root adalah x0, x1, ..., xk ini harus dijumlahkan menjadi n, dan jumlah node memang adalah rumus yang diberikan.
Komentar lain di Sloane menarik: "Untuk n> = 8 solusinya menjadi siklik: a (3n + k) = 3 + 3a (3n - 3 + k)". Ini tampaknya menunjukkan bahwa untuk nilai yang lebih besar dari 24, akar pohon selalu memiliki tiga anak.
sumber