<?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=Berkut</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=Berkut"/>
		<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/Berkut"/>
		<updated>2026-08-03T23:04:09Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Sementry/%D0%93%D0%B0%D0%B9%D0%B4_%D0%BF%D0%BE_vizi&amp;diff=15077</id>
		<title>Участник:Sementry/Гайд по vizi</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Sementry/%D0%93%D0%B0%D0%B9%D0%B4_%D0%BF%D0%BE_vizi&amp;diff=15077"/>
				<updated>2011-12-23T00:53:41Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p align = &amp;quot;right&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Дон Хуан добавил, что в его мире подарков не раздают и что всякое знание дается в нем великим трудом.&amp;lt;/i&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p align = &amp;quot;right&amp;quot;&amp;gt;&amp;lt;i&amp;gt;(К. Кастанеда, &amp;quot;Учение Дона Хуана&amp;quot;)&amp;lt;/i&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Если вы зашли на эту страницу, то, вероятнее всего, вы не хотите самостоятельно разбираться с устаревшими недокументированными системами. Возможно, у вас нет на это времени, возможно, вам это не интересно, может быть, вам просто лень. Тем не менее, вы готовы написать много-много кода на Java и XML, а потом долго-долго его дебажить. Так или иначе, вы оказались здесь, потому что хотите разобраться с Vizi и написать визуализатор.&lt;br /&gt;
&lt;br /&gt;
Что же такое Vizi? Это, в некотором роде, фреймворк, который должен облегчить разработку визуализаторов. К сожалению, из-за плохой и незавершенной документации написание приложения с использованием vizi скорее усложняется, а не упрощается. Этот гайд написан для того, чтобы можно было более-менее сориентироваться в процессе разработки и, вопреки всем препятствиям, написать что-то адекватно работающее.&lt;br /&gt;
&lt;br /&gt;
= Подготовка =&lt;br /&gt;
&lt;br /&gt;
=== Установка ===&lt;br /&gt;
Скачиваем [http://neerc.ifmo.ru/~kgeorgiy/courses/vizi/vizi-0_4b7.rar последнюю версию Vizi], [http://neerc.ifmo.ru/~kgeorgiy/courses/vizi/vizi-0_4b6-bin.rar бинарики предпоследней], [http://neerc.ifmo.ru/~kgeorgiy/courses/vizi/classes-1.1.8.jar Java 1.1.8 classes] и [http://mirrors.sonic.net/apache//ant/binaries/apache-ant-1.8.2-bin.zip собранный Apache Ant].&lt;br /&gt;
&lt;br /&gt;
Распаковываем куда-нибудь последнюю версию Vizi. В папку meta копируем файл &amp;quot;classes-1.1.8.jar&amp;quot;. Создаем папку /meta/bin и копируем содержимое папки apache-ant-1.8.2 туда (чтобы получились папки /meta/bin/bin, /meta/bin/lib, etc.). Туда же, куда распаковали последнюю Vizi (т.е. туда, где лежит корневая папка vizi), распаковываем бинарники предпоследней, дополняя недостающие файлы. Заменять новые версии старыми не нужно.&lt;br /&gt;
&lt;br /&gt;
Теперь надо немного подправить xml-файлы для сборки, конечно, если у вас нет Java 1.1. В /meta/scripts/build/build-compile.xml исправляем debuglevel на &amp;quot;lines,vars,source&amp;quot; в 154 строчке и target на &amp;quot;1.7&amp;quot; или &amp;quot;1.6&amp;quot; (в зависимости от версии jdk). Возможно, нужно исправить что-то еще, но, мне кажется, это все. (если этого недостаточно, нужно исправить аналогичным образом строчки 137 и 138 --[[Участник:Glukos|Иван Раков]] 02:01, 18 декабря 2011 (MSK))&lt;br /&gt;
&lt;br /&gt;
=== Для пользователей Windows ===&lt;br /&gt;
Добавляем в систему переменную окружения java_home, в ней прописываем путь к jdk. Путь не должен содержать пробелов. Hint: в Windows можно заменить &amp;quot;Program Files&amp;quot; на &amp;quot;Progra~1&amp;quot;. А &amp;quot;Program Files [x86]&amp;quot; на &amp;quot;Progra~2&amp;quot;, да.&lt;br /&gt;
&lt;br /&gt;
Возвращаемся в корень папки vizi и пробуем запустить ant.bat без параметров. &lt;br /&gt;
Если я написал эту часть гайда правильно, а вы правильно выполнили предыдущие действия, то все должно скомпилироваться, вы получите сообщение &amp;quot;BUILD SUCCESSFUL&amp;quot;, а в корне появится новая папка deploy, в которой будет лежать визуализатор для поиска максимума.&lt;br /&gt;
&lt;br /&gt;
=== Для пользователей Linux ===&lt;br /&gt;
Как вы могли заметить, для сборки проекта в vizi есть файлик &amp;lt;code&amp;gt;ant.bat&amp;lt;/code&amp;gt;. Для того, чтобы получить соответствующий файл для сборки понятный Linux, выполните следующие действия:&lt;br /&gt;
&lt;br /&gt;
В системе должны быть прописаны соответственные переменные окружения. Посмотрите на свой &amp;lt;code&amp;gt;~/.profile&amp;lt;/code&amp;gt; (или на &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt;, тогда надо будет всего лишь открыть новую консоль, а не перелогиниваться --[[Участник:Dgerasimov|Дмитрий Герасимов]]) (еще можно написать все это прямо в &amp;lt;code&amp;gt;ant.sh&amp;lt;/code&amp;gt;, тогда не надо будет новую консоль открывать) и добавьте при необходимости следующие строчки:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 JAVA_HOME=/путь/к/jdk&lt;br /&gt;
 export JAVA_HOME&lt;br /&gt;
 &lt;br /&gt;
 JDK_HOME=$JAVA_HOME&lt;br /&gt;
 export JDK_HOME&lt;br /&gt;
 &lt;br /&gt;
 JRE_HOME=$JAVA_HOME/jre&lt;br /&gt;
 export JRE_HOME&lt;br /&gt;
 &lt;br /&gt;
 ANT_HOME=/путь/к/ant&lt;br /&gt;
 export ANT_HOME&lt;br /&gt;
 &lt;br /&gt;
 PATH=$PATH:$JDK_HOME/bin&lt;br /&gt;
 PATH=$PATH:$JRE_HOME/bin&lt;br /&gt;
 PATH=$PATH:$ANT_HOME/bin&lt;br /&gt;
 export PATH&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы все изменения &amp;lt;code&amp;gt;.profile&amp;lt;/code&amp;gt; вступили в силу, нужно перезагрузить машину (или завершить сеанс пользователя и снова зайти)&lt;br /&gt;
&lt;br /&gt;
Ок, переменные окружения мы прописали.&lt;br /&gt;
Теперь в папке с vizi создайте файл &amp;lt;code&amp;gt;ant.sh&amp;lt;/code&amp;gt;, дайте ему права на выполнения командой &amp;lt;code&amp;gt;chmod +x ant.sh&amp;lt;/code&amp;gt; и поместите в него следующее содержимое:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 CLASSPATH=`find meta/bin/lib -maxdepth 3 -name '*.jar' -printf '%p:'`$CLASSPATH&lt;br /&gt;
 CLASSPATH=`find $JDK_HOME -maxdepth 3 -name '*.jar' -printf '%p:'`$CLASSPATH&lt;br /&gt;
 &lt;br /&gt;
 export CLASSPATH&lt;br /&gt;
 &lt;br /&gt;
 exec \&lt;br /&gt;
 java -classpath &amp;quot;$CLASSPATH&amp;quot; \&lt;br /&gt;
 org.apache.tools.ant.Main $*&lt;br /&gt;
Запускаем командой &amp;lt;code&amp;gt;./ant.sh&amp;lt;/code&amp;gt;, должно всё получиться. В папке deploy должен валяться визуализатор примера.&lt;br /&gt;
&lt;br /&gt;
=== Дальше ===&lt;br /&gt;
Для того, чтобы скомпилировать что-то еще, нужно исправить строчку project в файле build.properties на путь к нужному проекту. Другие визуализаторы можно взять в Term3. Если у вас собирался поиск максимума, а при попытке сделать то же самое с другим визуализатором начинают появляться ошибки о недостающих классах, то можно взять их из архива rt.jar в jdk и добавить в classes-1.1.8.jar. Также можно просто заменить classes-1.1.8.jar на rt.jar, правда, если это кого-то волнует, он весит на порядок больше. UPD: проблема в том, что конкатенация строк через &amp;quot;+&amp;quot; в Java, похоже, реализована через класс StringBuilder, который появился только в 5 версии. Если вы хотите, чтобы ваш визуализатор полностью соответствовал предъявляемым к нему требованиям, воспользуйтесь методом concat().&lt;br /&gt;
&lt;br /&gt;
Ура-ура, теперь мы умеем собирать правильно написанный готовый визуализатор!&lt;br /&gt;
&lt;br /&gt;
Теперь рекомендуется открыть и прочесть docs/readme.html, если вы вдруг это еще не сделали. Что-то пока будет непонятно, но, по крайней мере, вы узнаете про параметры запуска vizi.&lt;br /&gt;
&lt;br /&gt;
= Написание визуализатора =&lt;br /&gt;
&lt;br /&gt;
Теперь можно начать писать свой собственный визуализатор. Предварительно я настоятельно рекомендую прочесть [http://neerc.ifmo.ru/~kgeorgiy/courses/vizi/XMLFormat-0_01.pdf спецификацию используемых XML-описаний].&lt;br /&gt;
&lt;br /&gt;
Структуру проекта можно посмотреть в примерах. Если вы хотите пользоваться какой-нибудь средой разработки, то, вероятно, вам понадобятся исходные коды vizi, которые поставляются вместе с ней и также лежат в папке projects/vizi, ее содержимое нужно скопировать в папку вашего проекта, тогда IDE будет знать, что за классы вы хотите использовать. Компилить проект нужно все тем же запуском ant.bat, дебагать из-под IDE не получится, используйте debug-output.&lt;br /&gt;
&lt;br /&gt;
== %your_project%.xml ==&lt;br /&gt;
&lt;br /&gt;
Берем аналогичный файл из уже готового проекта и меняем все параметры на соответствующие нашему проекту, тут проблем возникнуть не должно.&lt;br /&gt;
&lt;br /&gt;
== %your_project%-algorithm.xml ==&lt;br /&gt;
&lt;br /&gt;
Пожалуй, самая неприятная часть. Да-да, логику программы мы будем писать на языке разметки XML. Для подробных сведений о спецификации используемого метаязыка читайте указанный двумя абзацами выше файл, а также ознакомьтесь с примерами, здесь я опишу лишь некоторые подводные камни.&lt;br /&gt;
&lt;br /&gt;
У нас есть конструкции step для присвоений, if-then-else для переменных, while для циклов и call-auto для вызова функции. Можно спокойно объявлять и пользоваться одиночными переменными и массивами примитивных типов, с другими объектами могут возникнуть внезапные осложнения. В описании сказано, что переменные бывают локальными и глобальными. Это не так, переменные бывают только глобальными; главное отличие состоит в том, что значение по умолчанию у глобальных переменных обязательно присутствует, а у локальных {{---}} обязательно отсутствует. Поэтому с рекурсией все грустно, если она необходима, то, видимо, нужно написать стек самостоятельно, либо использовать на свой страх и риск объект stack, который Vizi сама пропишет(но позже там могут возникнуть проблемы с обращением автомата). Можно также схалтурить и написать основную часть кода в визуализаторе, а xml-файл менять как угодно, лишь бы только запланированное разбиение вашего алгоритма на шаги, которые будет видеть пользователь, оставалось прежним.&lt;br /&gt;
&lt;br /&gt;
Рекомендуемый способ разработки: взять тщательно протестированный и уже сданный код вашего алгоритма на Java, выкинуть из него все сложные классы и языковые конструкции, включая рекурсию и циклы for и свалить все переменные в одну кучу &amp;quot;class Data&amp;quot;. Сохраните люмпенизированный таким образом код и убедитесь в том, что он все еще работает так, как надо. Теперь полученный код можно постепенно перерабатывать в xml-файл, окружая все действия нужными тегами. Пока лучше ничего не рисовать, тег draw можно добавить и потом.&lt;br /&gt;
&lt;br /&gt;
Аргументы в комментарии к шагу задаются как {0}, {1}, etc. Если вы не хотите показывать какой-то шаг пользователю, комментария у него нет, а он все равно показывается, сделайте значение level равным -1.&lt;br /&gt;
&lt;br /&gt;
Когда все напишете, запустите ant.bat с параметром debug-source. Если где-то есть ошибка, то вам скажут, где именно. Если все написано верно, то версия кода для дебага должна появиться в папке src/ru/ifmo/vizi/%your_project%/%your_project%Debug.java. Сравните ее на похожесть с ранее упрощенным кодом, должно получиться примерно то же самое. Подебажьте сгенерированный код и убедитесь в том, что оно и работает так, как запланировано. Если все хорошо, то можно запустить ant.bat без параметров, сборка не дойдет до конца, но вы сгенерируете код src/ru/ifmo/vizi/%your_project%/%your_project%.java, который написан уже в стиле автоматного программирования и пригодится вам для написания визуализатора в вашей любимой IDE.&lt;br /&gt;
&lt;br /&gt;
== %your_project%-configuration.xml ==&lt;br /&gt;
&lt;br /&gt;
Из этого файла будут подгружаться все параметры для вашего визуализатора. Никаких констант, все должно конфигурироваться через XML! Опять же, начать можно с частей уже готовых проектов, оставив более тонкую настройку на потом.&lt;br /&gt;
&lt;br /&gt;
== src/ru/ifmo/vizi/%your_project%/%your_project%Visualizer.java ==&lt;br /&gt;
&lt;br /&gt;
Рекомендуемый способ разработки: взять аналогичный код для поиска максимума и выкинуть из него все лишнее, запустить ant.bat без параметров, убедиться в том, что визуализатор собирается и запускается. Если все прошло успешно, то при запуске вы увидите окошко белого цвета с серой панелькой внизу. На заднем плане будет чернеть консолька, ее, как уже было ранее упомянуто, полезно использовать для debug-output'а.&lt;br /&gt;
&lt;br /&gt;
На этом этапе полезно запустить ant.bat c параметром docs и почитать сгенерированный javadoc.&lt;br /&gt;
&lt;br /&gt;
Если вам нужен какой-то компонент, которого нет в vizi, то ищите его в AWT. Если вам нужен какой-то графический примитив, то, возможно, придется написать его самостоятельно. Код некоторых графических примитивов можно посмотреть, например, в SegmentsTree\src\ru\ifmo\vizi\SegmentsTree\widgets.&lt;br /&gt;
&lt;br /&gt;
Больше я не могу посоветовать ничего конкретного, читайте исходники (лучше не читать исходники поиска максимума, черта с два вы напишете что-то работающее так же) и смотрите, как визуализация устроена там.&lt;br /&gt;
&lt;br /&gt;
== Как дебажить визуализатор ==&lt;br /&gt;
Хинт для тех, кто хочет дебажить финальную версию своего визуализатора в своей IDE. Подключите к своему проекту исходники vizi и два jar файла: vizi-0.4b7.jar и jar вашего визуализатора. И создайте класс, где вы будете запускать FrameView.main(). В аргументах main укажите локаль.&lt;br /&gt;
&lt;br /&gt;
== ссылки ==&lt;br /&gt;
* [http://dl.dropbox.com/u/29995484/vizi.zip] - моя папка vizi, со всеми необходимыми частями и всевозможным мусором;&lt;br /&gt;
* [http://neerc.ifmo.ru/~kgeorgiy/courses/vizi/] - страничка vizi на neerc.ifmo.ru.&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D1%8B_%D0%9A%D0%B0%D1%80%D0%B7%D0%B0%D0%BD%D0%BE%D0%B2%D0%B0_%D0%BE_%D1%87%D0%B8%D1%81%D0%BB%D0%B5_%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%94%D0%B8%D0%BD%D0%B8%D1%86%D0%B0_%D0%B2_%D1%81%D0%B5%D1%82%D0%B8_%D1%81_%D1%86%D0%B5%D0%BB%D0%BE%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8_%D0%BF%D1%80%D0%BE%D0%BF%D1%83%D1%81%D0%BA%D0%BD%D1%8B%D0%BC%D0%B8_%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BD%D0%BE%D1%81%D1%82%D1%8F%D0%BC%D0%B8&amp;diff=14594</id>
		<title>Теоремы Карзанова о числе итераций алгоритма Диница в сети с целочисленными пропускными способностями</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D1%8B_%D0%9A%D0%B0%D1%80%D0%B7%D0%B0%D0%BD%D0%BE%D0%B2%D0%B0_%D0%BE_%D1%87%D0%B8%D1%81%D0%BB%D0%B5_%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%94%D0%B8%D0%BD%D0%B8%D1%86%D0%B0_%D0%B2_%D1%81%D0%B5%D1%82%D0%B8_%D1%81_%D1%86%D0%B5%D0%BB%D0%BE%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8_%D0%BF%D1%80%D0%BE%D0%BF%D1%83%D1%81%D0%BA%D0%BD%D1%8B%D0%BC%D0%B8_%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BD%D0%BE%D1%81%D1%82%D1%8F%D0%BC%D0%B8&amp;diff=14594"/>
				<updated>2011-12-15T05:41:12Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Лемма&lt;br /&gt;
|statement=Пусть &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; - блокирующий поток в сети &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; - исток и сток, соответственно. Тогда &amp;lt;tex&amp;gt;\rho_{G}(s, t) &amp;lt; \rho_{G_{f}}(s, t)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, в котором &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; - исток и сток, соответственно.&lt;br /&gt;
Для &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - вершины, не являющейся истоком или стоком:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;c^{+}(v) = \sum\limits_{uv \in E} c_{uv}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;c^{-}(v) = \sum\limits_{vu \in E} c_{vu}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;c^{+}(s) = +\infty&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;c^{-}(t) = +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;c(v) = min(c^{+}(v), c^{-}(v))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;c(G) = \sum\limits_{v \in V}c(v)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th1. &lt;br /&gt;
|about=Первая теорема Карзанова&lt;br /&gt;
|statement=Число итераций алгоритма Диница в сети &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; - исток и сток, соответственно.) с целочисленными пропускными способностями - &amp;lt;tex&amp;gt;O(\sqrt{c(G)})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=Разобьём все итерации на 2 группы:&lt;br /&gt;
&lt;br /&gt;
1). Короткие фазы - когда &amp;lt;tex&amp;gt;\rho(s, t) \leq k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2). Длинные фазы - когда &amp;lt;tex&amp;gt;\rho(s, t) &amp;gt; k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Коротких фаз - &amp;lt;tex&amp;gt;O(k)&amp;lt;/tex&amp;gt; штук, т.к. после каждой итерации &amp;lt;tex&amp;gt;\rho(s, t)&amp;lt;/tex&amp;gt; увеличивается, но не может быть больше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Длинные фазы:&lt;br /&gt;
Число длинных фаз &amp;lt;tex&amp;gt;\leq&amp;lt;/tex&amp;gt; количество путей из &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; длины  больше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \leq \frac{\sum\limits_{v \in V} c(v)}{k} = \frac{c(G)}{k}&amp;lt;/tex&amp;gt;. (т.к. через вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не может пройти больше &amp;lt;tex&amp;gt;c(v)&amp;lt;/tex&amp;gt; путей, а на каждом пути лежит &amp;lt;tex&amp;gt;\geq k&amp;lt;/tex&amp;gt; вершин.)&lt;br /&gt;
&lt;br /&gt;
Получается, что число длинных фаз - &amp;lt;tex&amp;gt;O(\frac{c(G)}{k})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Давайте возьмём &amp;lt;tex&amp;gt;k = \sqrt{c(G)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Получим, что количество фаз - &amp;lt;tex&amp;gt;O(\sqrt{c(G)})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
А, значит, что количество итераций тоже - &amp;lt;tex&amp;gt;O(\sqrt{c(G)})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th2&lt;br /&gt;
|about=Вторая теорема Карзанова&lt;br /&gt;
|statement=Число итераций алгоритма Диница в сети &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; - исток и сток, соответственно.) с целочисленными пропускными способностями меньше &amp;lt;tex&amp;gt;c_{max}&amp;lt;/tex&amp;gt; - &amp;lt;tex&amp;gt;O(\sqrt[3]{{|V|}^2 c_{max}})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B0_%D0%B2_%D0%B0%D1%86%D0%B8%D0%BA%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8&amp;diff=14560</id>
		<title>Алгоритм поиска блокирующего потока в ациклической сети</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B0_%D0%B2_%D0%B0%D1%86%D0%B8%D0%BA%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8&amp;diff=14560"/>
				<updated>2011-12-15T01:55:10Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Асимптотика */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Жадный Алгоритм==&lt;br /&gt;
===Идея===&lt;br /&gt;
Идея заключается в том, чтобы по одному находить пути из &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, пока это возможно.&lt;br /&gt;
&lt;br /&gt;
===Асимптотика===&lt;br /&gt;
Используя &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; каждый путь находится за &amp;lt;tex&amp;gt;O(E)&amp;lt;/tex&amp;gt;. Поскольку каждый путь насыщает как минимум одно ребро, всего будет &amp;lt;tex&amp;gt;O(E)&amp;lt;/tex&amp;gt; путей. Итого общая асимптотика составляет &amp;lt;tex&amp;gt;O(E^2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Удаляющий обход==&lt;br /&gt;
===Идея===&lt;br /&gt;
По-прежнему по одному находятся пути из &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, но применяется следующая оптимизация: в процессе обхода в глубину удаляются все ребра, вдоль которых нельзя дойти до стока. То есть, если для текущей вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;dfs(v) = false&amp;lt;/tex&amp;gt;, нужно удалить из графа эту вершину и все инцидентные ей ребра. С точки зрения реализации, надо просто поддерживать в списке смежности каждой вершины указатель на первое неудалённое ребро, и увеличивать этот указатель в цикле внутри обхода в глубину.&lt;br /&gt;
&lt;br /&gt;
===Асимптотика===&lt;br /&gt;
Если обход в глубину достигает стока, насыщается как минимум одно ребро, иначе как минимум один указатель продвигается вперед. Значит один запуск обхода в глубину работает за &amp;lt;tex&amp;gt;O(V + K)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;K&amp;lt;/tex&amp;gt; - число продвижения указателей. Учитывая, что всего запусков обхода в глубину в рамках поиска одного [[Блокирующий поток|блокирующего потока]] будет &amp;lt;tex&amp;gt;O(P)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; — число рёбер, насыщенных этим блокирующим потоком, то весь алгоритм поиска блокирующего потока отработает за &amp;lt;tex&amp;gt;O(PV + \sum\limits_i{K_i})&amp;lt;/tex&amp;gt;, что, учитывая, что все указатели в сумме прошли расстояние &amp;lt;tex&amp;gt;O(E)&amp;lt;/tex&amp;gt;, дает асимптотику &amp;lt;tex&amp;gt;O(PV + E)&amp;lt;/tex&amp;gt;. В худшем случае, когда блокирующий поток насыщает все ребра, асимптотика получается &amp;lt;tex&amp;gt;O(VE)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Замечание&amp;lt;/b&amp;gt; Если в [[Схема алгоритма Диница|алгоритме Диница]] искать блокирующий поток удаляющим обходом, то его эффективность составит &amp;lt;tex&amp;gt;O(V^2E)&amp;lt;/tex&amp;gt;, что уже лучше эффективности алгоритма Эдмондса-Карпа &amp;lt;tex&amp;gt;O(VE^2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Алгоритм узкого места==&lt;br /&gt;
===Идея===&lt;br /&gt;
Для каждой вершины  вводится потенциал потока, равный максимальному дополнительному потоку, который может пройти через эту вершину. Далее следует цикл. На каждой его итерации определяется вершина &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; с минимальным потенциалом &amp;lt;tex&amp;gt;\rho&amp;lt;/tex&amp;gt;. Затем пускается поток величины &amp;lt;tex&amp;gt;\rho&amp;lt;/tex&amp;gt; из истока в сток, проходящий через эту вершину. При этом если остаточная пропускная способность ребра равна нулю, то это ребро удаляется. Также, удаляются все вершины, у которых не остаётся ни одного входящего и/или ни одного выходящего ребра. При удалении вершины все смежные ребра удаляются.&lt;br /&gt;
&lt;br /&gt;
===Асимптотика===&lt;br /&gt;
Если информация о входящих и исходящих дугах будет храниться в виде связных списков, то для того, чтобы пропустить поток, на каждой итерации будет выполнено &amp;lt;tex&amp;gt;O(V + E_i)&amp;lt;/tex&amp;gt; действий, где &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; соответствует числу рёбер, для которых остаточная пропускная способность уменьшилась, но осталась положительной, а &amp;lt;tex&amp;gt;E_i&amp;lt;/tex&amp;gt; — числу удалённых ребер. Таким образом, для поиска блокирующего потока будет выполнено &amp;lt;tex&amp;gt;\sum\limits_i{O(V+E_i)} = O(V^2)&amp;lt;/tex&amp;gt; действий.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Замечание&amp;lt;/b&amp;gt; Алгоритм Малхотры — Кумара — Махешвари для поиска блокирующего потока использует алгоритм узкого места.&lt;br /&gt;
&lt;br /&gt;
==Волновой алгоритм==&lt;br /&gt;
Используя предпотоки, позволяет найти блокирующий поток за &amp;lt;tex&amp;gt;O(V^2)&amp;lt;/tex&amp;gt;. Модификация алгоритма Диница, основанная на этом алгоритме, называется алгоритмом Карзанова.&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
* http://ru.wikipedia.org&lt;br /&gt;
* http://e-maxx.ru&lt;br /&gt;
* http://algolist.manual.ru&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B0_%D0%B2_%D0%B0%D1%86%D0%B8%D0%BA%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8&amp;diff=14559</id>
		<title>Алгоритм поиска блокирующего потока в ациклической сети</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B0_%D0%B2_%D0%B0%D1%86%D0%B8%D0%BA%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8&amp;diff=14559"/>
				<updated>2011-12-15T01:51:39Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Идея */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Жадный Алгоритм==&lt;br /&gt;
===Идея===&lt;br /&gt;
Идея заключается в том, чтобы по одному находить пути из &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, пока это возможно.&lt;br /&gt;
&lt;br /&gt;
===Асимптотика===&lt;br /&gt;
Используя &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; каждый путь находится за &amp;lt;tex&amp;gt;O(E)&amp;lt;/tex&amp;gt;. Поскольку каждый путь насыщает как минимум одно ребро, всего будет &amp;lt;tex&amp;gt;O(E)&amp;lt;/tex&amp;gt; путей. Итого общая асимптотика составляет &amp;lt;tex&amp;gt;O(E^2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Удаляющий обход==&lt;br /&gt;
===Идея===&lt;br /&gt;
По-прежнему по одному находятся пути из &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, но применяется следующая оптимизация: в процессе обхода в глубину удаляются все ребра, вдоль которых нельзя дойти до стока. То есть, если для текущей вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;dfs(v) = false&amp;lt;/tex&amp;gt;, нужно удалить из графа эту вершину и все инцидентные ей ребра. С точки зрения реализации, надо просто поддерживать в списке смежности каждой вершины указатель на первое неудалённое ребро, и увеличивать этот указатель в цикле внутри обхода в глубину.&lt;br /&gt;
&lt;br /&gt;
===Асимптотика===&lt;br /&gt;
Если обход в глубину достигает стока, насыщается как минимум одно ребро, иначе как минимум один указатель продвигается вперед. Значит один запуск обхода в глубину работает за &amp;lt;tex&amp;gt;O(V + K)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;K&amp;lt;/tex&amp;gt; - число продвижения указателей. Учитывая, что всего запусков обхода в глубину в рамках поиска одного [[Блокирующий поток|блокирующего потока]] будет &amp;lt;tex&amp;gt;O(P)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; — число рёбер, насыщенных этим блокирующим потоком, то весь алгоритм поиска блокирующего потока отработает за &amp;lt;tex&amp;gt;O(PV + \sum\limits_i{K_i})&amp;lt;/tex&amp;gt;, что, учитывая, что все указатели в сумме прошли расстояние &amp;lt;tex&amp;gt;O(E)&amp;lt;/tex&amp;gt;, дает асимптотику &amp;lt;tex&amp;gt;O(PV + E)&amp;lt;/tex&amp;gt;. В худшем случае, когда блокирующий поток насыщает все ребра, асимптотика получается &amp;lt;tex&amp;gt;O(VE)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Замечание&amp;lt;/b&amp;gt; Если в [[Схема алгоритма Диница|алгоритме Диница]] искать блокирующий поток удаляющим обходом, то его эффективность составит &amp;lt;tex&amp;gt;O(V^2E)&amp;lt;/tex&amp;gt;, что уже лучше эффективности алгоритма Эдмондса-Карпа &amp;lt;tex&amp;gt;(O(VE^2))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Алгоритм узкого места==&lt;br /&gt;
===Идея===&lt;br /&gt;
Для каждой вершины  вводится потенциал потока, равный максимальному дополнительному потоку, который может пройти через эту вершину. Далее следует цикл. На каждой его итерации определяется вершина &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; с минимальным потенциалом &amp;lt;tex&amp;gt;\rho&amp;lt;/tex&amp;gt;. Затем пускается поток величины &amp;lt;tex&amp;gt;\rho&amp;lt;/tex&amp;gt; из истока в сток, проходящий через эту вершину. При этом если остаточная пропускная способность ребра равна нулю, то это ребро удаляется. Также, удаляются все вершины, у которых не остаётся ни одного входящего и/или ни одного выходящего ребра. При удалении вершины все смежные ребра удаляются.&lt;br /&gt;
&lt;br /&gt;
===Асимптотика===&lt;br /&gt;
Если информация о входящих и исходящих дугах будет храниться в виде связных списков, то для того, чтобы пропустить поток, на каждой итерации будет выполнено &amp;lt;tex&amp;gt;O(V + E_i)&amp;lt;/tex&amp;gt; действий, где &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; соответствует числу рёбер, для которых остаточная пропускная способность уменьшилась, но осталась положительной, а &amp;lt;tex&amp;gt;E_i&amp;lt;/tex&amp;gt; — числу удалённых ребер. Таким образом, для поиска блокирующего потока будет выполнено &amp;lt;tex&amp;gt;\sum\limits_i{O(V+E_i)} = O(V^2)&amp;lt;/tex&amp;gt; действий.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Замечание&amp;lt;/b&amp;gt; Алгоритм Малхотры — Кумара — Махешвари для поиска блокирующего потока использует алгоритм узкого места.&lt;br /&gt;
&lt;br /&gt;
==Волновой алгоритм==&lt;br /&gt;
Используя предпотоки, позволяет найти блокирующий поток за &amp;lt;tex&amp;gt;O(V^2)&amp;lt;/tex&amp;gt;. Модификация алгоритма Диница, основанная на этом алгоритме, называется алгоритмом Карзанова.&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
* http://ru.wikipedia.org&lt;br /&gt;
* http://e-maxx.ru&lt;br /&gt;
* http://algolist.manual.ru&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14231</id>
		<title>Количество помеченных деревьев</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14231"/>
				<updated>2011-12-10T06:04:50Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Помеченное дерево ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Помеченным деревом порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; называется [[Дерево, эквивалентные определения|дерево]], вершинам которого взаимно однозначно соответствуют числа от 1 до n.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Количество помеченных деревьев ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=Формула Кэли&lt;br /&gt;
|statement=Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Можно доказать формулу двумя способами:&lt;br /&gt;
* ''Доказательство 1.'' Так как между помеченными деревьями порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и последовательностями длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует биекция ([[Коды Прюфера|Код Прюфера]]), &amp;lt;br&amp;gt; то количество помеченных деревьев = количество последовательностей длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* ''Доказательство 2.'' С помощью [[Подсчет числа остовных деревьев с помощью матрицы Кирхгофа |матрицы Кирхгофа]] для полного графа на &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинах. Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, очевидно, равно числу остовов в полном графе &amp;lt;tex&amp;gt;K_n&amp;lt;/tex&amp;gt;, которое есть &amp;lt;tex&amp;gt;n^{n-2}&amp;lt;/tex&amp;gt; по следствию теоремы Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://rain.ifmo.ru/cat/view.php/theory/graph-general/cayley-2008 Дискретная математика: Алгоритмы. Формула Кэли]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14230</id>
		<title>Количество помеченных деревьев</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14230"/>
				<updated>2011-12-10T06:04:24Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Помеченное дерево */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Помеченное дерево ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Помеченным деревом порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; называется [[Дерево, эквивалентные определения|дерево]], вершинам которого взаимно однозначно соответствуют числа от 1 до n.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Количество помеченных деревьев ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=Формула Кэли&lt;br /&gt;
|statement=Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Можно доказать формулу двумя способами:&lt;br /&gt;
* ''Доказательство 1.'' Так как между помеченными деревьями порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и последовательностями длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует биекция ([[Коды Прюфера|Код Прюфера]]), &amp;lt;br&amp;gt; то количество помеченных деревьев = количество последовательностей длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* ''Доказательство 2.'' С помощью [[Подсчет числа остовных деревьев с помощью матрицы Кирхгофа |матрицы Кирхгофа]] для полного графа на &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинах. Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, очевидно, равно числу остовов в полном графе &amp;lt;tex&amp;gt;K_n&amp;lt;/tex&amp;gt;, которое есть &amp;lt;tex&amp;gt;n^{n-2}&amp;lt;/tex&amp;gt; по следствию теоремы Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://rain.ifmo.ru/cat/view.php/theory/graph-general/cayley-2008 Дискретная математика: Алгоритмы. Формула Кэли]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=14229</id>
		<title>Коды Прюфера</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=14229"/>
				<updated>2011-12-10T06:03:40Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Коды Прюфера. ==&lt;br /&gt;
Кодирование Прюфера переводит помеченные деревья порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в последовательность чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; по алгоритму:&lt;br /&gt;
  Пока количество вершин больше одной {&lt;br /&gt;
    1. Выбирается лист &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; с минимальным номером.&lt;br /&gt;
    2. В код Прюфера добавляется номер вершины, смежной с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
    3. Вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и инцидентное ей ребро удаляются из дерева.&lt;br /&gt;
  }&lt;br /&gt;
Полученная последовательность называется '''кодом Прюфера''' для заданного дерева.&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Номер вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; встречается в коде Прюфера тогда и только тогда, когда &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не является листом или &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; имеет номер &amp;lt;tex&amp;gt;n&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;n&amp;lt;/tex&amp;gt; встретилось в коде.&lt;br /&gt;
# Если вершина не является листом, то у неё на некотором шаге была смежная вершина &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; лист, следовательно номер этой вершины встречается в коде.&lt;br /&gt;
# Если вершина является листом с номером меньше &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, то она была удалена до того, как был удален ее сосед, следовательно ее номер не встречается в коде.&lt;br /&gt;
&lt;br /&gt;
Таким образом, номера всех вершин, не являющихся листьями или имеющих номер &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, встречаются в коде Прюфера, а остальные &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; нет.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
По любой последовательности длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; можно построить помеченное дерево,&lt;br /&gt;
для которого эта последовательность является кодом Прюфера.&lt;br /&gt;
|proof=&lt;br /&gt;
Доказательство проведем по индукции.&lt;br /&gt;
База. &amp;lt;tex&amp;gt;n = 1&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; верно.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Переход от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; к &amp;lt;tex&amp;gt;n + 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть у нас есть последовательность: &amp;lt;tex&amp;gt;A = [a_1, a_2, ..., a_{n - 2}].&amp;lt;/tex&amp;gt;&lt;br /&gt;
Выберем минимальное число &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не лежащее в &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. По предыдущей лемме &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; вершина, которую мы удалили первой. Соединим &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt; ребром. Выкинем из последовательности &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; число &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt;. Перенумеруем вершины, для всех &amp;lt;tex&amp;gt;a_i &amp;gt; v&amp;lt;/tex&amp;gt; заменим &amp;lt;tex&amp;gt;a_i&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;a_i - 1&amp;lt;/tex&amp;gt;. А теперь мы можем применить предположение индукции.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Кодирование Прюфера задаёт биекцию между множествами помеченных деревьев порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; и последовательностями длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
# Каждому помеченному дереву приведенный алгоритм сопоставляет последовательность.&lt;br /&gt;
# Каждой последовательности, как следует из предыдущей леммы, соотвествует помеченное дерево.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Следствием из этой теоремы является [[Количество помеченных деревьев|формула Кэли]].&lt;br /&gt;
&lt;br /&gt;
== Пример построения кода Прюфера ==&lt;br /&gt;
[[Файл: Prufer.png|500px]]&lt;br /&gt;
&lt;br /&gt;
== Пример декодирования кода Прюфера ==&lt;br /&gt;
[[Файл: backprufer.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://www.intuit.ru/department/algorithms/graphsuse/11/2.html Интернет Университет INTUIT | Представление с помощью списка ребер и кода Прюфера]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D1%81%D1%87%D1%91%D1%82_%D1%87%D0%B8%D1%81%D0%BB%D0%B0_%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_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=14228</id>
		<title>Подсчёт числа остовных деревьев с помощью матрицы Кирхгофа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D1%81%D1%87%D1%91%D1%82_%D1%87%D0%B8%D1%81%D0%BB%D0%B0_%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_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=14228"/>
				<updated>2011-12-10T06:01:59Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; обыкновенный &amp;lt;tex&amp;gt;(n, n - 1)&amp;lt;/tex&amp;gt;-[[Основные определения теории графов|граф]], &amp;lt;tex&amp;gt;n \ge 2 &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;M&amp;lt;/tex&amp;gt; - произвольный минор порядка &amp;lt;tex&amp;gt;n - 1&amp;lt;/tex&amp;gt; матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
# если &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; не является [[Дерево, эквивалентные определения|деревом]], то &amp;lt;tex&amp;gt;M = 0&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# если &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; дерево, то &amp;lt;tex&amp;gt;M = \pm 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Заметим, что смена нумерации вершин и нумерации ребер графа &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; приводит к перестановке строк и перестановке столбцов матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;. Рассматриваемый минор при этом может сменить лишь знак.&amp;lt;br/&amp;gt;&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; вершина, соответствующая строке матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;, не вошедшей в матрицу минора &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Пусть &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; не является деревом. Тогда граф &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; несвязен. Пусть &amp;lt;tex&amp;gt;v_1, ..., v_t&amp;lt;/tex&amp;gt; - множество вершин некоторой [[Отношение связности, компоненты связности|компоненты связности]] &amp;lt;tex&amp;gt;H_1&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt;, не содержащей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
## Если &amp;lt;tex&amp;gt;t = 1&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; - изолированная вершина и в матрице минора &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; имеется нулевая строка, поэтому &amp;lt;tex&amp;gt;M = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
## Пусть &amp;lt;tex&amp;gt;t &amp;gt; 1&amp;lt;/tex&amp;gt;. С помощью подходящей перенумерации вершин и ребер из &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; матрицу &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; приведем к клеточному виду &amp;lt;br/&amp;gt; &amp;lt;center&amp;gt;&amp;lt;tex&amp;gt;\begin{pmatrix} I_1 &amp;amp; 0\\0 &amp;amp; I_2 \end{pmatrix}&amp;lt;/tex&amp;gt;, &amp;lt;/center&amp;gt;&amp;lt;br/&amp;gt;где &amp;lt;tex&amp;gt;I_1&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; матрица инцидентности ориентации компоненты &amp;lt;tex&amp;gt;H_1&amp;lt;/tex&amp;gt;, а вершине &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; отвечает строка, проходящая через &amp;lt;tex&amp;gt;I_2&amp;lt;/tex&amp;gt;. Каждый столбец, проходящий через &amp;lt;tex&amp;gt;I_1&amp;lt;/tex&amp;gt;, содержит точно одну единицу и точно одну &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; (остальные элементы равны нулю). Следовательно, сумма первых &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; строк равна &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Так как первые &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; строк входят в матрицу минора &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, имеем &amp;lt;tex&amp;gt;M = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Пусть &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; является деревом. Заново перенумеруем вершины и ребра графа &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; с помощью следующей процедуры. В качестве &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; возьмем одну из висячих вершин дерева &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt;, отличную от &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Через &amp;lt;tex&amp;gt;e_1&amp;lt;/tex&amp;gt; обозначим инцидентное ей висячее ребро. Рассмотрим дерево &amp;lt;tex&amp;gt;H_1 = H - v_1&amp;lt;/tex&amp;gt;. Если его порядок &amp;lt;tex&amp;gt;\ge 2&amp;lt;/tex&amp;gt;, то через &amp;lt;tex&amp;gt;v_2&amp;lt;/tex&amp;gt; обозначим одну из висячих вершин, отличных от &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, а через &amp;lt;tex&amp;gt;e_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; инцидентное ей висячее ребро. Положим &amp;lt;tex&amp;gt;H_2 = H_1 - e_2&amp;lt;/tex&amp;gt;. Продолжаем этот процесс до тех пор, пока не получим одноэлементное дерево &amp;lt;tex&amp;gt;H_{n-1}&amp;lt;/tex&amp;gt;, единственной вершиной которого обязательно будет вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Получим нумерацию вершин &amp;lt;tex&amp;gt;v_1, ..., v_n = v&amp;lt;/tex&amp;gt; и нумерацию ребер &amp;lt;tex&amp;gt;e_1, ..., e_{n-1}&amp;lt;/tex&amp;gt;. В новой нумерации матрица &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; приведется к виду&amp;lt;br/&amp;gt;&amp;lt;center&amp;gt;&amp;lt;tex&amp;gt;\begin{pmatrix} \pm 1 &amp;amp; 0 &amp;amp;\cdots &amp;amp;0\\* &amp;amp; \pm 1 &amp;amp; \cdots &amp;amp; 0\\ \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots\\ * &amp;amp; * &amp;amp; \cdots &amp;amp; \pm 1\\ * &amp;amp; * &amp;amp; \cdots &amp;amp; * \end{pmatrix}&amp;lt;/tex&amp;gt;,&amp;lt;/center&amp;gt;&amp;lt;br/&amp;gt; причем вершине &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; отвечает последняя строка (здесь каждый диагональный элемент равен &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt;, а через &amp;lt;tex&amp;gt;*&amp;lt;/tex&amp;gt; обозначены элементы матрицы, значения которых не вписаны в явном виде). Таким образом, матрица минора имеет треугольный вид и &amp;lt;tex&amp;gt;M = \pm1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; соответственно &amp;lt;tex&amp;gt;(s \times t)&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt;матрица и &amp;lt;tex&amp;gt;(t \times s)&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt;матрица, где &amp;lt;tex&amp;gt;s \le t&amp;lt;/tex&amp;gt;. Положим &amp;lt;tex&amp;gt;C = PQ&amp;lt;/tex&amp;gt;. Минор порядка &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; матрицы &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt; называется '''соответствующим минором минору порядка &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; матрицы &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;''', если множество номеров строк, составляющих матрицу первого минора, равно множеству номеров столбцов, составляющих матрицу второго минора.&lt;br /&gt;
}}&lt;br /&gt;
{{Теорема&lt;br /&gt;
|about=&lt;br /&gt;
Формула Бине-Коши&lt;br /&gt;
|statement=&lt;br /&gt;
Определитель матрицы &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; равен сумме всевозможных попарных произведений миноров порядка &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; матрицы &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; на соответствующие миноры матрицы &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Следствие'''&amp;lt;br/&amp;gt;&lt;br /&gt;
При &amp;lt;tex&amp;gt;s = t&amp;lt;/tex&amp;gt; определитель произведения двух квадратных матриц порядка &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; равен произведению определителей этих матриц&lt;br /&gt;
{{Теорема&lt;br /&gt;
|about=&lt;br /&gt;
Кирхгоф, 1847&lt;br /&gt;
|statement=&lt;br /&gt;
Число остовов в связном неодноэлементном обыкновенном графе &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; равно алгебраическому дополнению любого элемента [[Матрица Кирхгофа|матрицы Кирхгофа]] &amp;lt;tex&amp;gt;B(G)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; произвольный связный обыкновенный &amp;lt;tex&amp;gt;(n, m)&amp;lt;/tex&amp;gt;-граф, &amp;lt;tex&amp;gt;n \ge 2&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;G&amp;lt;/tex&amp;gt;. Заметим, что &amp;lt;tex&amp;gt;m \ge n - 1&amp;lt;/tex&amp;gt; в силу связности графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. По [[Связь матрицы Кирхгофа и матрицы инцидентности|лемме]] выполняется &amp;lt;tex&amp;gt;B = B(G) = I \cdot I^T&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;B'&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; подматрица матрицы &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;, полученная удалением последней строки. Тогда имеем &amp;lt;tex&amp;gt;B' = JJ^T&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;J&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; это &amp;lt;tex&amp;gt;((n - 1) \times m)&amp;lt;/tex&amp;gt; - матрица. Очевидно, &amp;lt;tex&amp;gt;B_{nn} = det B'&amp;lt;/tex&amp;gt; есть алгебраическое дополнение элемента &amp;lt;tex&amp;gt;\beta_{nn}&amp;lt;/tex&amp;gt; в матрице Кирхгофа &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В силу формулы Бине-Коши &amp;lt;tex&amp;gt;B_{nn}&amp;lt;/tex&amp;gt; равно сумме квадратов всех миноров порядка &amp;lt;tex&amp;gt;(n - 1)&amp;lt;/tex&amp;gt; матрицы &amp;lt;tex&amp;gt;J&amp;lt;/tex&amp;gt;. Согласно лемме, доказанной выше, каждый такой минор &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; равен &amp;lt;tex&amp;gt;\pm 1&amp;lt;/tex&amp;gt;, если остовный подграф графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, ребра которого соответствуют столбцам, вошедшим в матрицу минора &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, является деревом, и равен &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; в другом случае. Следовательно, &amp;lt;tex&amp;gt;B_{nn}&amp;lt;/tex&amp;gt; равно числу остовов графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Осталось отметить, что по лемме алгебраические дополнения всех элементов матрицы Кирхгофа равны между собой.&lt;br /&gt;
}}&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D1%81%D1%87%D1%91%D1%82_%D1%87%D0%B8%D1%81%D0%BB%D0%B0_%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_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=14227</id>
		<title>Подсчёт числа остовных деревьев с помощью матрицы Кирхгофа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D1%81%D1%87%D1%91%D1%82_%D1%87%D0%B8%D1%81%D0%BB%D0%B0_%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_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=14227"/>
				<updated>2011-12-10T06:00:43Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; обыкновенный &amp;lt;tex&amp;gt;(n, n - 1)&amp;lt;/tex&amp;gt;-[[Основные определения теории графов|граф]], &amp;lt;tex&amp;gt;n \ge 2 &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;M&amp;lt;/tex&amp;gt; - произвольный минор порядка &amp;lt;tex&amp;gt;n - 1&amp;lt;/tex&amp;gt; матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
# если &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; не является [[Дерево, эквивалентные определения|деревом]], то &amp;lt;tex&amp;gt;M = 0&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# если &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; дерево, то &amp;lt;tex&amp;gt;M = \pm 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Заметим, что смена нумерации вершин и нумерации ребер графа &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; приводит к перестановке строк и перестановке столбцов матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;. Рассматриваемый минор при этом может сменить лишь знак.&amp;lt;br/&amp;gt;&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; вершина, соответствующая строке матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;, не вошедшей в матрицу минора &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Пусть &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; не является деревом. Тогда граф &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; несвязен. Пусть &amp;lt;tex&amp;gt;v_1, ..., v_t&amp;lt;/tex&amp;gt; - множество вершин некоторой [[Отношение связности, компоненты связности|компоненты связности]] &amp;lt;tex&amp;gt;H_1&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt;, не содержащей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
## Если &amp;lt;tex&amp;gt;t = 1&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; - изолированная вершина и в матрице минора &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; имеется нулевая строка, поэтому &amp;lt;tex&amp;gt;M = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
## Пусть &amp;lt;tex&amp;gt;t &amp;gt; 1&amp;lt;/tex&amp;gt;. С помощью подходящей перенумерации вершин и ребер из &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; матрицу &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; приведем к клеточному виду &amp;lt;br/&amp;gt; &amp;lt;center&amp;gt;&amp;lt;tex&amp;gt;\begin{pmatrix} I_1 &amp;amp; 0\\0 &amp;amp; I_2 \end{pmatrix}&amp;lt;/tex&amp;gt;, &amp;lt;/center&amp;gt;&amp;lt;br/&amp;gt;где &amp;lt;tex&amp;gt;I_1&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; матрица инцидентности ориентации компоненты &amp;lt;tex&amp;gt;H_1&amp;lt;/tex&amp;gt;, а вершине &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; отвечает строка, проходящая через &amp;lt;tex&amp;gt;I_2&amp;lt;/tex&amp;gt;. Каждый столбец, проходящий через &amp;lt;tex&amp;gt;I_1&amp;lt;/tex&amp;gt;, содержит точно одну единицу и точно одну &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt; (остальные элементы равны нулю). Следовательно, сумма первых &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; строк равна &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Так как первые &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; строк входят в матрицу минора &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, имеем &amp;lt;tex&amp;gt;M = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Пусть &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; является деревом. Заново перенумеруем вершины и ребра графа &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; с помощью следующей процедуры. В качестве &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; возьмем одну из висячих вершин дерева &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt;, отличную от &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Через &amp;lt;tex&amp;gt;e_1&amp;lt;/tex&amp;gt; обозначим инцидентное ей висячее ребро. Рассмотрим дерево &amp;lt;tex&amp;gt;H_1 = H - v_1&amp;lt;/tex&amp;gt;. Если его порядок &amp;lt;tex&amp;gt;\ge 2&amp;lt;/tex&amp;gt;, то через &amp;lt;tex&amp;gt;v_2&amp;lt;/tex&amp;gt; обозначим одну из висячих вершин, отличных от &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, а через &amp;lt;tex&amp;gt;e_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; инцидентное ей висячее ребро. Положим &amp;lt;tex&amp;gt;H_2 = H_1 - e_2&amp;lt;/tex&amp;gt;. Продолжаем этот процесс до тех пор, пока не получим одноэлементное дерево &amp;lt;tex&amp;gt;H_{n-1}&amp;lt;/tex&amp;gt;, единственной вершиной которого обязательно будет вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Получим нумерацию вершин &amp;lt;tex&amp;gt;v_1, ..., v_n = v&amp;lt;/tex&amp;gt; и нумерацию ребер &amp;lt;tex&amp;gt;e_1, ..., e_{n-1}&amp;lt;/tex&amp;gt;. В новой нумерации матрица &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; приведется к виду&amp;lt;br/&amp;gt;&amp;lt;center&amp;gt;&amp;lt;tex&amp;gt;\begin{pmatrix} \pm 1 &amp;amp; 0 &amp;amp;\cdots &amp;amp;0\\* &amp;amp; \pm 1 &amp;amp; \cdots &amp;amp; 0\\ \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots\\ * &amp;amp; * &amp;amp; \cdots &amp;amp; \pm 1\\ * &amp;amp; * &amp;amp; \cdots &amp;amp; * \end{pmatrix}&amp;lt;/tex&amp;gt;,&amp;lt;/center&amp;gt;&amp;lt;br/&amp;gt; причем вершине &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; отвечает последняя строка (здесь каждый диагональный элемент равен &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;-1&amp;lt;/tex&amp;gt;, а через &amp;lt;tex&amp;gt;*&amp;lt;/tex&amp;gt; обозначены элементы матрицы, значения которых не вписаны в явном виде). Таким образом, матрица минора имеет треугольный вид и &amp;lt;tex&amp;gt;M = \pm1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; соответственно &amp;lt;tex&amp;gt;(s \times t)&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt;матрица и &amp;lt;tex&amp;gt;(t \times s)&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt;матрица, где &amp;lt;tex&amp;gt;s \le t&amp;lt;/tex&amp;gt;. Положим &amp;lt;tex&amp;gt;C = PQ&amp;lt;/tex&amp;gt;. Минор порядка &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; матрицы &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt; называется '''соответствующим минором минору порядка &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; матрицы &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;''', если множество номеров строк, составляющих матрицу первого минора, равно множеству номеров столбцов, составляющих матрицу второго минора.&lt;br /&gt;
}}&lt;br /&gt;
{{Теорема&lt;br /&gt;
|about=&lt;br /&gt;
Формула Бине-Коши&lt;br /&gt;
|statement=&lt;br /&gt;
Определитель матрицы &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; равен сумме всевозможных попарных произведений миноров порядка &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; матрицы &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; на соответствующие миноры матрицы &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
'''Следствие'''&amp;lt;br/&amp;gt;&lt;br /&gt;
При &amp;lt;tex&amp;gt;s = t&amp;lt;/tex&amp;gt; определитель произведения двух квадратных матриц порядка &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; равен произведению определителей этих матриц&lt;br /&gt;
{{Теорема&lt;br /&gt;
|about=&lt;br /&gt;
Кирхгоф, 1847&lt;br /&gt;
|statement=&lt;br /&gt;
Число остовов в связном неодноэлементном обыкновенном графе &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; равно алгебраическому дополнению любого элемента [[Матрица Кирхгофа|матрицы Кирхгофа]] &amp;lt;tex&amp;gt;B(G)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; произвольный связный обыкновенный &amp;lt;tex&amp;gt;(n, m)&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt;граф, &amp;lt;tex&amp;gt;n \ge 2&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;G&amp;lt;/tex&amp;gt;. Заметим, что &amp;lt;tex&amp;gt;m \ge n - 1&amp;lt;/tex&amp;gt; в силу связности графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. По [[Связь матрицы Кирхгофа и матрицы инцидентности|лемме]] выполняется &amp;lt;tex&amp;gt;B = B(G) = I \cdot I^T&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;B'&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; подматрица матрицы &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;, полученная удалением последней строки. Тогда имеем &amp;lt;tex&amp;gt;B' = JJ^T&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;J&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; это &amp;lt;tex&amp;gt;((n - 1) \times m)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; матрица. Очевидно, &amp;lt;tex&amp;gt;B_{nn} = det B'&amp;lt;/tex&amp;gt; есть алгебраическое дополнение элемента &amp;lt;tex&amp;gt;\beta_{nn}&amp;lt;/tex&amp;gt; в матрице Кирхгофа &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. В силу формулы Бине-Коши &amp;lt;tex&amp;gt;B_{nn}&amp;lt;/tex&amp;gt; равно сумме квадратов всех миноров порядка &amp;lt;tex&amp;gt;(n - 1)&amp;lt;/tex&amp;gt; матрицы &amp;lt;tex&amp;gt;J&amp;lt;/tex&amp;gt;. Согласно лемме, доказанной выше, каждый такой минор &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; равен &amp;lt;tex&amp;gt;\pm 1&amp;lt;/tex&amp;gt;, если остовный подграф графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, ребра которого соответствуют столбцам, вошедшим в матрицу минора &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, является деревом, и равен &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; в другом случае. Следовательно, &amp;lt;tex&amp;gt;B_{nn}&amp;lt;/tex&amp;gt; равно числу остовов графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Осталось отметить, что по лемме алгебраические дополнения всех элементов матрицы Кирхгофа равны между собой.&lt;br /&gt;
}}&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=14226</id>
		<title>Связь матрицы Кирхгофа и матрицы инцидентности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=14226"/>
				<updated>2011-12-10T05:56:41Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; произвольный граф. Превратим каждое его ребро в дугу, придав ребру одно из двух возможных направлений. Полученный [[ориентированный граф|орграф]] на том же самом множестве вершин будем называть '''ориентацией''' графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;K&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; [[Матрица Кирхгофа| матрица Кирхгофа]] графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;- [[Матрица инцидентности графа| матрица инцидентности]] &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; с некоторой ориентацией. Тогда &lt;br /&gt;
 &amp;lt;tex&amp;gt;K = I \cdot I^T.&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки исходной матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й столбец транспонированной матрицы &amp;lt;tex&amp;gt;I^T &amp;lt;/tex&amp;gt; перемножаются &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-я и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-я строки исходной матрицы. При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки на саму себя на диагонали полученной матрицы получится сумма квадратов элементов &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки, которая равна, очевидно, &amp;lt;tex&amp;gt;deg(v_i)&amp;lt;/tex&amp;gt;. Пусть теперь &amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt; (v_i, v_j) \in E &amp;lt;/tex&amp;gt;,  то существует ровно одно ребро, соединяющее &amp;lt;tex&amp;gt; v_i &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; v_j &amp;lt;/tex&amp;gt;, следовательно результат перемножения &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й строк равен -1, в противном случае он равен 0 в силу отсутствия ребра, инцидентного обеим вершинам. Определенная данными условиями матрица и является матрицей Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
!Матрица инцидентности&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof_marked.png|175px]]&lt;br /&gt;
|&amp;lt;tex&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;\begin{pmatrix}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
\end{pmatrix}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=14225</id>
		<title>Матрица Кирхгофа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=14225"/>
				<updated>2011-12-10T05:54:39Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Некоторые свойства */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определение матрицы Кирхгофа ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матрицей Кирхгофа''' простого графа &amp;lt;tex&amp;gt;G = (V,E) &amp;lt;/tex&amp;gt; называется матрица &amp;lt;tex&amp;gt; K (|V| \times |V|) = \parallel k_{i,j} \parallel  &amp;lt;/tex&amp;gt;, элементы которой определяются равенством: &amp;lt;tex&amp;gt;&lt;br /&gt;
k_{i,j} = &lt;br /&gt;
\begin{cases}&lt;br /&gt;
\deg(v_i), \ i = j \\&lt;br /&gt;
-1, \ (v_i,v_j) \in E \\&lt;br /&gt;
0, \mbox{ else}.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Иными словами, на главной диагонали матрицы Кирхгофа находятся степени вершин, а на пересечении i-й строки и j-го столбца (&amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;) стоит -1, если вершины с номерами i и j смежны, и 0 в противном случае.&lt;br /&gt;
&lt;br /&gt;
== Пример матрицы Кирхгофа==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;tex&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Некоторые свойства ==&lt;br /&gt;
&lt;br /&gt;
1) Матрица Кирхгофа является симметрической (т.е. симметрична относительно главной диагонали).&lt;br /&gt;
&lt;br /&gt;
2) Связь с матрицей смежности: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; K = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
deg(v_1) &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; deg(v_2) &amp;amp; \cdots &amp;amp; 0 \\        &lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; deg(v_n)&lt;br /&gt;
\end{pmatrix} - A,&lt;br /&gt;
&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;-&amp;lt;/tex&amp;gt; матрица смежности графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) [[Связь матрицы Кирхгофа и матрицы инцидентности|Связь с матрицей инцидентности]]: &amp;lt;tex&amp;gt; K = I \cdot I^T, &amp;lt;/tex&amp;gt; где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; - матрица инцидентности с некоторой ориентацией.&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://ru.wikipedia.org/wiki/%CC%E0%F2%F0%E8%F6%E0_%CA%E8%F0%F5%E3%EE%F4%E0 Википедия, Матрица Кирхгофа]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=14224</id>
		<title>Матрица Кирхгофа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=14224"/>
				<updated>2011-12-10T05:54:17Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Некоторые свойства */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определение матрицы Кирхгофа ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матрицей Кирхгофа''' простого графа &amp;lt;tex&amp;gt;G = (V,E) &amp;lt;/tex&amp;gt; называется матрица &amp;lt;tex&amp;gt; K (|V| \times |V|) = \parallel k_{i,j} \parallel  &amp;lt;/tex&amp;gt;, элементы которой определяются равенством: &amp;lt;tex&amp;gt;&lt;br /&gt;
k_{i,j} = &lt;br /&gt;
\begin{cases}&lt;br /&gt;
\deg(v_i), \ i = j \\&lt;br /&gt;
-1, \ (v_i,v_j) \in E \\&lt;br /&gt;
0, \mbox{ else}.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Иными словами, на главной диагонали матрицы Кирхгофа находятся степени вершин, а на пересечении i-й строки и j-го столбца (&amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;) стоит -1, если вершины с номерами i и j смежны, и 0 в противном случае.&lt;br /&gt;
&lt;br /&gt;
== Пример матрицы Кирхгофа==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;tex&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Некоторые свойства ==&lt;br /&gt;
&lt;br /&gt;
1) Матрица Кирхгофа является симметрической (т.е. симметрична относительно главной диагонали).&lt;br /&gt;
&lt;br /&gt;
2) Связь с матрицей смежности: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; K = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
deg(v_1) &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; deg(v_2) &amp;amp; \cdots &amp;amp; 0 \\        &lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; deg(v_n)&lt;br /&gt;
\end{pmatrix} - A,&lt;br /&gt;
&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;--&amp;lt;/tex&amp;gt; матрица смежности графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) [[Связь матрицы Кирхгофа и матрицы инцидентности|Связь с матрицей инцидентности]]: &amp;lt;tex&amp;gt; K = I \cdot I^T, &amp;lt;/tex&amp;gt; где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; - матрица инцидентности с некоторой ориентацией.&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://ru.wikipedia.org/wiki/%CC%E0%F2%F0%E8%F6%E0_%CA%E8%F0%F5%E3%EE%F4%E0 Википедия, Матрица Кирхгофа]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=14182</id>
		<title>Связь матрицы Кирхгофа и матрицы инцидентности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=14182"/>
				<updated>2011-12-09T06:24:29Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; - произвольный граф. Превратим каждое его ребро в дугу, придав ребру одно из двух возможных направлений. Полученный [[ориентированный граф|орграф]] на том же самом множестве вершин будем называть '''ориентацией''' графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;K&amp;lt;/tex&amp;gt;- [[Матрица Кирхгофа| матрица Кирхгофа]] графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;- [[Матрица инцидентности графа| матрица инцидентности]] &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; с некоторой ориентацией. Тогда &lt;br /&gt;
 &amp;lt;tex&amp;gt;K = I \cdot I^T.&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки исходной матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й столбец транспонированной матрицы &amp;lt;tex&amp;gt;I^T &amp;lt;/tex&amp;gt; перемножаются &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-я и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-я строки исходной матрицы. При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки на саму себя на диагонали полученной матрицы получится сумма квадратов элементов &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки, которая равна, очевидно, &amp;lt;tex&amp;gt;deg(v_i)&amp;lt;/tex&amp;gt;. Пусть теперь &amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt; (v_i, v_j) \in E &amp;lt;/tex&amp;gt;,  то существует ровно одно ребро, соединяющее &amp;lt;tex&amp;gt; v_i &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; v_j &amp;lt;/tex&amp;gt;, следовательно результат перемножения &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й строк равен -1, в противном случае он равен 0 в силу отсутствия ребра, инцидентного обеим вершинам. Определенная данными условиями матрица и является матрицей Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
!Матрица инцидентности&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof_marked.png|175px]]&lt;br /&gt;
|&amp;lt;tex&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;\begin{pmatrix}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
\end{pmatrix}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Kirhgof_marked.png&amp;diff=14181</id>
		<title>Файл:Kirhgof marked.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Kirhgof_marked.png&amp;diff=14181"/>
				<updated>2011-12-09T06:23:40Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: Граф с помеченными ребрами&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Граф с помеченными ребрами&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14180</id>
		<title>Количество помеченных деревьев</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14180"/>
				<updated>2011-12-09T06:07:43Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Помеченное дерево ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Помеченное [[Дерево, эквивалентные определения|дерево]] порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; - дерево из &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; вершин, вершинам которого взаимно однозначно соответствуют числа от 1 до n.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Количество помеченных деревьев ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=Формула Кэли&lt;br /&gt;
|statement=Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Можно доказать формулу двумя способами:&lt;br /&gt;
* ''Доказательство 1.'' Так как между помеченными деревьями порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и последовательностями длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует биекция ([[Коды Прюфера|Код Прюфера]]), &amp;lt;br&amp;gt; то количество помеченных деревьев = количество последовательностей длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* ''Доказательство 2.'' С помощью [[Подсчет числа остовных деревьев с помощью матрицы Кирхгофа |матрицы Кирхгофа]] для полного графа на &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинах. Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, очевидно, равно числу остовов в полном графе &amp;lt;tex&amp;gt;K_n&amp;lt;/tex&amp;gt;, которое есть &amp;lt;tex&amp;gt;n^{n-2}&amp;lt;/tex&amp;gt; по следствию теоремы Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://rain.ifmo.ru/cat/view.php/theory/graph-general/cayley-2008 Дискретная математика: Алгоритмы. Формула Кэли]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14179</id>
		<title>Количество помеченных деревьев</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14179"/>
				<updated>2011-12-09T06:05:52Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Помеченное дерево */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Помеченное дерево ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Помеченное [[Дерево, эквивалентные определения|дерево]] из n вершин - дерево порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, вершинам которого взаимно однозначно соответствуют числа от 1 до n.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Количество помеченных деревьев ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=Формула Кэли&lt;br /&gt;
|statement=Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Можно доказать формулу двумя способами:&lt;br /&gt;
* ''Доказательство 1.'' Так как между помеченными деревьями порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и последовательностями длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует биекция ([[Коды Прюфера|Код Прюфера]]), &amp;lt;br&amp;gt; то количество помеченных деревьев = количество последовательностей длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* ''Доказательство 2.'' С помощью [[Подсчет числа остовных деревьев с помощью матрицы Кирхгофа |матрицы Кирхгофа]] для полного графа на &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинах. Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, очевидно, равно числу остовов в полном графе &amp;lt;tex&amp;gt;K_n&amp;lt;/tex&amp;gt;, которое есть &amp;lt;tex&amp;gt;n^{n-2}&amp;lt;/tex&amp;gt; по следствию теоремы Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://rain.ifmo.ru/cat/view.php/theory/graph-general/cayley-2008 Дискретная математика: Алгоритмы. Формула Кэли]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14175</id>
		<title>Количество помеченных деревьев</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14175"/>
				<updated>2011-12-09T04:58:26Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Помеченное дерево ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Помеченное [[Коды Прюфера|дерево порядка n]] - дерево порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, вершинам которого взаимно однозначно соответствуют числа от 1 до n.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Количество помеченных деревьев ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=Формула Кэли&lt;br /&gt;
|statement=Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Можно доказать формулу двумя способами:&lt;br /&gt;
* ''Доказательство 1.'' Так как между помеченными деревьями порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и последовательностями длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует биекция ([[Коды Прюфера|Код Прюфера]]), &amp;lt;br&amp;gt; то количество помеченных деревьев = количество последовательностей длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* ''Доказательство 2.'' С помощью [[Подсчет числа остовных деревьев с помощью матрицы Кирхгофа |матрицы Кирхгофа]] для полного графа на &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинах. Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, очевидно, равно числу остовов в полном графе &amp;lt;tex&amp;gt;K_n&amp;lt;/tex&amp;gt;, которое есть &amp;lt;tex&amp;gt;n^{n-2}&amp;lt;/tex&amp;gt; по следствию теоремы Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://rain.ifmo.ru/cat/view.php/theory/graph-general/cayley-2008 Дискретная математика: Алгоритмы. Формула Кэли]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=14174</id>
		<title>Связь матрицы Кирхгофа и матрицы инцидентности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=14174"/>
				<updated>2011-12-09T04:54:29Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; - произвольный граф. Превратим каждое его ребро в дугу, придав ребру одно из двух возможных направлений. Полученный [[ориентированный граф|орграф]] на том же самом множестве вершин будем называть '''ориентацией''' графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;K&amp;lt;/tex&amp;gt;- [[Матрица Кирхгофа]] графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;- [[Матрица инцидентности графа| матрица инцидентности]] &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; с некоторой ориентацией. Тогда &lt;br /&gt;
 &amp;lt;tex&amp;gt;K = I \cdot I^T.&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки исходной матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й столбец транспонированной матрицы &amp;lt;tex&amp;gt;I^T &amp;lt;/tex&amp;gt; перемножаются &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-я и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-я строки исходной матрицы. При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки на саму себя на диагонали полученной матрицы получится сумма квадратов элементов &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки, которая равна, очевидно, &amp;lt;tex&amp;gt;deg(v_i)&amp;lt;/tex&amp;gt;. Пусть теперь &amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt; (v_i, v_j) \in E &amp;lt;/tex&amp;gt;,  то существует ровно одно ребро, соединяющее &amp;lt;tex&amp;gt; v_i &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; v_j &amp;lt;/tex&amp;gt;, следовательно результат перемножения &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й строк равен -1, в противном случае он равен 0 в силу отсутствия ребра, инцидентного обеим вершинам. Определенная данными условиями матрица и является матрицей Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
!Матрица инцидентности&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;tex&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;\begin{pmatrix}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
\end{pmatrix}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=14173</id>
		<title>Связь матрицы Кирхгофа и матрицы инцидентности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=14173"/>
				<updated>2011-12-09T04:53:39Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; - произвольный граф. Превратим каждое его ребро в дугу, придав ребру одно из двух возможных направлений. Полученный [[ориентированный граф|орграф]] на том же самом множестве вершин будем называть '''ориентацией''' графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;K&amp;lt;/tex&amp;gt;- [[Матрица Кирхгофа]] графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;- [[Матрица Инцидентности]] &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; с некоторой ориентацией. Тогда &lt;br /&gt;
 &amp;lt;tex&amp;gt;K = I \cdot I^T.&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки исходной матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й столбец транспонированной матрицы &amp;lt;tex&amp;gt;I^T &amp;lt;/tex&amp;gt; перемножаются &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-я и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-я строки исходной матрицы. При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки на саму себя на диагонали полученной матрицы получится сумма квадратов элементов &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки, которая равна, очевидно, &amp;lt;tex&amp;gt;deg(v_i)&amp;lt;/tex&amp;gt;. Пусть теперь &amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt; (v_i, v_j) \in E &amp;lt;/tex&amp;gt;,  то существует ровно одно ребро, соединяющее &amp;lt;tex&amp;gt; v_i &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; v_j &amp;lt;/tex&amp;gt;, следовательно результат перемножения &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й строк равен -1, в противном случае он равен 0 в силу отсутствия ребра, инцидентного обеим вершинам. Определенная данными условиями матрица и является матрицей Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
!Матрица инцидентности&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;tex&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;\begin{pmatrix}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
\end{pmatrix}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14151</id>
		<title>Количество помеченных деревьев</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14151"/>
				<updated>2011-12-08T17:26:50Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Источники */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Помеченное дерево ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Помеченное дерево порядка n - дерево порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, вершинам которого взаимно однозначно соответствуют числа от 1 до n.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Количество помеченных деревьев ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=Формула Кэли&lt;br /&gt;
|statement=Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Можно доказать формулу двумя способами:&lt;br /&gt;
* ''Доказательство 1.'' Так как между помеченными деревьями порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и последовательностями длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует биекция ([[Коды Прюфера|Код Прюфера]]), &amp;lt;br&amp;gt; то количество помеченных деревьев = количество последовательностей длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* ''Доказательство 2.'' С помощью [[Подсчет числа остовных деревьев с помощью матрицы Кирхгофа |матрицы Кирхгофа]] для полного графа на &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинах. Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, очевидно, равно числу остовов в полном графе &amp;lt;tex&amp;gt;K_n&amp;lt;/tex&amp;gt;, которое есть &amp;lt;tex&amp;gt;n^{n-2}&amp;lt;/tex&amp;gt; по следствию теоремы Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://rain.ifmo.ru/cat/view.php/theory/graph-general/cayley-2008 Дискретная математика: Алгоритмы. Формула Кэли]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14150</id>
		<title>Количество помеченных деревьев</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=14150"/>
				<updated>2011-12-08T17:26:31Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Помеченное дерево ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Помеченное дерево порядка n - дерево порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, вершинам которого взаимно однозначно соответствуют числа от 1 до n.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Количество помеченных деревьев ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=Формула Кэли&lt;br /&gt;
|statement=Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Можно доказать формулу двумя способами:&lt;br /&gt;
* ''Доказательство 1.'' Так как между помеченными деревьями порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и последовательностями длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует биекция ([[Коды Прюфера|Код Прюфера]]), &amp;lt;br&amp;gt; то количество помеченных деревьев = количество последовательностей длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* ''Доказательство 2.'' С помощью [[Подсчет числа остовных деревьев с помощью матрицы Кирхгофа |матрицы Кирхгофа]] для полного графа на &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинах. Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, очевидно, равно числу остовов в полном графе &amp;lt;tex&amp;gt;K_n&amp;lt;/tex&amp;gt;, которое есть &amp;lt;tex&amp;gt;n^{n-2}&amp;lt;/tex&amp;gt; по следствию теоремы Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://rain.ifmo.ru/cat/view.php/theory/graph-general/cayley-2008 Дискретная математика: Алгоритмы. Формула Кэли&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=14149</id>
		<title>Связь матрицы Кирхгофа и матрицы инцидентности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=14149"/>
				<updated>2011-12-08T17:25:56Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; - произвольный граф. Превратим каждое его ребро в дугу, придав ребру одно из двух возможных направлений. Полученный [[ориентированный граф|орграф]] на том же самом множестве вершин будем называть '''ориентацией''' графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;K&amp;lt;/tex&amp;gt;- матрица Кирхгофа графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;- матрица инцидентности &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; с некоторой ориентацией. Тогда &lt;br /&gt;
 &amp;lt;tex&amp;gt;K = I \cdot I^T.&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки исходной матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й столбец транспонированной матрицы &amp;lt;tex&amp;gt;I^T &amp;lt;/tex&amp;gt; перемножаются &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-я и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-я строки исходной матрицы. При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки на саму себя на диагонали полученной матрицы получится сумма квадратов элементов &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки, которая равна, очевидно, &amp;lt;tex&amp;gt;deg(v_i)&amp;lt;/tex&amp;gt;. Пусть теперь &amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt; (v_i, v_j) \in E &amp;lt;/tex&amp;gt;,  то существует ровно одно ребро, соединяющее &amp;lt;tex&amp;gt; v_i &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; v_j &amp;lt;/tex&amp;gt;, следовательно результат перемножения &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й строк равен -1, в противном случае он равен 0 в силу отсутствия ребра, инцидентного обеим вершинам. Определенная данными условиями матрица и является матрицей Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
!Матрица инцидентности&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;tex&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;\begin{pmatrix}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
\end{pmatrix}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13650</id>
		<title>Коды Прюфера</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13650"/>
				<updated>2011-11-29T12:36:19Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Пример декодирования кода Прюфера */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Коды Прюфера. ==&lt;br /&gt;
Кодирование Прюфера переводит помеченные деревья порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в последовательность чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; по алгоритму:&lt;br /&gt;
  Пока количество вершин больше одной {&lt;br /&gt;
    1. Выбирается лист &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; с минимальным номером.&lt;br /&gt;
    2. В код Прюфера добавляется номер вершины, смежной с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
    3. Вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и инцидентное ей ребро удаляются из дерева.&lt;br /&gt;
  }&lt;br /&gt;
Полученная последовательность называется '''кодом Прюфера''' для заданного дерева.&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Номер вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; встречается в коде Прюфера тогда и только тогда, когда &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не является листом или &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; имеет номер &amp;lt;tex&amp;gt;n&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;n&amp;lt;/tex&amp;gt; встретилось в коде.&lt;br /&gt;
# Если вершина не является листом, то у неё на некотором шаге была смежная вершина - лист, следовательно номер этой вершины встречается в коде.&lt;br /&gt;
# Если вершина является листом с номером меньше &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, то она была удалена до того, как был удален ее сосед, следовательно ее номер не встречается в коде.&lt;br /&gt;
&lt;br /&gt;
Таким образом, номера всех вершин, не являющихся листьями или имеющих номер &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, встречаются в коде Прюфера, а остальные - нет.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
По любой последовательности длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; можно построить помеченное дерево,&lt;br /&gt;
для которого эта последовательность является кодом Прюфера.&lt;br /&gt;
|proof=&lt;br /&gt;
Доказательство проведем по индукции.&lt;br /&gt;
База. &amp;lt;tex&amp;gt;n = 1&amp;lt;/tex&amp;gt; - верно.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Переход от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; к &amp;lt;tex&amp;gt;n + 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть у нас есть последовательность: &amp;lt;tex&amp;gt;A = [a_1, a_2, ..., a_{n - 2}].&amp;lt;/tex&amp;gt;&lt;br /&gt;
Выберем минимальное число &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не лежащее в &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. По предыдущей лемме &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - вершина, которую мы удалили первой. Соединим &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt; ребром. Выкинем из последовательности &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; число &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt;. Перенумеруем вершины, для всех &amp;lt;tex&amp;gt;a_i &amp;gt; v&amp;lt;/tex&amp;gt; заменим &amp;lt;tex&amp;gt;a_i&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;a_i - 1&amp;lt;/tex&amp;gt;. А теперь мы можем применить предположение индукции.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Кодирование Прюфера задаёт биекцию между множествами помеченных деревьев порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; и последовательностями длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
# Каждому помеченному дереву приведенный алгоритм сопоставляет последовательность.&lt;br /&gt;
# Каждой последовательности, как следует из предыдущей леммы, соотвествует помеченное дерево.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Следствием из этой теоремы является [[Количество помеченных деревьев|формула Кэли]].&lt;br /&gt;
&lt;br /&gt;
== Пример построения кода Прюфера ==&lt;br /&gt;
[[Файл: Prufer.png|500px]]&lt;br /&gt;
&lt;br /&gt;
== Пример декодирования кода Прюфера ==&lt;br /&gt;
[[Файл: backprufer.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://www.intuit.ru/department/algorithms/graphsuse/11/2.html Интернет Университет INTUIT | Представление с помощью списка ребер и кода Прюфера]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13649</id>
		<title>Коды Прюфера</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13649"/>
				<updated>2011-11-29T12:35:54Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Коды Прюфера. ==&lt;br /&gt;
Кодирование Прюфера переводит помеченные деревья порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в последовательность чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; по алгоритму:&lt;br /&gt;
  Пока количество вершин больше одной {&lt;br /&gt;
    1. Выбирается лист &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; с минимальным номером.&lt;br /&gt;
    2. В код Прюфера добавляется номер вершины, смежной с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
    3. Вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и инцидентное ей ребро удаляются из дерева.&lt;br /&gt;
  }&lt;br /&gt;
Полученная последовательность называется '''кодом Прюфера''' для заданного дерева.&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Номер вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; встречается в коде Прюфера тогда и только тогда, когда &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не является листом или &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; имеет номер &amp;lt;tex&amp;gt;n&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;n&amp;lt;/tex&amp;gt; встретилось в коде.&lt;br /&gt;
# Если вершина не является листом, то у неё на некотором шаге была смежная вершина - лист, следовательно номер этой вершины встречается в коде.&lt;br /&gt;
# Если вершина является листом с номером меньше &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, то она была удалена до того, как был удален ее сосед, следовательно ее номер не встречается в коде.&lt;br /&gt;
&lt;br /&gt;
Таким образом, номера всех вершин, не являющихся листьями или имеющих номер &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, встречаются в коде Прюфера, а остальные - нет.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
По любой последовательности длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; можно построить помеченное дерево,&lt;br /&gt;
для которого эта последовательность является кодом Прюфера.&lt;br /&gt;
|proof=&lt;br /&gt;
Доказательство проведем по индукции.&lt;br /&gt;
База. &amp;lt;tex&amp;gt;n = 1&amp;lt;/tex&amp;gt; - верно.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Переход от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; к &amp;lt;tex&amp;gt;n + 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть у нас есть последовательность: &amp;lt;tex&amp;gt;A = [a_1, a_2, ..., a_{n - 2}].&amp;lt;/tex&amp;gt;&lt;br /&gt;
Выберем минимальное число &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не лежащее в &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. По предыдущей лемме &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - вершина, которую мы удалили первой. Соединим &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt; ребром. Выкинем из последовательности &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; число &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt;. Перенумеруем вершины, для всех &amp;lt;tex&amp;gt;a_i &amp;gt; v&amp;lt;/tex&amp;gt; заменим &amp;lt;tex&amp;gt;a_i&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;a_i - 1&amp;lt;/tex&amp;gt;. А теперь мы можем применить предположение индукции.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Кодирование Прюфера задаёт биекцию между множествами помеченных деревьев порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; и последовательностями длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
# Каждому помеченному дереву приведенный алгоритм сопоставляет последовательность.&lt;br /&gt;
# Каждой последовательности, как следует из предыдущей леммы, соотвествует помеченное дерево.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Следствием из этой теоремы является [[Количество помеченных деревьев|формула Кэли]].&lt;br /&gt;
&lt;br /&gt;
== Пример построения кода Прюфера ==&lt;br /&gt;
[[Файл: Prufer.png|500px]]&lt;br /&gt;
&lt;br /&gt;
== Пример декодирования кода Прюфера ==&lt;br /&gt;
[[Файл: backprufer.png|500px]]&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://www.intuit.ru/department/algorithms/graphsuse/11/2.html Интернет Университет INTUIT | Представление с помощью списка ребер и кода Прюфера]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Backprufer.png&amp;diff=13648</id>
		<title>Файл:Backprufer.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Backprufer.png&amp;diff=13648"/>
				<updated>2011-11-29T12:34:58Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13647</id>
		<title>Коды Прюфера</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13647"/>
				<updated>2011-11-29T12:15:46Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Пример построения кода Прюфера */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Коды Прюфера. ==&lt;br /&gt;
Кодирование Прюфера переводит помеченные деревья порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в последовательность чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; по алгоритму:&lt;br /&gt;
  Пока количество вершин больше одной {&lt;br /&gt;
    1. Выбирается лист &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; с минимальным номером.&lt;br /&gt;
    2. В код Прюфера добавляется номер вершины, смежной с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
    3. Вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и инцидентное ей ребро удаляются из дерева.&lt;br /&gt;
  }&lt;br /&gt;
Полученная последовательность называется '''кодом Прюфера''' для заданного дерева.&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Номер вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; встречается в коде Прюфера тогда и только тогда, когда &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не является листом или &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; имеет номер &amp;lt;tex&amp;gt;n&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;n&amp;lt;/tex&amp;gt; встретилось в коде.&lt;br /&gt;
# Если вершина не является листом, то у неё на некотором шаге была смежная вершина - лист, следовательно номер этой вершины встречается в коде.&lt;br /&gt;
# Если вершина является листом с номером меньше &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, то она была удалена до того, как был удален ее сосед, следовательно ее номер не встречается в коде.&lt;br /&gt;
&lt;br /&gt;
Таким образом, номера всех вершин, не являющихся листьями или имеющих номер &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, встречаются в коде Прюфера, а остальные - нет.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
По любой последовательности длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; можно построить помеченное дерево,&lt;br /&gt;
для которого эта последовательность является кодом Прюфера.&lt;br /&gt;
|proof=&lt;br /&gt;
Доказательство проведем по индукции.&lt;br /&gt;
База. &amp;lt;tex&amp;gt;n = 1&amp;lt;/tex&amp;gt; - верно.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Переход от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; к &amp;lt;tex&amp;gt;n + 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть у нас есть последовательность: &amp;lt;tex&amp;gt;A = [a_1, a_2, ..., a_{n - 2}].&amp;lt;/tex&amp;gt;&lt;br /&gt;
Выберем минимальное число &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не лежащее в &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. По предыдущей лемме &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - вершина, которую мы удалили первой. Соединим &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt; ребром. Выкинем из последовательности &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; число &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt;. Перенумеруем вершины, для всех &amp;lt;tex&amp;gt;a_i &amp;gt; v&amp;lt;/tex&amp;gt; заменим &amp;lt;tex&amp;gt;a_i&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;a_i - 1&amp;lt;/tex&amp;gt;. А теперь мы можем применить предположение индукции.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Кодирование Прюфера задаёт биекцию между множествами помеченных деревьев порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; и последовательностями длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
# Каждому помеченному дереву приведенный алгоритм сопоставляет последовательность.&lt;br /&gt;
# Каждой последовательности, как следует из предыдущей леммы, соотвествует помеченное дерево.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Следствием из этой теоремы является [[Количество помеченных деревьев|формула Кэли]].&lt;br /&gt;
&lt;br /&gt;
== Пример построения кода Прюфера ==&lt;br /&gt;
[[Файл: Prufer.png|500px]]&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://www.intuit.ru/department/algorithms/graphsuse/11/2.html Интернет Университет INTUIT | Представление с помощью списка ребер и кода Прюфера]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13646</id>
		<title>Коды Прюфера</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13646"/>
				<updated>2011-11-29T12:15:27Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Коды Прюфера. ==&lt;br /&gt;
Кодирование Прюфера переводит помеченные деревья порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в последовательность чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; по алгоритму:&lt;br /&gt;
  Пока количество вершин больше одной {&lt;br /&gt;
    1. Выбирается лист &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; с минимальным номером.&lt;br /&gt;
    2. В код Прюфера добавляется номер вершины, смежной с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
    3. Вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и инцидентное ей ребро удаляются из дерева.&lt;br /&gt;
  }&lt;br /&gt;
Полученная последовательность называется '''кодом Прюфера''' для заданного дерева.&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Номер вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; встречается в коде Прюфера тогда и только тогда, когда &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не является листом или &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; имеет номер &amp;lt;tex&amp;gt;n&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;n&amp;lt;/tex&amp;gt; встретилось в коде.&lt;br /&gt;
# Если вершина не является листом, то у неё на некотором шаге была смежная вершина - лист, следовательно номер этой вершины встречается в коде.&lt;br /&gt;
# Если вершина является листом с номером меньше &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, то она была удалена до того, как был удален ее сосед, следовательно ее номер не встречается в коде.&lt;br /&gt;
&lt;br /&gt;
Таким образом, номера всех вершин, не являющихся листьями или имеющих номер &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, встречаются в коде Прюфера, а остальные - нет.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
По любой последовательности длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; можно построить помеченное дерево,&lt;br /&gt;
для которого эта последовательность является кодом Прюфера.&lt;br /&gt;
|proof=&lt;br /&gt;
Доказательство проведем по индукции.&lt;br /&gt;
База. &amp;lt;tex&amp;gt;n = 1&amp;lt;/tex&amp;gt; - верно.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Переход от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; к &amp;lt;tex&amp;gt;n + 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть у нас есть последовательность: &amp;lt;tex&amp;gt;A = [a_1, a_2, ..., a_{n - 2}].&amp;lt;/tex&amp;gt;&lt;br /&gt;
Выберем минимальное число &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не лежащее в &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. По предыдущей лемме &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - вершина, которую мы удалили первой. Соединим &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt; ребром. Выкинем из последовательности &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; число &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt;. Перенумеруем вершины, для всех &amp;lt;tex&amp;gt;a_i &amp;gt; v&amp;lt;/tex&amp;gt; заменим &amp;lt;tex&amp;gt;a_i&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;a_i - 1&amp;lt;/tex&amp;gt;. А теперь мы можем применить предположение индукции.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Кодирование Прюфера задаёт биекцию между множествами помеченных деревьев порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; и последовательностями длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
# Каждому помеченному дереву приведенный алгоритм сопоставляет последовательность.&lt;br /&gt;
# Каждой последовательности, как следует из предыдущей леммы, соотвествует помеченное дерево.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Следствием из этой теоремы является [[Количество помеченных деревьев|формула Кэли]].&lt;br /&gt;
&lt;br /&gt;
== Пример построения кода Прюфера ==&lt;br /&gt;
[[Файл: Prufer.png|200px]]&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://www.intuit.ru/department/algorithms/graphsuse/11/2.html Интернет Университет INTUIT | Представление с помощью списка ребер и кода Прюфера]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13645</id>
		<title>Коды Прюфера</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13645"/>
				<updated>2011-11-29T12:14:04Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Коды Прюфера. ==&lt;br /&gt;
Кодирование Прюфера переводит помеченные деревья порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в последовательность чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; по алгоритму:&lt;br /&gt;
  Пока количество вершин больше одной {&lt;br /&gt;
    1. Выбирается лист &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; с минимальным номером.&lt;br /&gt;
    2. В код Прюфера добавляется номер вершины, смежной с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
    3. Вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и инцидентное ей ребро удаляются из дерева.&lt;br /&gt;
  }&lt;br /&gt;
Полученная последовательность называется '''кодом Прюфера''' для заданного дерева.&lt;br /&gt;
&lt;br /&gt;
Пример построения кода Прюфера&lt;br /&gt;
[[Файл: Prufer.png]]&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Номер вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; встречается в коде Прюфера тогда и только тогда, когда &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не является листом или &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; имеет номер &amp;lt;tex&amp;gt;n&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;n&amp;lt;/tex&amp;gt; встретилось в коде.&lt;br /&gt;
# Если вершина не является листом, то у неё на некотором шаге была смежная вершина - лист, следовательно номер этой вершины встречается в коде.&lt;br /&gt;
# Если вершина является листом с номером меньше &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, то она была удалена до того, как был удален ее сосед, следовательно ее номер не встречается в коде.&lt;br /&gt;
&lt;br /&gt;
Таким образом, номера всех вершин, не являющихся листьями или имеющих номер &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, встречаются в коде Прюфера, а остальные - нет.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
По любой последовательности длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; можно построить помеченное дерево,&lt;br /&gt;
для которого эта последовательность является кодом Прюфера.&lt;br /&gt;
|proof=&lt;br /&gt;
Доказательство проведем по индукции.&lt;br /&gt;
База. &amp;lt;tex&amp;gt;n = 1&amp;lt;/tex&amp;gt; - верно.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Переход от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; к &amp;lt;tex&amp;gt;n + 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть у нас есть последовательность: &amp;lt;tex&amp;gt;A = [a_1, a_2, ..., a_{n - 2}].&amp;lt;/tex&amp;gt;&lt;br /&gt;
Выберем минимальное число &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не лежащее в &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. По предыдущей лемме &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - вершина, которую мы удалили первой. Соединим &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt; ребром. Выкинем из последовательности &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; число &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt;. Перенумеруем вершины, для всех &amp;lt;tex&amp;gt;a_i &amp;gt; v&amp;lt;/tex&amp;gt; заменим &amp;lt;tex&amp;gt;a_i&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;a_i - 1&amp;lt;/tex&amp;gt;. А теперь мы можем применить предположение индукции.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Кодирование Прюфера задаёт биекцию между множествами помеченных деревьев порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; и последовательностями длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
# Каждому помеченному дереву приведенный алгоритм сопоставляет последовательность.&lt;br /&gt;
# Каждой последовательности, как следует из предыдущей леммы, соотвествует помеченное дерево.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Следствием из этой теоремы является [[Количество помеченных деревьев|формула Кэли]].&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://www.intuit.ru/department/algorithms/graphsuse/11/2.html Интернет Университет INTUIT | Представление с помощью списка ребер и кода Прюфера]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Prufer.png&amp;diff=13644</id>
		<title>Файл:Prufer.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Prufer.png&amp;diff=13644"/>
				<updated>2011-11-29T12:12:40Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13643</id>
		<title>Коды Прюфера</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13643"/>
				<updated>2011-11-29T11:46:04Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Источники */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Коды Прюфера. ==&lt;br /&gt;
Кодирование Прюфера переводит помеченные деревья порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в последовательность чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; по алгоритму:&lt;br /&gt;
  Пока количество вершин больше одной {&lt;br /&gt;
    1. Выбирается лист &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; с минимальным номером.&lt;br /&gt;
    2. В код Прюфера добавляется номер вершины, смежной с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
    3. Вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и инцидентное ей ребро удаляются из дерева.&lt;br /&gt;
  }&lt;br /&gt;
Полученная последовательность называется '''кодом Прюфера''' для заданного дерева.&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Номер вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; встречается в коде Прюфера тогда и только тогда, когда &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не является листом или &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; имеет номер &amp;lt;tex&amp;gt;n&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;n&amp;lt;/tex&amp;gt; встретилось в коде.&lt;br /&gt;
# Если вершина не является листом, то у неё на некотором шаге была смежная вершина - лист, следовательно номер этой вершины встречается в коде.&lt;br /&gt;
# Если вершина является листом с номером меньше &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, то она была удалена до того, как был удален ее сосед, следовательно ее номер не встречается в коде.&lt;br /&gt;
&lt;br /&gt;
Таким образом, номера всех вершин, не являющихся листьями или имеющих номер &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, встречаются в коде Прюфера, а остальные - нет.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
По любой последовательности длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; можно построить помеченное дерево,&lt;br /&gt;
для которого эта последовательность является кодом Прюфера.&lt;br /&gt;
|proof=&lt;br /&gt;
Доказательство проведем по индукции.&lt;br /&gt;
База. &amp;lt;tex&amp;gt;n = 1&amp;lt;/tex&amp;gt; - верно.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Переход от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; к &amp;lt;tex&amp;gt;n + 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть у нас есть последовательность: &amp;lt;tex&amp;gt;A = [a_1, a_2, ..., a_{n - 2}].&amp;lt;/tex&amp;gt;&lt;br /&gt;
Выберем минимальное число &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не лежащее в &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. По предыдущей лемме &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - вершина, которую мы удалили первой. Соединим &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt; ребром. Выкинем из последовательности &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; число &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt;. Перенумеруем вершины, для всех &amp;lt;tex&amp;gt;a_i &amp;gt; v&amp;lt;/tex&amp;gt; заменим &amp;lt;tex&amp;gt;a_i&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;a_i - 1&amp;lt;/tex&amp;gt;. А теперь мы можем применить предположение индукции.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Кодирование Прюфера задаёт биекцию между множествами помеченных деревьев порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; и последовательностями длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
# Каждому помеченному дереву приведенный алгоритм сопоставляет последовательность.&lt;br /&gt;
# Каждой последовательности, как следует из предыдущей леммы, соотвествует помеченное дерево.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Следствием из этой теоремы является [[Количество помеченных деревьев|формула Кэли]].&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://www.intuit.ru/department/algorithms/graphsuse/11/2.html Интернет Университет INTUIT | Представление с помощью списка ребер и кода Прюфера]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13642</id>
		<title>Коды Прюфера</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%B4%D1%8B_%D0%9F%D1%80%D1%8E%D1%84%D0%B5%D1%80%D0%B0&amp;diff=13642"/>
				<updated>2011-11-29T11:45:23Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Коды Прюфера. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Коды Прюфера. ==&lt;br /&gt;
Кодирование Прюфера переводит помеченные деревья порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в последовательность чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; по алгоритму:&lt;br /&gt;
  Пока количество вершин больше одной {&lt;br /&gt;
    1. Выбирается лист &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; с минимальным номером.&lt;br /&gt;
    2. В код Прюфера добавляется номер вершины, смежной с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
    3. Вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и инцидентное ей ребро удаляются из дерева.&lt;br /&gt;
  }&lt;br /&gt;
Полученная последовательность называется '''кодом Прюфера''' для заданного дерева.&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Номер вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; встречается в коде Прюфера тогда и только тогда, когда &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не является листом или &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; имеет номер &amp;lt;tex&amp;gt;n&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;n&amp;lt;/tex&amp;gt; встретилось в коде.&lt;br /&gt;
# Если вершина не является листом, то у неё на некотором шаге была смежная вершина - лист, следовательно номер этой вершины встречается в коде.&lt;br /&gt;
# Если вершина является листом с номером меньше &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, то она была удалена до того, как был удален ее сосед, следовательно ее номер не встречается в коде.&lt;br /&gt;
&lt;br /&gt;
Таким образом, номера всех вершин, не являющихся листьями или имеющих номер &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, встречаются в коде Прюфера, а остальные - нет.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
По любой последовательности длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; можно построить помеченное дерево,&lt;br /&gt;
для которого эта последовательность является кодом Прюфера.&lt;br /&gt;
|proof=&lt;br /&gt;
Доказательство проведем по индукции.&lt;br /&gt;
База. &amp;lt;tex&amp;gt;n = 1&amp;lt;/tex&amp;gt; - верно.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Переход от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; к &amp;lt;tex&amp;gt;n + 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Пусть у нас есть последовательность: &amp;lt;tex&amp;gt;A = [a_1, a_2, ..., a_{n - 2}].&amp;lt;/tex&amp;gt;&lt;br /&gt;
Выберем минимальное число &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; не лежащее в &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. По предыдущей лемме &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - вершина, которую мы удалили первой. Соединим &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt; ребром. Выкинем из последовательности &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; число &amp;lt;tex&amp;gt;a_1&amp;lt;/tex&amp;gt;. Перенумеруем вершины, для всех &amp;lt;tex&amp;gt;a_i &amp;gt; v&amp;lt;/tex&amp;gt; заменим &amp;lt;tex&amp;gt;a_i&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;a_i - 1&amp;lt;/tex&amp;gt;. А теперь мы можем применить предположение индукции.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Кодирование Прюфера задаёт биекцию между множествами помеченных деревьев порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; и последовательностями длиной &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
# Каждому помеченному дереву приведенный алгоритм сопоставляет последовательность.&lt;br /&gt;
# Каждой последовательности, как следует из предыдущей леммы, соотвествует помеченное дерево.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Следствием из этой теоремы является [[Количество помеченных деревьев|формула Кэли]].&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://www.intuit.ru/department/algorithms/graphsuse/11/2.html Представление с помощью списка ребер и кода Прюфера]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13641</id>
		<title>Связь матрицы Кирхгофа и матрицы инцидентности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13641"/>
				<updated>2011-11-29T11:34:38Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; - произвольный граф. Превратим каждое его ребро в дугу, придав ребру одно из двух возможных направлений. Полученный [[ориентированный граф|орграф]] на том же самом множестве вершин будем называть '''ориентацией''' графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;K&amp;lt;/tex&amp;gt;- матрица Кирхгофа графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;- матрица инцидентности &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; с некоторой ориентацией. Тогда &lt;br /&gt;
 &amp;lt;tex&amp;gt;K = I \cdot I^T.&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки исходной матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й столбец транспонированной матрицы &amp;lt;tex&amp;gt;I^T &amp;lt;/tex&amp;gt; перемножаются &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-я и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-я строки исходной матрицы. При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки на саму себя на диагонали полученной матрицы получится сумма квадратов элементов &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки, которая равна, очевидно, &amp;lt;tex&amp;gt;deg(v_i)&amp;lt;/tex&amp;gt;. Пусть теперь &amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt; (v_i, v_j) \in E &amp;lt;/tex&amp;gt;,  то существует ровно одно ребро, соединяющее &amp;lt;tex&amp;gt; v_i &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; v_j &amp;lt;/tex&amp;gt;, следовательно результат перемножения &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й строк равен -1, в противном случае он равен 0 в силу отсутствия ребра, инцидентного обеим вершинам. Определенная данными условиями матрица и является матрицей Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
!Матрица инцидентности&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;tex&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;\begin{pmatrix}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
\end{pmatrix}&amp;lt;/tex&amp;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;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13640</id>
		<title>Матрица Кирхгофа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13640"/>
				<updated>2011-11-29T11:33:35Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Пример матрицы Кирхгофа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определение матрицы Кирхгофа ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матрицей Кирхгофа''' простого графа &amp;lt;tex&amp;gt;G = (V,E) &amp;lt;/tex&amp;gt; называется матрица &amp;lt;tex&amp;gt; K (|V| \times |V|) = \parallel k_{i,j} \parallel  &amp;lt;/tex&amp;gt;, элементы которой определяются равенством: &amp;lt;tex&amp;gt;&lt;br /&gt;
k_{i,j} = &lt;br /&gt;
\begin{cases}&lt;br /&gt;
\deg(v_i), \ i = j \\&lt;br /&gt;
-1, \ (v_i,v_j) \in E \\&lt;br /&gt;
0, \mbox{ else}.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Иными словами, на главной диагонали матрицы Кирхгофа находятся степени вершин, а на пересечении i-й строки и j-го столбца (&amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;) стоит -1, если вершины с номерами i и j смежны, и 0 в противном случае.&lt;br /&gt;
&lt;br /&gt;
== Пример матрицы Кирхгофа==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;tex&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Некоторые свойства ==&lt;br /&gt;
&lt;br /&gt;
1) Матрица Кирхгофа является симметрической (т.е. симметрична относительно главной диагонали).&lt;br /&gt;
&lt;br /&gt;
2) Связь с матрицей смежности: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; K = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
deg(v_1) &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; deg(v_2) &amp;amp; \cdots &amp;amp; 0 \\        &lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; deg(v_n)&lt;br /&gt;
\end{pmatrix} - A,&lt;br /&gt;
&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; - матрица смежности графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) [[Связь матрицы Кирхгофа и матрицы инцидентности|Связь с матрицей инцидентности]]: &amp;lt;tex&amp;gt; K = I \cdot I^T, &amp;lt;/tex&amp;gt; где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; - матрица инцидентности с некоторой ориентацией.&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
[http://ru.wikipedia.org/wiki/%CC%E0%F2%F0%E8%F6%E0_%CA%E8%F0%F5%E3%EE%F4%E0 Википедия, Матрица Кирхгофа]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=13639</id>
		<title>Количество помеченных деревьев</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BC%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%8C%D0%B5%D0%B2&amp;diff=13639"/>
				<updated>2011-11-29T11:32:56Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Помеченное дерево ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Помеченное дерево порядка n - дерево порядка &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, вершинам которого взаимно однозначно соответствуют числа от 1 до n.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Количество помеченных деревьев ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=Формула Кэли&lt;br /&gt;
|statement=Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Можно доказать формулу двумя способами:&lt;br /&gt;
* ''Доказательство 1.'' Так как между помеченными деревьями порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и последовательностями длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; существует биекция ([[Коды Прюфера|Код Прюфера]]), &amp;lt;br&amp;gt; то количество помеченных деревьев = количество последовательностей длины &amp;lt;tex&amp;gt;n - 2&amp;lt;/tex&amp;gt; из чисел от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;n^{n - 2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* ''Доказательство 2.'' С помощью [[Подсчет числа остовных деревьев с помощью матрицы Кирхгофа |матрицы Кирхгофа]] для полного графа на &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинах. Число помеченных деревьев порядка &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, очевидно, равно числу остовов в полном графе &amp;lt;tex&amp;gt;K_n&amp;lt;/tex&amp;gt;, которое есть &amp;lt;tex&amp;gt;n^{n-2}&amp;lt;/tex&amp;gt; по следствию теоремы Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Коды Прюфера]]&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://rain.ifmo.ru/cat/view.php/theory/graph-general/cayley-2008 Дискретная математика: Алгоритмы. Формула Кэли&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13638</id>
		<title>Связь матрицы Кирхгофа и матрицы инцидентности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0_%D0%B8_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13638"/>
				<updated>2011-11-29T11:21:34Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; - произвольный граф. Превратим каждое его ребро в дугу, придав ребру одно из двух возможных направлений. Полученный [[ориентированный граф|орграф]] на том же самом множестве вершин будем называть '''ориентацией''' графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;K&amp;lt;/tex&amp;gt;- матрица Кирхгофа графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;- матрица инцидентности &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; с некоторой ориентацией. Тогда &lt;br /&gt;
 &amp;lt;tex&amp;gt;K = I \cdot I^T.&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки исходной матрицы &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й столбец транспонированной матрицы &amp;lt;tex&amp;gt;I^T &amp;lt;/tex&amp;gt; перемножаются &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-я и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-я строки исходной матрицы. При умножении &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки на саму себя на диагонали полученной матрицы получится сумма квадратов элементов &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й строки, которая равна, очевидно, &amp;lt;tex&amp;gt;deg(v_i)&amp;lt;/tex&amp;gt;. Пусть теперь &amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt; (v_i, v_j) \in E &amp;lt;/tex&amp;gt;,  то существует ровно одно ребро, соединяющее &amp;lt;tex&amp;gt; v_i &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; v_j &amp;lt;/tex&amp;gt;, следовательно результат перемножения &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й и &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-й строк равен -1, в противном случае он равен 0 в силу отсутствия ребра, инцидентного обеим вершинам. Определенная данными условиями матрица и является матрицей Кирхгофа.&lt;br /&gt;
}}&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
!Матрица инцидентности&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;math&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\begin{pmatrix}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&lt;br /&gt;
\end{pmatrix}&amp;lt;/math&amp;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;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13637</id>
		<title>Матрица Кирхгофа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13637"/>
				<updated>2011-11-29T11:11:59Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Источники */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определение матрицы Кирхгофа ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матрицей Кирхгофа''' простого графа &amp;lt;tex&amp;gt;G = (V,E) &amp;lt;/tex&amp;gt; называется матрица &amp;lt;tex&amp;gt; K (|V| \times |V|) = \parallel k_{i,j} \parallel  &amp;lt;/tex&amp;gt;, элементы которой определяются равенством: &amp;lt;tex&amp;gt;&lt;br /&gt;
k_{i,j} = &lt;br /&gt;
\begin{cases}&lt;br /&gt;
\deg(v_i), \ i = j \\&lt;br /&gt;
-1, \ (v_i,v_j) \in E \\&lt;br /&gt;
0, \mbox{ else}.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Иными словами, на главной диагонали матрицы Кирхгофа находятся степени вершин, а на пересечении i-й строки и j-го столбца (&amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;) стоит -1, если вершины с номерами i и j смежны, и 0 в противном случае.&lt;br /&gt;
&lt;br /&gt;
== Пример матрицы Кирхгофа==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;math&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Некоторые свойства ==&lt;br /&gt;
&lt;br /&gt;
1) Матрица Кирхгофа является симметрической (т.е. симметрична относительно главной диагонали).&lt;br /&gt;
&lt;br /&gt;
2) Связь с матрицей смежности: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; K = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
deg(v_1) &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; deg(v_2) &amp;amp; \cdots &amp;amp; 0 \\        &lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; deg(v_n)&lt;br /&gt;
\end{pmatrix} - A,&lt;br /&gt;
&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; - матрица смежности графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) [[Связь матрицы Кирхгофа и матрицы инцидентности|Связь с матрицей инцидентности]]: &amp;lt;tex&amp;gt; K = I \cdot I^T, &amp;lt;/tex&amp;gt; где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; - матрица инцидентности с некоторой ориентацией.&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
[http://ru.wikipedia.org/wiki/%CC%E0%F2%F0%E8%F6%E0_%CA%E8%F0%F5%E3%EE%F4%E0 Википедия, Матрица Кирхгофа]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13636</id>
		<title>Матрица Кирхгофа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13636"/>
				<updated>2011-11-29T11:08:51Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Пример матрицы Кирхгофа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определение матрицы Кирхгофа ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матрицей Кирхгофа''' простого графа &amp;lt;tex&amp;gt;G = (V,E) &amp;lt;/tex&amp;gt; называется матрица &amp;lt;tex&amp;gt; K (|V| \times |V|) = \parallel k_{i,j} \parallel  &amp;lt;/tex&amp;gt;, элементы которой определяются равенством: &amp;lt;tex&amp;gt;&lt;br /&gt;
k_{i,j} = &lt;br /&gt;
\begin{cases}&lt;br /&gt;
\deg(v_i), \ i = j \\&lt;br /&gt;
-1, \ (v_i,v_j) \in E \\&lt;br /&gt;
0, \mbox{ else}.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Иными словами, на главной диагонали матрицы Кирхгофа находятся степени вершин, а на пересечении i-й строки и j-го столбца (&amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;) стоит -1, если вершины с номерами i и j смежны, и 0 в противном случае.&lt;br /&gt;
&lt;br /&gt;
== Пример матрицы Кирхгофа==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;math&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Некоторые свойства ==&lt;br /&gt;
&lt;br /&gt;
1) Матрица Кирхгофа является симметрической (т.е. симметрична относительно главной диагонали).&lt;br /&gt;
&lt;br /&gt;
2) Связь с матрицей смежности: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; K = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
deg(v_1) &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; deg(v_2) &amp;amp; \cdots &amp;amp; 0 \\        &lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; deg(v_n)&lt;br /&gt;
\end{pmatrix} - A,&lt;br /&gt;
&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; - матрица смежности графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) [[Связь матрицы Кирхгофа и матрицы инцидентности|Связь с матрицей инцидентности]]: &amp;lt;tex&amp;gt; K = I \cdot I^T, &amp;lt;/tex&amp;gt; где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; - матрица инцидентности с некоторой ориентацией.&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13635</id>
		<title>Матрица Кирхгофа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13635"/>
				<updated>2011-11-29T11:08:23Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Пример матрицы Кирхгофа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определение матрицы Кирхгофа ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матрицей Кирхгофа''' простого графа &amp;lt;tex&amp;gt;G = (V,E) &amp;lt;/tex&amp;gt; называется матрица &amp;lt;tex&amp;gt; K (|V| \times |V|) = \parallel k_{i,j} \parallel  &amp;lt;/tex&amp;gt;, элементы которой определяются равенством: &amp;lt;tex&amp;gt;&lt;br /&gt;
k_{i,j} = &lt;br /&gt;
\begin{cases}&lt;br /&gt;
\deg(v_i), \ i = j \\&lt;br /&gt;
-1, \ (v_i,v_j) \in E \\&lt;br /&gt;
0, \mbox{ else}.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Иными словами, на главной диагонали матрицы Кирхгофа находятся степени вершин, а на пересечении i-й строки и j-го столбца (&amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;) стоит -1, если вершины с номерами i и j смежны, и 0 в противном случае.&lt;br /&gt;
&lt;br /&gt;
== Пример матрицы Кирхгофа==&lt;br /&gt;
Пример матрицы Кирхгофа простого графа.&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Граф&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;math&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Некоторые свойства ==&lt;br /&gt;
&lt;br /&gt;
1) Матрица Кирхгофа является симметрической (т.е. симметрична относительно главной диагонали).&lt;br /&gt;
&lt;br /&gt;
2) Связь с матрицей смежности: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; K = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
deg(v_1) &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; deg(v_2) &amp;amp; \cdots &amp;amp; 0 \\        &lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; deg(v_n)&lt;br /&gt;
\end{pmatrix} - A,&lt;br /&gt;
&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; - матрица смежности графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) [[Связь матрицы Кирхгофа и матрицы инцидентности|Связь с матрицей инцидентности]]: &amp;lt;tex&amp;gt; K = I \cdot I^T, &amp;lt;/tex&amp;gt; где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; - матрица инцидентности с некоторой ориентацией.&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13634</id>
		<title>Матрица Кирхгофа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13634"/>
				<updated>2011-11-29T11:06:58Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: /* Пример матрицы Кирхгофа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определение матрицы Кирхгофа ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матрицей Кирхгофа''' простого графа &amp;lt;tex&amp;gt;G = (V,E) &amp;lt;/tex&amp;gt; называется матрица &amp;lt;tex&amp;gt; K (|V| \times |V|) = \parallel k_{i,j} \parallel  &amp;lt;/tex&amp;gt;, элементы которой определяются равенством: &amp;lt;tex&amp;gt;&lt;br /&gt;
k_{i,j} = &lt;br /&gt;
\begin{cases}&lt;br /&gt;
\deg(v_i), \ i = j \\&lt;br /&gt;
-1, \ (v_i,v_j) \in E \\&lt;br /&gt;
0, \mbox{ else}.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Иными словами, на главной диагонали матрицы Кирхгофа находятся степени вершин, а на пересечении i-й строки и j-го столбца (&amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;) стоит -1, если вершины с номерами i и j смежны, и 0 в противном случае.&lt;br /&gt;
&lt;br /&gt;
== Пример матрицы Кирхгофа==&lt;br /&gt;
Пример матрицы Кирхгофа простого графа.&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
![[Помеченный граф]]&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
|-&lt;br /&gt;
|[[Kirhgof.png|175px]]&lt;br /&gt;
|&amp;lt;math&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Некоторые свойства ==&lt;br /&gt;
&lt;br /&gt;
1) Матрица Кирхгофа является симметрической (т.е. симметрична относительно главной диагонали).&lt;br /&gt;
&lt;br /&gt;
2) Связь с матрицей смежности: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; K = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
deg(v_1) &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; deg(v_2) &amp;amp; \cdots &amp;amp; 0 \\        &lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; deg(v_n)&lt;br /&gt;
\end{pmatrix} - A,&lt;br /&gt;
&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; - матрица смежности графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) [[Связь матрицы Кирхгофа и матрицы инцидентности|Связь с матрицей инцидентности]]: &amp;lt;tex&amp;gt; K = I \cdot I^T, &amp;lt;/tex&amp;gt; где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; - матрица инцидентности с некоторой ориентацией.&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Kirhgof.png&amp;diff=13633</id>
		<title>Файл:Kirhgof.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Kirhgof.png&amp;diff=13633"/>
				<updated>2011-11-29T11:05:43Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: пример матрицы Кирхгофа&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;пример матрицы Кирхгофа&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13632</id>
		<title>Матрица Кирхгофа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%9A%D0%B8%D1%80%D1%85%D0%B3%D0%BE%D1%84%D0%B0&amp;diff=13632"/>
				<updated>2011-11-29T11:04:20Z</updated>
		
		<summary type="html">&lt;p&gt;Berkut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определение матрицы Кирхгофа ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матрицей Кирхгофа''' простого графа &amp;lt;tex&amp;gt;G = (V,E) &amp;lt;/tex&amp;gt; называется матрица &amp;lt;tex&amp;gt; K (|V| \times |V|) = \parallel k_{i,j} \parallel  &amp;lt;/tex&amp;gt;, элементы которой определяются равенством: &amp;lt;tex&amp;gt;&lt;br /&gt;
k_{i,j} = &lt;br /&gt;
\begin{cases}&lt;br /&gt;
\deg(v_i), \ i = j \\&lt;br /&gt;
-1, \ (v_i,v_j) \in E \\&lt;br /&gt;
0, \mbox{ else}.&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Иными словами, на главной диагонали матрицы Кирхгофа находятся степени вершин, а на пересечении i-й строки и j-го столбца (&amp;lt;tex&amp;gt;i \ne j&amp;lt;/tex&amp;gt;) стоит -1, если вершины с номерами i и j смежны, и 0 в противном случае.&lt;br /&gt;
&lt;br /&gt;
== Пример матрицы Кирхгофа==&lt;br /&gt;
Пример матрицы Кирхгофа простого графа.&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
![[Помеченный граф]]&lt;br /&gt;
!Матрица Кирхгофа&lt;br /&gt;
|-&lt;br /&gt;
|[[image:6n-graf.svg|175px]]&lt;br /&gt;
|&amp;lt;math&amp;gt;\left(\begin{array}{rrrrrr}&lt;br /&gt;
 2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
-1 &amp;amp;  3 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp; -1 &amp;amp;  2 &amp;amp; -1 &amp;amp;  0 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp; -1 &amp;amp; -1\\&lt;br /&gt;
-1 &amp;amp; -1 &amp;amp;  0 &amp;amp; -1 &amp;amp;  3 &amp;amp;  0\\&lt;br /&gt;
 0 &amp;amp;  0 &amp;amp;  0 &amp;amp; -1 &amp;amp;  0 &amp;amp;  1\\&lt;br /&gt;
\end{array}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Некоторые свойства ==&lt;br /&gt;
&lt;br /&gt;
1) Матрица Кирхгофа является симметрической (т.е. симметрична относительно главной диагонали).&lt;br /&gt;
&lt;br /&gt;
2) Связь с матрицей смежности: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; K = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
deg(v_1) &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; deg(v_2) &amp;amp; \cdots &amp;amp; 0 \\        &lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; deg(v_n)&lt;br /&gt;
\end{pmatrix} - A,&lt;br /&gt;
&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; - матрица смежности графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) [[Связь матрицы Кирхгофа и матрицы инцидентности|Связь с матрицей инцидентности]]: &amp;lt;tex&amp;gt; K = I \cdot I^T, &amp;lt;/tex&amp;gt; где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; - матрица инцидентности с некоторой ориентацией.&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
&lt;br /&gt;
Асанов М., Баранский В., Расин В. - Дискретная математика: Графы, матроиды, алгоритмы — Ижевск: ННЦ &amp;quot;Регулярная и хаотическая динамика&amp;quot;, 2001, 288 стр.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Остовные деревья ]]&lt;/div&gt;</summary>
		<author><name>Berkut</name></author>	</entry>

	</feed>