A titre d'exemple, voici tous les arbres possibles pour le cas : Sur chaque nœud est écrit son arité (= le nombre d'enfants).
Bien que cela devrait être résolu par la programmation dynamique, je pense qu'il y a eu un résultat combinatoire à ce sujet (soit une limite supérieure exacte ou plutôt à grain fin). Quelqu'un le sait-il?
Éditer:
La taille de l'arbre est le nombre de nœuds qu'il possède, donc le plus grand arbre serait celui avec le nombre maximal de nœuds.
trees
combinatorics
Sudix
la source
la source
Réponses:
LaisserB ( n ) être la taille du plus grand arbre, où les arités de chaque chemin, de la racine à la feuille, n .
Si la racine d'un tel arbre a de l'ariték , puis les chemins pour chacun des k les sous-arbres doivent correspondre à n−k . Comme les sous-arbres doivent être optimaux, l'arbre a une taille1+k⋅B(n−k) .
Une formule pourB(n) maximise simplement cette expression sur k , en utilisant les valeurs précédentes B(n−1),B(n−2),… .
J'ai essayé de le faire à la main et j'ai trouvé (avec l'aide de @Sudix, merci)1,2,3,5,7,11,16,23,34,… . Cela semble être A239288 dans l'encyclopédie Sloanes en ligne des séquences entières. La récursivité qui y est donnée est similaire, mais pas exactement la même.
L'explication de la séquence y est: "Somme maximale de x0 + x0 * x1 + ... + x0 * x1 * ... * xk sur toutes les compositions x0 + ... + xk = n". Il s'agit en effet de la même séquence: si la séquence d'arités le long du chemin depuis la racine est x0, x1, ..., xk, celles-ci doivent être égales à n, et le nombre de nœuds est en effet la formule donnée.
Une autre remarque chez Sloane est intéressante: "Pour n> = 8 la solution devient cyclique: a (3n + k) = 3 + 3a (3n - 3 + k)". Cela semble suggérer que pour des valeurs supérieures à 24, la racine de l'arbre a toujours trois enfants.
la source