Обсуждение:Подсчет деревьев — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
{{Утверждение
 
{{Утверждение
 
|statement=Число помеченных корневых деревьев с <tex>k</tex> листьями и <tex>m</tex> вершинами есть <tex>P_{m,k} = k\cdot P_{m-1,k}+(m-k))\cdot P_{m-1,k-1}</tex>.<br>
 
|statement=Число помеченных корневых деревьев с <tex>k</tex> листьями и <tex>m</tex> вершинами есть <tex>P_{m,k} = k\cdot P_{m-1,k}+(m-k))\cdot P_{m-1,k-1}</tex>.<br>
Причем номер предка всегда меньше номера вершины. <tex>P_{i,i} = 0, \forall i \in N</tex>; <tex>P_{i,0} = 0, \forall i \in N, i \neq 1 </tex><br><br> '''не очень понятно. это ограничение или тебе так удобнее считать? базу утверждения лучше вынести в другое место'''
+
Причем номер предка всегда меньше номера вершины.<br>
 +
'''не очень понятно. это ограничение или тебе так удобнее считать? базу утверждения лучше вынести в другое место'''
 +
'''Базу вынес. То что номер предка всегда меньше номера вершины - это ограничение.'''
 
|proof =
 
|proof =
Рассмотрим каждое слагаемое в данной формуле:<br>
+
База утверждения <tex>P_{i,i} = 0, \forall i \in N</tex>; <tex>P_{i,0} = 0, \forall i \in N, i \neq 1 </tex><br>
 +
Рассмотрим каждое слагаемое в данной формуле <tex>P_{m,k} = k\cdot P_{m-1,k}+(m-k))\cdot P_{m-1,k-1}</tex> :<br>
 
1) <tex>k\cdot P_{m-1,k}</tex> обозначает, что мы можем подвесить ещё одну вершину к любому из <tex>k</tex> листьев. Тогда количество листьев не изменится, а количество вершин увеличится на одну.<br>
 
1) <tex>k\cdot P_{m-1,k}</tex> обозначает, что мы можем подвесить ещё одну вершину к любому из <tex>k</tex> листьев. Тогда количество листьев не изменится, а количество вершин увеличится на одну.<br>
 
2) <tex>(m-k)\cdot P_{m-1,k-1}</tex> обозначает, что мы можем подвесить ещё одну вершину к любой вершине, не являющийся листом. Таких вершин <tex>(m-k)</tex>. Тогда количество листьев и количество вершин увеличится на один.<br>
 
2) <tex>(m-k)\cdot P_{m-1,k-1}</tex> обозначает, что мы можем подвесить ещё одну вершину к любой вершине, не являющийся листом. Таких вершин <tex>(m-k)</tex>. Тогда количество листьев и количество вершин увеличится на один.<br>
Строка 9: Строка 12:
 
}}
 
}}
  
'''то есть получается, что это просто реккурента? А нет более интересных результатов, типа комбинаторного представления\производящей функции?'''
+
'''то есть получается, что это просто реккурента? А нет более интересных результатов, типа комбинаторного представления\производящей функции?'''<br>
 +
'''Да, это реккурента, но по ней же можно посчитать количество таких объектов.'''<br>
 +
'''Комбинаторное представление можно так записать : <tex>P_{m} = z\times P_{m-1}</tex> , где <tex>P_{i}</tex> - количество деревьев с <tex>i</tex> вершинами, причем <tex>P_{0} = \varepsilon</tex>.'''<br>
 +
'''А вот ПФ с двумя переменными не знаю как вывести.'''<br>
 
Пример <br>
 
Пример <br>
 
[[Файл:0List.png|100px]] <tex>m=1</tex> [[Файл:1List.png|100px]] <tex>m=2</tex> [[Файл:2List.png|400px]] <tex>m=3</tex> [[Файл:3List.png|600px]] <tex>m=4</tex> <br>
 
[[Файл:0List.png|100px]] <tex>m=1</tex> [[Файл:1List.png|100px]] <tex>m=2</tex> [[Файл:2List.png|400px]] <tex>m=3</tex> [[Файл:3List.png|600px]] <tex>m=4</tex> <br>

Версия 21:37, 21 июня 2020

Утверждение:
Число помеченных корневых деревьев с [math]k[/math] листьями и [math]m[/math] вершинами есть [math]P_{m,k} = k\cdot P_{m-1,k}+(m-k))\cdot P_{m-1,k-1}[/math].

Причем номер предка всегда меньше номера вершины.
не очень понятно. это ограничение или тебе так удобнее считать? базу утверждения лучше вынести в другое место

Базу вынес. То что номер предка всегда меньше номера вершины - это ограничение.
[math]\triangleright[/math]

База утверждения [math]P_{i,i} = 0, \forall i \in N[/math]; [math]P_{i,0} = 0, \forall i \in N, i \neq 1 [/math]
Рассмотрим каждое слагаемое в данной формуле [math]P_{m,k} = k\cdot P_{m-1,k}+(m-k))\cdot P_{m-1,k-1}[/math] :
1) [math]k\cdot P_{m-1,k}[/math] обозначает, что мы можем подвесить ещё одну вершину к любому из [math]k[/math] листьев. Тогда количество листьев не изменится, а количество вершин увеличится на одну.
2) [math](m-k)\cdot P_{m-1,k-1}[/math] обозначает, что мы можем подвесить ещё одну вершину к любой вершине, не являющийся листом. Таких вершин [math](m-k)[/math]. Тогда количество листьев и количество вершин увеличится на один.

Так как мы рассмотрели все возможные варианты присоединения новой вершины, то данная формула [math]P_{m,k} = k\cdot P_{m-1,k}+(m-k)\cdot P_{m-1,k-1}[/math] верна.
[math]\triangleleft[/math]

то есть получается, что это просто реккурента? А нет более интересных результатов, типа комбинаторного представления\производящей функции?
Да, это реккурента, но по ней же можно посчитать количество таких объектов.
Комбинаторное представление можно так записать : [math]P_{m} = z\times P_{m-1}[/math] , где [math]P_{i}[/math] - количество деревьев с [math]i[/math] вершинами, причем [math]P_{0} = \varepsilon[/math].
А вот ПФ с двумя переменными не знаю как вывести.
Пример
0List.png [math]m=1[/math] 1List.png [math]m=2[/math] 2List.png [math]m=3[/math] 3List.png [math]m=4[/math]
Вершина [math]1[/math] является корнем.
[math]P_{1,0} = 1[/math]
[math]P_{2,1} = 1\cdot P_{1,1}+(2-1)\cdot P_{1,0} = 1\cdot 0 + 1\cdot 1 = 1 [/math]
[math]P_{3,1} = 1\cdot P_{2,1}+(3-1))\cdot P_{2,0} = 1\cdot 1 + 2\cdot 0 = 1 [/math]
[math]P_{3,2} = 2\cdot P_{2,2}+(3-2))\cdot P_{2,1} = 2\cdot 0 + 1\cdot 1 = 1 [/math]
[math]P_{3,1} + P_{3,2} = 2[/math]
[math]P_{4,1} = 1\cdot P_{3,1}+(4-1))\cdot P_{3,0} = 1\cdot 1 + 3\cdot 0 = 1 [/math]
[math]P_{4,2} = 2\cdot P_{3,2}+(4-2))\cdot P_{3,1} = 2\cdot 1 + 2\cdot 1 = 4 [/math]
[math]P_{4,3} = 3\cdot P_{3,3}+(4-3))\cdot P_{3,2} = 3\cdot 0 + 1\cdot 1 = 1 [/math]
[math]P_{4,1} + P_{4,2} + P_{4,3}= 6[/math]