This seems like something that computation might shed some light on without too much effort:
So we need to calculate the average, over all labelled trees, of the maximum number of leaf-neighbours of a vertex in T.
Start with a couple of Sage functions: the first just calculates the value $D(T)$ for a tree passed in as an argument. It checks each vertex in turn, and if it is a leaf then it augments the counter associated with its unique neighbour.
def maxleafNeighbours(t):
leafcount = [0 for i in range(t.num_verts())]
for l in t.vertices():
nb = t.neighbors(l)
if len(nb) == 1:
leafcount[nb[0]] = leafcount[nb[0]]+1
return max(leafcount)
The second one goes through all the unlabelled trees $T$ on $n$ vertices, as computed by geng
within SageMath, calculates $D(T)$ and adds $n!/|Aut(T)|$ to the count of labelled trees with that particular $D(T)$.
def maxleafData(nv):
data = [0 for i in range(nv)]
nvfactorial = factorial(nv)
nauty_args = "-c " + str(nv) + " " + str(nv-1)
for t in graphs.nauty_geng(nauty_args):
val = maxleafNeighbours(t)
data[val] = data[val] + nvfactorial/t.automorphism_group().order()
return data
So if we run maxLeafData(6)
the output is[0, 720, 450, 120, 0, 6]
showing that 0 labelled trees on 6 vertices have $D(T) = 0$ but $720$ labelled trees on 6 vertices have $D(T) = 1$ and so on.
So what's the average value over all labelled trees on 6 vertices?
data = maxleafData(6)
float(sum([i*data[i] for i in range(len(data))]) / sum(data))
1.5509259259259258
So the average value of $D(T)$ is 1.55 taken over all labelled trees on 6 vertices. Let's try for larger values of 6.
datapoints = []
for v in range(6,18):
data = maxleafData(v)
avg = float(sum([i*data[i] for i in range(len(data))]) / sum(data))
print (v,avg)
datapoints.append((v,avg))
(6, 1.5509259259259258)
(7, 1.601832569762599)
(8, 1.615203857421875)
(9, 1.6481679057505914)
(10, 1.6749189)
(11, 1.7038043317645422)
(12, 1.7314162738607985)
(13, 1.7585077425737015)
(14, 1.7846671875609421)
(15, 1.8099355316779862)
(16, 1.8342600346899551)
(17, 1.8576535568845751)
What does this function look like?
sage.plot.scatter_plot.scatter_plot(datapoints)