<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=176.59.22.113&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=176.59.22.113&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/176.59.22.113"/>
		<updated>2026-06-17T07:34:47Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BF%D0%B0%D1%80%D0%BD%D0%BE_%D0%BD%D0%B5%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D0%B5%D0%BA%D0%B0%D1%8E%D1%89%D0%B8%D1%85%D1%81%D1%8F_%D0%BE%D1%81%D1%82%D0%BE%D0%B2%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2_%D0%B2_%D0%B3%D1%80%D0%B0%D1%84%D0%B5_%D1%81_n_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8&amp;diff=62719</id>
		<title>Максимальное количество попарно непересекающихся остовных деревьев в графе с n вершинами</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BF%D0%B0%D1%80%D0%BD%D0%BE_%D0%BD%D0%B5%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D0%B5%D0%BA%D0%B0%D1%8E%D1%89%D0%B8%D1%85%D1%81%D1%8F_%D0%BE%D1%81%D1%82%D0%BE%D0%B2%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2_%D0%B2_%D0%B3%D1%80%D0%B0%D1%84%D0%B5_%D1%81_n_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8&amp;diff=62719"/>
				<updated>2017-12-15T13:04:25Z</updated>
		
		<summary type="html">&lt;p&gt;176.59.22.113: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Утверждение&lt;br /&gt;
|id = max_spanning_tree                                                                                       &lt;br /&gt;
|statement=Максимальное количество попарно непересекающихся [[Остовные деревья: определения, лемма о безопасном ребре#spanning_tree| остовных деревьев]]  в графе с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами равно  &amp;lt;tex&amp;gt; \left \lfloor {\dfrac{n}{2}}\right \rfloor &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof =                                                                                                                                                                                                                                         &lt;br /&gt;
#Очевидно, что наибольшее количество непересекающихся остовных деревьев может быть только в полном графе из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершин. Количество ребер в таком графе равно &amp;lt;tex&amp;gt; \dfrac{n(n - 1)}{2}&amp;lt;/tex&amp;gt;, а в каждом дереве &amp;lt;tex&amp;gt;n -&lt;br /&gt;
 1&amp;lt;/tex&amp;gt; ребро. Значит, в полном графе мы сможем построить не более &amp;lt;tex&amp;gt; \left \lfloor {\dfrac{n(n - 1)}{2(n - 1)}}\right \rfloor =&amp;lt;/tex&amp;gt; &amp;lt;tex dpi = &amp;quot;130&amp;quot;&amp;gt;\left \lfloor {\dfrac{n}{2}}\right \rfloor&amp;lt;/tex&amp;gt; остовных деревьев.   &lt;br /&gt;
}}&lt;br /&gt;
==Алгоритм==                           &lt;br /&gt;
===Описание алгоритма===                                  &lt;br /&gt;
Расположим вершины на окружности так, чтобы они образовывали правильный многоугольник, и выберем начальную вершину '''(рис.1)'''. Для &amp;lt;tex&amp;gt;\left \lfloor {\dfrac{n}{2}}\right \rfloor&amp;lt;/tex&amp;gt; вершин по часовой стрелке, начиная с этой вершины, будем строить остовные деревья. Для &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой вершины строим такой путь &amp;lt;tex&amp;gt;:&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;V_i V_{i+1} V_{i-1} V_{i+2} V_{i-2}\ldots, &amp;lt;/tex&amp;gt; {{---}} до тех пор, пока не соединим все вершины. Это и будет остовным деревом. '''(рис.2-3)'''                                                                                                       &lt;br /&gt;
{| cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
|-                                                                                                                  &lt;br /&gt;
|[[Файл:Max spanning tree1.png|thumb|300px|center|Рис.1 Стрелкой указана начальная вершина]] || [[Файл:Max spanning tree2.png|thumb|339px|center|Рис.2 Красным цветом выделено первое построенное остовное дерево]] || [[Файл:Max spanning tree6.png|thumb|270px|center|Рис.3 Все остовные деревья]]                                                           &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Доказательство корректности===                                                                                                                                                                          &lt;br /&gt;
Докажем, что построенные с помощью такого алгоритма остовные деревья будут попарно непересекающимися. Для этого докажем, что никакие ребра не совпадут. Ребра могут совпасть только в том случае, если дуги, на которые эти ребра опираются, будут одинаковой длины. Заметим, что при построении каждого последующего дерева его ребра получаются из поворотов ребер предыдущего на длину &amp;lt;tex&amp;gt; \dfrac{l}{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; {{---}} длина окружности.                               Рассмотрим первое построенное остовное дерево.'''(рис.3)''' В нем не более &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-х ребер имеют одинаковую длину дуги (длина дуги у ребра, расположенного на диаметре окружности, не совпадает с длиной дуги любого другого ребра данного остовного дерева). Значит, повороты только этих ребер могут совпасть между собой.                       &lt;br /&gt;
#Докажем, что повороты ребра, расположенного на диаметре окружности, не совпадут друг с другом (если &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; нечетно, то такого ребра не будет).&amp;lt;br&amp;gt; Чтобы хоть какой-то поворот совпал, мы должны повернуть ребро на &amp;lt;tex&amp;gt;180 ^{\circ}&amp;lt;/tex&amp;gt;. Каждый раз мы поворачиваем ребро на &amp;lt;tex&amp;gt;\dfrac{360 ^{\circ}}{n}&amp;lt;/tex&amp;gt;. А так как мы поворачиваем ребро &amp;lt;tex&amp;gt;\dfrac{n}{2} - 1&amp;lt;/tex&amp;gt; раз, то в сумме мы повернем его на &amp;lt;br&amp;gt; &amp;lt;tex&amp;gt;\dfrac{360 ^{\circ}}{n} \cdot&amp;lt;/tex&amp;gt;  &amp;lt;tex dpi = &amp;quot;200&amp;quot;&amp;gt;(&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;\dfrac{n}{2} - 1 &amp;lt;/tex&amp;gt;&amp;lt;tex dpi = &amp;quot;200&amp;quot;&amp;gt;)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;=180 ^{\circ} -  \dfrac{360 ^{\circ}}{n} &amp;lt; 180 ^{\circ}&amp;lt;/tex&amp;gt;. А это значит, что никакие ребра не совпадут друг с другом. '''(рис.4)''' [[Файл:Max spanning tree3.png|thumb|300px|center|Рис.4 Черным цветом выделено рассматриваемое ребро, красным - все его повороты]]&lt;br /&gt;
#Докажем для остальных ребер. '''(рис.5)''' &amp;lt;br&amp;gt;Возьмем ребро, которое не лежит на диаметре окружности. В данном остовном дереве есть ребро, которое имеет такую же длину дуги. Ориентируем данные ребра в сторону часовой стрелки. Чтобы повороты этих ребер совпали, нужно, чтобы совпали их начала и концы. Покажем, что их начала никогда не совпадут. Чтобы начало первого ребра совпало с началом второго, нужно первое ребро повернуть хотя бы на половину длины окружности, то есть на &amp;lt;tex&amp;gt; \dfrac{l}{2}&amp;lt;/tex&amp;gt;. Для этого нам нужно сделать &amp;lt;tex&amp;gt; \dfrac{n}{2} &amp;lt;/tex&amp;gt; поворотов: &amp;lt;tex&amp;gt; \dfrac{l}{n} \cdot \dfrac{n}{2} = \dfrac{l}{2}&amp;lt;/tex&amp;gt;. Но мы делаем только &amp;lt;tex&amp;gt; \dfrac{n}{2} - 1&amp;lt;/tex&amp;gt; поворот. Аналогично с поворотом второго ребра. Для нечетных &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; граф будет неполным, поэтому даже &amp;lt;tex&amp;gt; \dfrac{n}{2}&amp;lt;/tex&amp;gt; поворотов может не хватить для совпадения ребер.                                                                      &lt;br /&gt;
[[Файл:Max spanning tree4.png|thumb|300px|center|Рис.5 Черным цветом выделены рассматриваемые ребра]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==См. также==                                                                                                        &lt;br /&gt;
*[[Остовные деревья: определения, лемма о безопасном ребре]]                                                         &lt;br /&gt;
*[[Остовное дерево в планарном графе]]                                                                                                                                                       &lt;br /&gt;
*[[Минимально узкое остовное дерево]]                                                                                 &lt;br /&gt;
                                                                                                                      &lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]                                                                            &lt;br /&gt;
[[Категория: Остовные деревья]]                                                                                        &lt;br /&gt;
[[Категория: Построение остовных деревьев]]&lt;/div&gt;</summary>
		<author><name>176.59.22.113</name></author>	</entry>

	</feed>