<?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=KokorinIlya</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=KokorinIlya"/>
		<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/KokorinIlya"/>
		<updated>2026-06-08T19:36:29Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%87%D0%B5%D1%80%D0%B5%D0%B4%D1%8C_%D0%9C%D0%B0%D0%B9%D0%BA%D0%BB%D0%B0_%D0%B8_%D0%A1%D0%BA%D0%BE%D1%82%D1%82%D0%B0&amp;diff=66511</id>
		<title>Очередь Майкла и Скотта</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%87%D0%B5%D1%80%D0%B5%D0%B4%D1%8C_%D0%9C%D0%B0%D0%B9%D0%BA%D0%BB%D0%B0_%D0%B8_%D0%A1%D0%BA%D0%BE%D1%82%D1%82%D0%B0&amp;diff=66511"/>
				<updated>2018-10-14T13:23:34Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Структура очереди */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Очередь Майкла и Скотта''' ''(Michael-Scott Queue)'' - алгоритм построения lock-free очереди. Впервые был предложен Maged M. Michael и  Michael L. Scott &amp;lt;ref&amp;gt;[http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf? Simple, Fast, and Practical Non-Blocking and BlockingConcurrent Queue Algorithms]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
== Структура очереди ==&lt;br /&gt;
&lt;br /&gt;
Очередь построена на односвязном списке. Каждый элемент списка &amp;lt;tex&amp;gt;Node&amp;lt;/tex&amp;gt; содержит ссылку на хранимые в нём данные и атомарный указатель на следующий элемент списка.&lt;br /&gt;
&lt;br /&gt;
 '''case class''' Node('''val''' data: '''Int''', '''val''' next: AtomicReference&amp;lt;Node&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Если узел &amp;lt;tex&amp;gt;node&amp;lt;/tex&amp;gt; является последним в списке, то &amp;lt;tex&amp;gt;node&lt;br /&gt;
next&amp;lt;/tex&amp;gt; указывает на &amp;lt;tex&amp;gt;null&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Сама очередь состоит из двух атомарных указателей:  &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt;  на голову и&amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; на  хвост. Удаление из очереди происходит со стороны головы, добавление - со стороны хвоста.&lt;br /&gt;
&lt;br /&gt;
Голова списка является фиктивным элементом ''(dummy)''. Данные, хранимые в этом узле, не имеют значения. Изначально очередь состоит из одного ''dummy''-элемента, на который указывают &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Структура_msqueue.PNG|500px|thumb|center|Структура очереди Майкла и Скотта]]&lt;br /&gt;
&lt;br /&gt;
 '''class''' Queue&lt;br /&gt;
     dummy = '''new''' Node(null, '''new''' AtomicReference&amp;lt;Node&amp;gt;(null))&lt;br /&gt;
     head = '''new''' AtomicReference&amp;lt;Node&amp;gt;(dummy)&lt;br /&gt;
     tail = '''new''' AtomicReference&amp;lt;Node&amp;gt;(dummy)&lt;br /&gt;
&lt;br /&gt;
Будем поддерживать следующий инвариант: в нашей очереди &amp;lt;tex&amp;gt;H&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;
&lt;br /&gt;
=== Удаление элемента ===&lt;br /&gt;
&lt;br /&gt;
Для удаления элемента необходимо переместить указатель &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; на следующую в списке вершину.&lt;br /&gt;
&lt;br /&gt;
 '''def''' pop(): '''Int'''&lt;br /&gt;
     if (H.next == null):&lt;br /&gt;
         '''throw''' '''new''' EmptyException()&lt;br /&gt;
     H = H.next&lt;br /&gt;
     '''return''' H.data &amp;lt;font color=green&amp;gt;//H - новый фиктивный элемент&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Добавление элемента ===&lt;br /&gt;
&lt;br /&gt;
Создадим новый узел списка, и добавим его в конец очереди. &lt;br /&gt;
&lt;br /&gt;
 '''def''' push(x: '''Int'''):&lt;br /&gt;
     newTail = '''new''' Node(x, new AtomicReference&amp;lt;Node&amp;gt;(null))&lt;br /&gt;
     T.next = newTail &amp;lt;font color=green&amp;gt;//Добавление новой вершины в очередь&amp;lt;/font&amp;gt;&lt;br /&gt;
     T = T.next &amp;lt;font color=green&amp;gt;//Изменение хвоста списка&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Не lock-free многопоточная реализация ==&lt;br /&gt;
&lt;br /&gt;
Будем при изменении &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;T.next&amp;lt;/tex&amp;gt;  использовать &amp;lt;tex&amp;gt;CAS&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Удаление элемента ===&lt;br /&gt;
&lt;br /&gt;
Для удаления элемента необходимо переместить указатель &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; на следующую в списке вершину.&lt;br /&gt;
&lt;br /&gt;
 '''def''' pop(): '''Int'''&lt;br /&gt;
     '''while''' ('''true'''): &amp;lt;font color=green&amp;gt;//Поток пытается в CAS - цикле поменять указатель на H, пока не получится&amp;lt;/font&amp;gt;&lt;br /&gt;
         head = H.get()&lt;br /&gt;
         if (head.next == null):&lt;br /&gt;
             '''throw''' '''new''' EmptyException()&lt;br /&gt;
         newHead = head.next.get()&lt;br /&gt;
         if ('''CAS'''(H, head, nextHead)):&lt;br /&gt;
             '''return''' newHead.data&lt;br /&gt;
&lt;br /&gt;
=== Добавление элемента ===&lt;br /&gt;
&lt;br /&gt;
Создадим новый узел списка, и добавим его в конец очереди. &lt;br /&gt;
&lt;br /&gt;
 '''def''' push(x: '''Int'''):&lt;br /&gt;
     newTail = '''new''' Node(x, '''new''' AtomicReference&amp;lt;Node&amp;gt;(null))&lt;br /&gt;
     '''while''' ('''true'''): &amp;lt;font color=green&amp;gt;//Поток пытается в CAS - цикле поменять T.next, пока не получится&amp;lt;/font&amp;gt;&lt;br /&gt;
         tail = T.get()&lt;br /&gt;
         curTail = tail.next&lt;br /&gt;
         if ('''CAS'''(curTail, null, newTail)): &amp;lt;font color=green&amp;gt;//Поток пытается добавить элемент в конец очереди&amp;lt;/font&amp;gt;&lt;br /&gt;
             '''break'''&lt;br /&gt;
    '''while''' ('''true'''): &amp;lt;font color=green&amp;gt;//Поток пытается в CAS - цикле поменять указатель на T, пока не получится&amp;lt;/font&amp;gt;&lt;br /&gt;
         tail = T.get()&lt;br /&gt;
         nextTail = tail.next.get()&lt;br /&gt;
         if ('''CAS'''(T, tail, nextTail)):&lt;br /&gt;
             '''break'''&lt;br /&gt;
&lt;br /&gt;
При данной реализации мы сталкиваемся со следующей проблемой&lt;br /&gt;
&lt;br /&gt;
== Описание проблемы ==&lt;br /&gt;
&lt;br /&gt;
Рассмотрим ситуацию, при которой два потока &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; добавляют в очередь элементы &amp;lt;tex&amp;gt;elem&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;elem'&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;T.next&amp;lt;/tex&amp;gt;, но не успевает изменить &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; так, чтобы он указывал на только что добавленную вершину.&lt;br /&gt;
# Планировщик операционной системы усыпляет поток &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Поток &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; собирается добавить новую вершину в очередь, но не может этого сделать, так как постоянно проваливает операцию &amp;lt;tex&amp;gt;CAS(T.next, null, newTail)&amp;lt;/tex&amp;gt; (T.next не указывает на &amp;lt;tex&amp;gt;null&amp;lt;/tex&amp;gt;, так как поток &amp;lt;tex&amp;gt;A&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;)&lt;br /&gt;
# Поток &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не сможет добавить в очередь новую вершину (а следовательно, завершить операцию &amp;lt;tex&amp;gt;push&amp;lt;/tex&amp;gt;), до тех пор, пока планировщик операционной системы не разбудит поток &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, и поток &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; не завершит добавление (то есть не передвинет &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; на вершину, добавленную на шаге &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
Следовательно, у такой очереди нет гарантии прогресса, и этот алгоритм не lock-free.&lt;br /&gt;
&lt;br /&gt;
== Корректная lock-free реализация ==&lt;br /&gt;
&lt;br /&gt;
=== Основная идея ===&lt;br /&gt;
&lt;br /&gt;
Нельзя выполнить добавление элемента в очередь и перемещение &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; атомарно. В таком случае, пусть остальные потоки помогают перенести указатель на хвост очереди. Если поток видит непустой &amp;lt;tex&amp;gt;T.next&amp;lt;/tex&amp;gt; (то есть если он провалил &amp;lt;tex&amp;gt;CAS(tail.next, null, newTail)&amp;lt;/tex&amp;gt;), то он должен помочь перенести &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, то есть выполнить &amp;lt;tex&amp;gt;CAS(T, tail, tail.next.get())&amp;lt;/tex&amp;gt; однократно. Если &amp;lt;tex&amp;gt;CAS&amp;lt;/tex&amp;gt; выполнен успешно, то хвост перемещён успешно (а значит, наш поток должен вернуться к добавлению нового элемента). Если же он выполнен неудачно, то это значит, что &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; уже не указывает на &amp;lt;tex&amp;gt;tail&amp;lt;/tex&amp;gt;, а значит, другой поток уже успешно переместил хвост (а значит, наш поток должен вернуться к добавлению нового элемента).&lt;br /&gt;
&lt;br /&gt;
=== Реализация &amp;lt;tex&amp;gt;push&amp;lt;/tex&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 '''def''' push(x: '''Int'''):&lt;br /&gt;
     newTail = '''new''' Node(x, '''new''' AtomicReference&amp;lt;Node&amp;gt;(null))&lt;br /&gt;
     '''while''' ('''true'''): &amp;lt;font color=green&amp;gt;//CAS-цикл&amp;lt;/font&amp;gt;&lt;br /&gt;
         tail = T.get()&lt;br /&gt;
         '''if''' ('''CAS'''(tail.next, '''null''', newTail)):&lt;br /&gt;
             &amp;lt;font color=green&amp;gt;/*&lt;br /&gt;
             Если T указывает на последний добавленный элемент и &lt;br /&gt;
             получилось добавить ещё один элемент в хвост, &lt;br /&gt;
             пробуем передвинуть T. Если не получилось передвинуть T,&lt;br /&gt;
             значит, другой поток сделал это за нас, завершаем работу.&lt;br /&gt;
             Если получилось - то мы сами передвинули T, завершаем работу&lt;br /&gt;
             */&amp;lt;/font&amp;gt;&lt;br /&gt;
             '''CAS'''(T, tail, newTail)&lt;br /&gt;
             '''return'''&lt;br /&gt;
         else:&lt;br /&gt;
             &amp;lt;font color=green&amp;gt;/*&lt;br /&gt;
             Если T - не последний добавленный элемент элемент, то передвигаем T на последний элемент&lt;br /&gt;
             Если этого сделать не получилось, значит, это сделал другой поток.&lt;br /&gt;
             Если получилось - значит, наш поток передвинул T на текущий последний элемент.&lt;br /&gt;
             В любом случае, возвращаемся в начало CAS-цикла, чтобы завершить добавление в очередь новой вершины.&lt;br /&gt;
             */&amp;lt;/font&amp;gt;&lt;br /&gt;
             '''CAS'''(T, tail, tail.next.get())&lt;br /&gt;
&lt;br /&gt;
== Корректная реализация &amp;lt;tex&amp;gt;pop&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== Проблема с &amp;lt;tex&amp;gt;pop&amp;lt;/tex&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Если мы попытаемся воспользоваться написанной выше реализацией метода &amp;lt;tex&amp;gt;pop&amp;lt;/tex&amp;gt;, инвариант очереди не будет соблюдён. В силу особенностей реализации метода &amp;lt;tex&amp;gt;push&amp;lt;/tex&amp;gt;, в некоторые моменты &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; может указывать не на добавленный последним элемент, а на добавленный предпоследним. В таком случае, с помощью последовательности удалений можно добиться того, что &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; будет указывать на последний добавленный элемент, а &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; - на предпоследний. Таким образом, &amp;lt;tex&amp;gt;H&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;
&lt;br /&gt;
Основная проблема предыдущей реализации состоит в том, что в методе &amp;lt;tex&amp;gt;pop&amp;lt;/tex&amp;gt; при перемещении &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt;, мы никак не следили за положением &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;. Эту проблему можно исправить следующим образом: пусть в методе &amp;lt;tex&amp;gt;pop&amp;lt;/tex&amp;gt; рабочий поток будет помогать переместить указатель &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; на последний добавленный элемент (аналогично действиям рабочего потока в методе &amp;lt;tex&amp;gt;push&amp;lt;/tex&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Для определения того, указывает ли &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; на последний добавленный элемент, воспользуемся следующим соображением: если &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; указывает на последний добавленный элемент, то &amp;lt;tex&amp;gt;T.get().next == '''null'''&amp;lt;/tex&amp;gt;, так как за последним добавленным элементом нет других элементов. В противном случае &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; указывает на предпоследний добавленный элемент, и его надо передвинуть на последний добавленный.&lt;br /&gt;
&lt;br /&gt;
 '''def''' pop(): '''Int'''&lt;br /&gt;
     newTail = '''new''' Node(x, '''new''' AtomicReference&amp;lt;Node&amp;gt;(null))&lt;br /&gt;
     '''while''' ('''true'''): &amp;lt;font color=green&amp;gt;//CAS-цикл&amp;lt;/font&amp;gt;&lt;br /&gt;
         head = H.get() &amp;lt;font color=green&amp;gt;//Сохраняем в локальные переменные текущие голову и хвост, а так же следующий за головным элемент&amp;lt;/font&amp;gt;&lt;br /&gt;
         tail = T.get()&lt;br /&gt;
         nextHead = head.next.get()&lt;br /&gt;
         '''if''' (head == tail):&lt;br /&gt;
             &amp;lt;font color=green&amp;gt;/*&lt;br /&gt;
             Если head и tail совпадают, это ещё не означает, что очередь пуста.&lt;br /&gt;
             Возможно, что мы просто не успели подвинуть tail. Если tail.next не null,&lt;br /&gt;
             то мы просто не успели подвинуть tail при добавлении.&lt;br /&gt;
             */&amp;lt;/font&amp;gt;&lt;br /&gt;
             '''if''' (nextHead == '''null'''):&lt;br /&gt;
                 &amp;lt;font color=green&amp;gt;// Следующего элемента нет, очередь пуста&amp;lt;/font&amp;gt;&lt;br /&gt;
                 '''throw''' '''new''' EmptyException()&lt;br /&gt;
             '''else''':&lt;br /&gt;
                 &amp;lt;font color=green&amp;gt;/*&lt;br /&gt;
                 push не успел подвинуть T, наш поток должен помочь&lt;br /&gt;
                 tail == head =&amp;gt; tail.next == head.next&lt;br /&gt;
                 */&amp;lt;/font&amp;gt;&lt;br /&gt;
        '''else''':&lt;br /&gt;
            &amp;lt;font color=green&amp;gt;// Очередь гарантированно не пуста, следующий элемент существует&amp;lt;/font&amp;gt;&lt;br /&gt;
            result = nextHead.data&lt;br /&gt;
            '''if''' ('''CAS'''(H, head, nextHead)):&lt;br /&gt;
                &amp;lt;font color=green&amp;gt;/*&lt;br /&gt;
                Если получилось переставить голову, то фиктивным элементом стал&lt;br /&gt;
                H.next, результат - данные, которые в нём лежали. Если не получилось - &lt;br /&gt;
                возвращаемся в начало метода и пробуем ещё раз&lt;br /&gt;
                */&amp;lt;/font&amp;gt;&lt;br /&gt;
                '''return''' result&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
== Источники информации==&lt;br /&gt;
* Maurice Herliny &amp;amp; Nir Shavit - The Art of Multiprocessor programming, стр 230&lt;br /&gt;
[[Категория: Параллельное программирование]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_msqueue.PNG&amp;diff=66510</id>
		<title>Файл:Структура msqueue.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:%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_msqueue.PNG&amp;diff=66510"/>
				<updated>2018-10-14T13:20:25Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63944</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63944"/>
				<updated>2018-03-04T18:22:48Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Теорема о связи этих понятий */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_{k - 1} - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Примеры применения теоремы ==&lt;br /&gt;
&lt;br /&gt;
* Вычислим производящую функцию последовательности &amp;lt;tex&amp;gt;a_0 = 1, a_n = k \cdot a_{n - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Так как последовательность задана линейной рекуррентой, её производящая функция, согласно теореме, имеет вид &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;Q(t) = 1 - k \cdot t&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;c_1 = k&amp;lt;/tex&amp;gt;), а &amp;lt;tex&amp;gt;deg(P) &amp;lt; 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*: Будем искать производящую функцию в виде &amp;lt;tex&amp;gt;F(t) = \dfrac{C}{1 - k \cdot t}, C \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пусть &amp;lt;tex&amp;gt;F(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_n \cdot t^n + \ldots &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_n \cdot t^n + \ldots = \dfrac{C}{1 - k \cdot t}&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;(a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots a_n \cdot t^n + \ldots) \cdot (1 - k \cdot t) = C&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пользуясь правилом перемножения формальных степенных рядов, получаем&lt;br /&gt;
*: &amp;lt;tex&amp;gt; C = a_0 \cdot 1 = 1 \cdot 1 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Следовательно, &amp;lt;tex&amp;gt; F(t) = \dfrac{1}{1 - k \cdot t}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Таким образом, &amp;lt;tex&amp;gt; 1 + k \cdot t + (k \cdot t)^2 + \ldots + (k \cdot t)^n + \ldots = \sum\limits_{n = 0}^{\infty}k^n \cdot t^n = \dfrac{1}{1 - k \cdot t}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Частным случаем этой формулы являются соотношения &amp;lt;tex&amp;gt;1 + t + t^2 + \ldots t^n + \cdots = \sum\limits_{n = 0}^{\infty}t^n =\dfrac{1}{1 - t}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1 - t + t^2 + \ldots (-1)^n \cdot t^n + \cdots = \sum\limits_{n = 0}^{\infty}(-1)^n \cdot t^n = \dfrac{1}{1 + t}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Вычислим производящую функцию последовательности Фибоначчи &amp;lt;tex&amp;gt;f_0 = f_1 = 1, f_n = f_{n - 1} + f_{n - 2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Так как последовательность задана линейной рекуррентой, её производящая функция, согласно теореме, имеет вид &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;Q(t) = 1 - t - t^2&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;c_1 = c_2 = 1&amp;lt;/tex&amp;gt;), а &amp;lt;tex&amp;gt;deg(P) &amp;lt; 3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*: Будем искать производящую функцию в виде &amp;lt;tex&amp;gt;F(t) = \dfrac{B + At}{1 - t - t^2}, A, B \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пусть &amp;lt;tex&amp;gt;F(t) = f_0 + f_1 \cdot t + f_2 \cdot t^2 + \ldots + f_n \cdot t^n + \ldots &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_0 + f_1 \cdot t + f_2 \cdot t^2 + \ldots + f_n \cdot t^n + \ldots = \dfrac{C}{1 - t - t^2}&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;(f_0 + f_1 \cdot t + f_2 \cdot t^2 + \ldots + f_n \cdot t^n + \ldots) \cdot (1 - t - t^2) = B + At&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пользуясь правилами перемножения формальных степенных рядов, получаем &amp;lt;tex&amp;gt;p_n = \sum\limits_{i = 0}^{n} f_i \cdot q_{n - i}&amp;lt;/tex&amp;gt;, в частности, &amp;lt;tex&amp;gt;B = p_0 = f_0 \cdot q_0 = 1 \cdot 1 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;A = p_1 = f_0 \cdot q_1 + f_1 \cdot q_0 = 1 \cdot (-1) + 1 \cdot 1 = 1 - 1 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Таким образом, &amp;lt;tex&amp;gt;F(t) = \dfrac{1}{1 - t - t^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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63940</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63940"/>
				<updated>2018-03-04T17:50:56Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Примеры применения теоремы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
* Вычислим производящую функцию последовательности &amp;lt;tex&amp;gt;a_0 = 1, a_n = k \cdot a_{n - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Так как последовательность задана линейной рекуррентой, её производящая функция, согласно теореме, имеет вид &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;Q(t) = 1 - k \cdot t&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;c_1 = k&amp;lt;/tex&amp;gt;), а &amp;lt;tex&amp;gt;deg(P) &amp;lt; 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*: Будем искать производящую функцию в виде &amp;lt;tex&amp;gt;F(t) = \dfrac{C}{1 - k \cdot t}, C \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пусть &amp;lt;tex&amp;gt;F(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_n \cdot t^n + \ldots &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_n \cdot t^n + \ldots = \dfrac{C}{1 - k \cdot t}&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;(a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots a_n \cdot t^n + \ldots) \cdot (1 - k \cdot t) = C&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пользуясь правилом перемножения формальных степенных рядов, получаем&lt;br /&gt;
*: &amp;lt;tex&amp;gt; C = a_0 \cdot 1 = 1 \cdot 1 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Следовательно, &amp;lt;tex&amp;gt; F(t) = \dfrac{1}{1 - k \cdot t}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Таким образом, &amp;lt;tex&amp;gt; 1 + k \cdot t + (k \cdot t)^2 + \ldots + (k \cdot t)^n + \ldots = \sum\limits_{n = 0}^{\infty}k^n \cdot t^n = \dfrac{1}{1 - k \cdot t}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Частным случаем этой формулы являются соотношения &amp;lt;tex&amp;gt;1 + t + t^2 + \ldots t^n + \cdots = \sum\limits_{n = 0}^{\infty}t^n =\dfrac{1}{1 - t}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1 - t + t^2 + \ldots (-1)^n \cdot t^n + \cdots = \sum\limits_{n = 0}^{\infty}(-1)^n \cdot t^n = \dfrac{1}{1 + t}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Вычислим производящую функцию последовательности Фибоначчи &amp;lt;tex&amp;gt;f_0 = f_1 = 1, f_n = f_{n - 1} + f_{n - 2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Так как последовательность задана линейной рекуррентой, её производящая функция, согласно теореме, имеет вид &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;Q(t) = 1 - t - t^2&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;c_1 = c_2 = 1&amp;lt;/tex&amp;gt;), а &amp;lt;tex&amp;gt;deg(P) &amp;lt; 3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*: Будем искать производящую функцию в виде &amp;lt;tex&amp;gt;F(t) = \dfrac{B + At}{1 - t - t^2}, A, B \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пусть &amp;lt;tex&amp;gt;F(t) = f_0 + f_1 \cdot t + f_2 \cdot t^2 + \ldots + f_n \cdot t^n + \ldots &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_0 + f_1 \cdot t + f_2 \cdot t^2 + \ldots + f_n \cdot t^n + \ldots = \dfrac{C}{1 - t - t^2}&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;(f_0 + f_1 \cdot t + f_2 \cdot t^2 + \ldots + f_n \cdot t^n + \ldots) \cdot (1 - t - t^2) = B + At&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пользуясь правилами перемножения формальных степенных рядов, получаем &amp;lt;tex&amp;gt;p_n = \sum\limits_{i = 0}^{n} f_i \cdot q_{n - i}&amp;lt;/tex&amp;gt;, в частности, &amp;lt;tex&amp;gt;B = p_0 = f_0 \cdot q_0 = 1 \cdot 1 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;A = p_1 = f_0 \cdot q_1 + f_1 \cdot q_0 = 1 \cdot (-1) + 1 \cdot 1 = 1 - 1 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Таким образом, &amp;lt;tex&amp;gt;F(t) = \dfrac{1}{1 - t - t^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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63935</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63935"/>
				<updated>2018-03-04T17:22:30Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Примеры применения теоремы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
* Вычислим производящую функцию последовательности &amp;lt;tex&amp;gt;a_0 = 1, a_n = k \cdot a_{n - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Так как последовательность задана линейной рекуррентой, её производящая функция, согласно теореме, имеет вид &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;Q(t) = 1 - k \cdot x&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;c_1 = k&amp;lt;/tex&amp;gt;), а &amp;lt;tex&amp;gt;deg(P) &amp;lt; 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*: Будем искать производящую функцию в виде &amp;lt;tex&amp;gt;F(t) = \dfrac{C}{1 - k \cdot x}, C \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пусть &amp;lt;tex&amp;gt;F(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots = \dfrac{C}{1 - k \cdot x}&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;(a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots) \cdot (1 - k \cdot x) = C&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пользуясь правилом перемножения формальных степенных рядов, получаем&lt;br /&gt;
*: &amp;lt;tex&amp;gt; C = a_0 \cdot 1 = 1 \cdot 1 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Следовательно, &amp;lt;tex&amp;gt; F(t) = \dfrac{1}{1 - k \cdot x}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Таким образом, &amp;lt;tex&amp;gt; 1 + k \cdot t + (k \cdot t)^2 + \ldots + (k \cdot t)^n + \ldots = \sum\limits_{n = 0}^{\infty}k^n \cdot t^n = \dfrac{1}{1 - k \cdot x}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Частным случаем этой формулы являются соотношения &amp;lt;tex&amp;gt;1 + t + t^2 + \ldots t^n + \cdots = \sum\limits_{n = 0}^{\infty}t^n =\dfrac{1}{1 - x}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1 - t + t^2 + \ldots (-1)^n \cdot t^n + \cdots = \sum\limits_{n = 0}^{\infty}(-1)^n \cdot t^n = \dfrac{1}{1 + x}&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63934</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63934"/>
				<updated>2018-03-04T17:21:47Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Примеры применения теоремы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
* Вычислим производящую функцию последовательности &amp;lt;tex&amp;gt;a_0 = 1, a_n = k \cdot a_{n - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Так как последовательность задана линейной рекуррентой, её производящая функция, согласно теореме, имеет вид &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;Q(t) = 1 - k \cdot x&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;c_1 = k&amp;lt;/tex&amp;gt;), а &amp;lt;tex&amp;gt;deg(P) &amp;lt; 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*: Будем искать производящую функцию в виде &amp;lt;tex&amp;gt;F(t) = \dfrac{C}{1 - k \cdot x}, C \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пусть &amp;lt;tex&amp;gt;F(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots = \dfrac{C}{1 - k \cdot x}&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;(a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots) \cdot (1 - k \cdot x) = C&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пользуясь правилом перемножения формальных степенных рядов, получаем&lt;br /&gt;
*: &amp;lt;tex&amp;gt; C = a_0 \cdot 1 = 1 \cdot 1 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Следовательно, &amp;lt;tex&amp;gt; F(t) = \dfrac{1}{1 - k \cdot x}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Таким образом, &amp;lt;tex&amp;gt; 1 + k \cdot t + (k \cdot t)^2 + \ldots + (k \cdot t)^n + \ldots = \sum\limits_{n = 0}^{\infty}(k \cdot t)^n = \dfrac{1}{1 - k \cdot x}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Частным случаем этой формулы являются соотношения &amp;lt;tex&amp;gt;1 + t + t^2 + \ldots t^n + \cdots = \sum\limits_{n = 0}^{\infty}(t)^n =\dfrac{1}{1 - x}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1 - t + t^2 + \ldots (-1)^n \cdot t^n + \cdots = \sum\limits_{n = 0}^{\infty}(-1)^n \cdot t^n = \dfrac{1}{1 + x}&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63933</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63933"/>
				<updated>2018-03-04T17:19:40Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Примеры применения теоремы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
* Вычислим производящую функцию последовательности &amp;lt;tex&amp;gt;a_0 = 1, a_n = k \cdot a_{n - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Так как последовательность задана линейной рекуррентой, её производящая функция, согласно теореме, имеет вид &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;Q(t) = 1 - k \cdot x&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;c_1 = k&amp;lt;/tex&amp;gt;), а &amp;lt;tex&amp;gt;deg(P) &amp;lt; 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*: Будем искать производящую функцию в виде &amp;lt;tex&amp;gt;F(t) = \dfrac{C}{1 - k \cdot x}, C \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пусть &amp;lt;tex&amp;gt;F(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots = \dfrac{C}{1 - k \cdot x}&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;(a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots) \cdot (1 - k \cdot x) = C&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пользуясь правилом перемножения формальных степенных рядов, получаем&lt;br /&gt;
*: &amp;lt;tex&amp;gt; C = a_0 \cdot 1 = 1 \cdot 1 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Следовательно, &amp;lt;tex&amp;gt; F(t) = \dfrac{1}{1 - k \cdot x}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Таким образом, &amp;lt;tex&amp;gt; 1 + k \cdot t + (k \cdot t)^2 + \ldots + (k \cdot t)^n + \ldots = \dfrac{1}{1 - k \cdot x}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Частным случаем этой формулы являются соотношения &amp;lt;tex&amp;gt;1 + t + t^2 + \ldots t^n + \cdots = \dfrac{1}{1 - x}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1 - t + t^2 + \ldots (-1)^n \cdot t^n + \cdots = \dfrac{1}{1 + x}&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63932</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63932"/>
				<updated>2018-03-04T17:17:13Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Примеры применения теоремы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
* Вычислим производящую функцию последовательности &amp;lt;tex&amp;gt;a_0 = 1, a_n = k \cdot a_{n - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Так как последовательность задана линейной рекуррентой, её производящая функция, согласно теореме, имеет вид &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;Q(t) = 1 - k \cdot x&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;c_1 = k&amp;lt;/tex&amp;gt;), а &amp;lt;tex&amp;gt;deg(P) &amp;lt; 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*: Будем искать производящую функцию в виде &amp;lt;tex&amp;gt;F(t) = \dfrac{C}{1 - k \cdot x}, C \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пусть &amp;lt;tex&amp;gt;F(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots = \dfrac{C}{1 - k \cdot x}&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;(a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots) \cdot (1 - k \cdot x) = C&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пользуясь правилом перемножения формальных степенных рядов, получаем&lt;br /&gt;
*: &amp;lt;tex&amp;gt; C = a_0 \cdot 1 = 1 \cdot 1 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Следовательно, &amp;lt;tex&amp;gt; F(t) = \dfrac{1}{1 - k \cdot x}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Таким образом, &amp;lt;tex&amp;gt; 1 + k \cdot t + (k \cdot t)^2 + \ldots + (k \cdot t)^n + \ldots = \dfrac{1}{1 - k \cdot x}&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63931</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63931"/>
				<updated>2018-03-04T17:16:18Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Примеры применения теоремы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
* Вычислим производящую функцию последовательности &amp;lt;tex&amp;gt;a_0 = 1, a_n = k \cdot a_{n - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Так как последовательность задана линейной рекуррентой, её производящая функция, согласно теореме, имеет вид &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;Q(t) = 1 - k \cdot x&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;c_1 = k&amp;lt;/tex&amp;gt;), а &amp;lt;tex&amp;gt;deg(P) &amp;lt; 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*: Будем искать производящую функцию в виде &amp;lt;tex&amp;gt;F(t) = \dfrac{C}{1 - k \cdot x}, C \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пусть &amp;lt;tex&amp;gt;F(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots = \dfrac{C}{1 - k \cdot x}&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;(a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots) \cdot (1 - k \cdot x) = C&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пользуясь правилом перемножения формальных степенных рядов, получаем&lt;br /&gt;
*: &amp;lt;tex&amp;gt; C = a_0 \cdot 1 = 1 \cdot 1 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Следовательно, &amp;lt;tex&amp;gt; F(t) = \dfrac{1}{1 - k \cdot x}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Таким образом, &amp;lt;tex&amp;gt; 1 + k \cdot t + (k \cdot t)^2 + \ldots + (k \cdot t)^n = \dfrac{1}{1 - k \cdot x}&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63930</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63930"/>
				<updated>2018-03-04T17:09:33Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Примеры применения теоремы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
* Вычислим производящую функцию последовательности &amp;lt;tex&amp;gt;a_0 = 1, a_n = a_{n - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Так как последовательность задана линейной рекуррентой, её производящая функция, согласно теореме, имеет вид &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;Q(t) = 1 - x&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;c_1 = 1&amp;lt;/tex&amp;gt;), а &amp;lt;tex&amp;gt;deg(P) &amp;lt; 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*: Будем искать производящую функцию в виде &amp;lt;tex&amp;gt;F(t) = \dfrac{C}{1 - x}, C \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пусть &amp;lt;tex&amp;gt;F(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots = \dfrac{C}{1 - x}&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;(a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots) \cdot (1 - x) = C&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пользуясь правилом перемножения формальных степенных рядов, получаем&lt;br /&gt;
*: &amp;lt;tex&amp;gt; C = a_0 \cdot 1 = 1 \cdot 1 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Следовательно, &amp;lt;tex&amp;gt; F(t) = \dfrac{1}{1 - x}&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63929</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63929"/>
				<updated>2018-03-04T17:09:15Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Примеры применения теоремы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
* Вычислим производящую функцию последовательности &amp;lt;tex&amp;gt;a_0 = 1, a_n = a_{n - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Так как последовательность задана линейной рекуррентой, её производящая функция, согласно теореме, имеет вид &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;Q(t) = 1 - x&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;c_1 = 1&amp;lt;/tex&amp;gt;), а &amp;lt;tex&amp;gt;deg(P) &amp;lt; 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*: Будем искать производящую функцию в виде &amp;lt;tex&amp;gt;F(t) = \dfrac{C}{1 - x}, C \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пусть &amp;lt;tex&amp;gt;F(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots &amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots = \dfrac{C}{1 - x}&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;(a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots) \cdot (1 - x) = C&amp;lt;/tex&amp;gt;&lt;br /&gt;
*: Пользуясь правилом перемножения формальных степенных рядов, получаем&lt;br /&gt;
*: &amp;lt;tex&amp;gt; C = a_0 \cdot 1 = 1 \cdot 1 = 1&amp;lt;tex&amp;gt;&lt;br /&gt;
*: Следовательно, &amp;lt;tex&amp;gt; F(t) = \dfrac{1}{1 - x}&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63928</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63928"/>
				<updated>2018-03-04T16:54:13Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63927</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63927"/>
				<updated>2018-03-04T16:50:28Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Теорема о связи этих определений */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63926</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63926"/>
				<updated>2018-03-04T16:50:16Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Теорема о связи */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63925</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63925"/>
				<updated>2018-03-04T16:50:00Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&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;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63924</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63924"/>
				<updated>2018-03-04T16:49:26Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о связи ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63923</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63923"/>
				<updated>2018-03-04T16:46:58Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Необходимые определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ. ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о связи ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63922</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63922"/>
				<updated>2018-03-04T16:46:32Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Необходимые определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной(англ. ''rational''), если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой (англ ''constant-recursive''), если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о связи ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63921</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63921"/>
				<updated>2018-03-04T16:43:25Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о связи ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63920</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63920"/>
				<updated>2018-03-04T15:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о связи ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(P) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg(Q) = k, deg(Q) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg(P) &amp;lt; k, \forall n \geqslant k &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg(Q) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg(Q) = k, deg(P) &amp;lt; k&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63919</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63919"/>
				<updated>2018-03-04T15:38:48Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о связи ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg Q(t) = k, deg P(t) &amp;lt; k&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63918</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63918"/>
				<updated>2018-03-04T15:35:47Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Необходимые определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; {{---}} многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg Q(t) = k, deg P(t) &amp;lt; k&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63917</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63917"/>
				<updated>2018-03-04T15:35:30Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Источники информации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg Q(t) = k, deg P(t) &amp;lt; k&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;
С. А. Ландо {{---}} Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63916</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63916"/>
				<updated>2018-03-04T15:32:43Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Необходимые определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=[[Производящая функция#main|Производящая функция]] &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg Q(t) = k, deg P(t) &amp;lt; k&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;
С. А. Ландо - Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B0%D1%8F_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F&amp;diff=63915</id>
		<title>Производящая функция</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B0%D1%8F_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F&amp;diff=63915"/>
				<updated>2018-03-04T15:32:05Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение &lt;br /&gt;
|id=main&lt;br /&gt;
|definition=&lt;br /&gt;
'''Производящая функция''' (англ. ''generating function'') — это формальный степенной ряд:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;G(z)=\sum\limits_{n=0}^\infty a_n z^n&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
порождающий (производящий) последовательность &amp;lt;tex&amp;gt;(a_0, a_1, a_2, \ldots)&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
Метод производящих функций был разработан Эйлером в 1750-х годах.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Применение ==&lt;br /&gt;
Производящая функция используется для:&lt;br /&gt;
&lt;br /&gt;
* Компактной записи информации о последовательности.&lt;br /&gt;
* Нахождения зависимости &amp;lt;tex&amp;gt;a_n(n)&amp;lt;/tex&amp;gt; для последовательности &amp;lt;tex&amp;gt;a_n&amp;lt;/tex&amp;gt;, заданной рекуррентным соотношением. Например, для чисел Фибоначчи.&lt;br /&gt;
* Нахождения рекуррентного соотношения для последовательности {{---}} вид производящей функции может помочь найти формулу.&lt;br /&gt;
* Исследования асимптотического поведения последовательности.&lt;br /&gt;
* Доказательства тождеств с последовательностями.&lt;br /&gt;
* Решения задачи подсчета объектов в комбинаторике. Например, в доказательстве [[Нахождение количества разбиений числа на слагаемые|пентагональной теоремы]] или в задаче нахождения количества расстановок &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; ладей на доске &amp;lt;tex&amp;gt;n \times n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Вычисления бесконечных сумм.&lt;br /&gt;
&lt;br /&gt;
== Примеры производящих функций ==&lt;br /&gt;
Рассмотрим производящие функции для различных комбинаторных последовательностей:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;\prod\limits_{ n = 1}^\infty(1-x^n)&amp;lt;/tex&amp;gt; {{---}} производящая функция для разности количества разбиений числа &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в четное и нечетное число различных слагаемых. Например, коэффициент при &amp;lt;tex&amp;gt;x^5&amp;lt;/tex&amp;gt; равен &amp;lt;tex&amp;gt;+1&amp;lt;/tex&amp;gt;, потому что существует два разбиения на четное число различных слагаемых &amp;lt;tex&amp;gt;(4+1; 3+2)&amp;lt;/tex&amp;gt; и одно на нечетное (&amp;lt;tex&amp;gt;5&amp;lt;/tex&amp;gt;). Правильность этого легко осознать, если понять, что каждая скобка представляет какое-то слагаемое и мы можем его взять (второе слагаемое {{---}} &amp;lt;tex&amp;gt;-x^k&amp;lt;/tex&amp;gt;) или не взять (первое {{---}} &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;). Эта производящая функция используется в комбинаторном доказательстве пентагональной теоремы.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt; \prod\limits_{n=1}^\infty \dfrac{1}{1-x^n}&amp;lt;/tex&amp;gt; {{---}} производящая функция для последовательности &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p_i&amp;lt;/tex&amp;gt; {{---}} число разбиений числа &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; на слагаемые.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;\prod\limits_{ n = 1}^\infty(1+x^n)&amp;lt;/tex&amp;gt; {{---}} производящая функция для последовательности &amp;lt;tex&amp;gt;d_n&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;d_i&amp;lt;/tex&amp;gt; {{---}} число разбиений на различные слагаемые.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;\prod\limits_{n=1}^\infty(1+x^{ 2n - 1})&amp;lt;/tex&amp;gt; {{---}} производящая функция для последовательности &amp;lt;tex&amp;gt;l_n&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;l_i&amp;lt;/tex&amp;gt; {{---}} число разбиений на нечётные слагаемые. С помощью метода производящих функций можно доказать, что производящие функции последовательностей равны, соответственно &amp;lt;tex&amp;gt;d_n = l_n &amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;\prod\limits_{n=1}^\infty(1+x^{ n})=\prod\limits_{n=1}^\infty \dfrac{1-x^{2n}}{1-x^n}=\dfrac{1-x^2}{1-x}\dfrac{1-x^4}{1-x^2}\dfrac{1-x^6}{1-x^3}\ldots=&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;=\dfrac{1}{1-x}\dfrac{1}{1-x^3}\dfrac{1}{1-x^5}\ldots=\prod\limits_{n=1}^\infty(1+x^{ 2n - 1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры решений задач методом производящих функций ==&lt;br /&gt;
=== Решение рекуррентных соотношений ===&lt;br /&gt;
Существует целый класс последовательностей, задаваемых рекуррентным соотношением, например, &amp;lt;tex&amp;gt;f_n&amp;lt;/tex&amp;gt; {{---}} числа Фибоначчи или &amp;lt;tex&amp;gt;C_n&amp;lt;/tex&amp;gt; {{---}}&lt;br /&gt;
[[Числа Каталана | числа Каталана]]. Метод производящих функций позволяет получить выражение для &amp;lt;tex&amp;gt;a_n&amp;lt;/tex&amp;gt; через номер элемента в последовательности в замкнутом виде, то есть в таком виде, что выражение можно вычислить, предполагая, что &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt; достаточно мало.&lt;br /&gt;
&lt;br /&gt;
Пусть последовательность &amp;lt;tex&amp;gt;(a_0, a_1, a_2, \ldots)&amp;lt;/tex&amp;gt; удовлетворяет некоторому рекуррентному соотношению. Мы хотим получить выражение для &amp;lt;tex&amp;gt;a_n&amp;lt;/tex&amp;gt; (при &amp;lt;tex&amp;gt;n \geqslant 0&amp;lt;/tex&amp;gt;) в замкнутом виде. Алгоритм получения замкнутого выражения для чисел &amp;lt;tex&amp;gt;a_n&amp;lt;/tex&amp;gt;, удовлетворяющих рекуррентному соотношению, с помощью производящих функций состоит из 4 шагов:&lt;br /&gt;
&lt;br /&gt;
# Записать рекуррентное соотношение и начальные данные для него в следующем виде (если порядок соотношения равен &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, то есть количество предшествующих элементов, требуемых для вычисления элемента с номером &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, равно &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;):&lt;br /&gt;
#: &amp;lt;tex&amp;gt;a_0=\ldots,&amp;lt;/tex&amp;gt;&lt;br /&gt;
#: &amp;lt;tex&amp;gt;a_1=\ldots,&amp;lt;/tex&amp;gt;&lt;br /&gt;
#: &amp;lt;tex&amp;gt;\ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
#: &amp;lt;tex&amp;gt;a_{k-1}=\ldots,&amp;lt;/tex&amp;gt;&lt;br /&gt;
#: &amp;lt;tex&amp;gt;a_{n}=\ldots, n \geqslant k.&amp;lt;/tex&amp;gt;&lt;br /&gt;
# Домножить каждую строчку на &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt; в соответствующей степени и просуммировать строчки для всех &amp;lt;tex&amp;gt;n \geqslant 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
# В полученном уравнении привести все суммы к замкнутому виду. Получить уравнение для производящей функции.&lt;br /&gt;
# Выразить &amp;lt;tex&amp;gt;G(z)&amp;lt;/tex&amp;gt; в явном виде (решить уравнение, полученное на предыдущем шаге) и разложить производящую функцию в ряд по степеням &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Для демонстрации универсальности метода рассмотрим довольно произвольное рекуррентное соотношение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_0= 1,&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_1= 2,&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n= 6a_{ n - 1}-8a_{n-2}+n, n \geqslant 2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запишем производящую функцию для этой последовательности и преобразуем правую часть:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;G(z)=a_0+a_1z+\sum\limits_{n=2}^\infty(6a_{ n - 1}-8a_{n-2}+n) z^n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;G(z)=a_0+a_1z+6\sum\limits_{n=2}^\infty a_ { n-1}&lt;br /&gt;
z^n - 8\sum\limits_{n=2}^\infty a_ { n-2}&lt;br /&gt;
z^n+\sum\limits_{n=2}^\infty n z^n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;G(z)=a_0+a_1z+6z\sum\limits_{n=1}^\infty a_ { n }&lt;br /&gt;
z^n - 8z^2\sum\limits_{n=0}^\infty a_ { n }&lt;br /&gt;
z^n+\sum\limits_{n=2}^\infty n z^n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;G(z)=a_0+a_1z+6z(G(z)-a_0) - 8z^2G(z)+\sum\limits_{n=2}^\infty n z^n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;G(z)=1-4z+6zG(z) - 8z^2G(z)+\sum\limits_{n=2}^\infty n z^n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы замкнуть последнюю сумму воспользуемся очень важным приемом, который используется при преобразовании производящих функций. Фактически мы имеем дело с последовательностью &amp;lt;tex&amp;gt;nb_n&amp;lt;/tex&amp;gt; (в нашем случае последовательность &amp;lt;tex&amp;gt;b_n= (1, 1, 1, \ldots)&amp;lt;/tex&amp;gt;). Такая последовательность получается путём дифференцирования функции &amp;lt;tex&amp;gt;B(z)&amp;lt;/tex&amp;gt;, производящей для &amp;lt;tex&amp;gt;b_n&amp;lt;/tex&amp;gt;, с последующим умножением результата на &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;zB'(z)=z(\sum\limits_{n=0}^\infty b_n z^n)'=z\sum\limits_{ n = 1}^\infty nb_n z^{n-1}=\sum\limits_{n=0}^\infty nb_n z^n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Тогда замкнем последнее слагаемое следующим образом:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{n=2}^\infty n z^n=z \sum\limits_{n=2}^\infty n z^{n-1}= z(\sum\limits_{ n = 2}^\infty z^n)'&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{n=2}^\infty z^n=\sum\limits_{n=0}^\infty z^n-1-z=\dfrac{1}{1-z}-1-z=\dfrac{z^2}{1-z}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;z(\dfrac{ z ^ 2}{1-z})'=\dfrac{z^2(2-z)}{(1-z)^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Таким образом, наше последнее слагаемое примет вид:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;G(z)=1-4z+6zG(z) - 8z^2G(z)+\dfrac{z^2(2-z)}{(1-z)^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Это уравнение для производящей функции. Из него выражаем &amp;lt;tex&amp;gt;G(z)&amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;G(z)=\dfrac{1-6z+11z^2-5z^3}{(1-6z+8z^2)(1-z)^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Разложим знаменатель на множители и разобьём дробь на сумму простых дробей &amp;lt;ref&amp;gt;[http://www.genfunc.ru/theory/pril04/ О разложении рациональной функции в ряд]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; G(z) =\dfrac{1-6z+11z^2-5z^3}{(1-6z+8z^2)(1-z)^2}=\dfrac{1-6z+11z^2-5z^3}{(1-2z)(1-4z)(1-z)^2}=\dfrac{1/3}{(1-z)^2}+\dfrac{7/9}{1-z}-\dfrac{1/2}{1-2z}+\dfrac{7/18}{1-4z}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разложим первое слагаемое в ряд, используя расширенные биномиальные коэффициенты &amp;lt;ref&amp;gt;[http://www.genfunc.ru/theory/pril02/ Расширенные биномиальные коэффициенты]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\dfrac{ 1}{(1-z)^2}=(1-z)^{-2}=\sum\limits_{n=0}^{\infty} {-2\choose n}(-z)^n=\sum\limits_{n=0}^{\infty} (-1)^n{n+1\choose 1}(-z)^n=\sum\limits_{n=0}^{\infty}(n+1)z^n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;G(z)=\dfrac{1/3}{(1-z)^2}+\dfrac{7/9}{1-z}-\dfrac{1/2}{1-2z}+\dfrac{7/18}{1-4z}=\dfrac{1}{3}\sum\limits_{n=0}^{\infty} (n+1)z^n +\dfrac{7}{9}\sum\limits_{n=0}^{\infty} z^n - \dfrac{1}{2}\sum\limits_{n=0}^{\infty} 2^n z^n + \dfrac{7}{18}\sum\limits_{n=0}^{\infty} 4^n z^n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n=\dfrac{n+1}{3}+\dfrac{7}{9}-\dfrac{2^n}{2}+\dfrac{7 \cdot 4^n}{18}=\dfrac{7 \cdot 4^n+6n+20}{18}-2^{n-1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Расчет дисперсии геометрического распределения ===&lt;br /&gt;
Метод производящих функций также используется для нахождения [[Дисперсия случайной величины | математического ожидания и дисперсии]] различных распределений в теории вероятностей. Например, в геометрическом распределении &amp;lt;ref&amp;gt;[http://ru.wikipedia.org/wiki/%D0%93%D0%B5%D0%BE%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 Геометрическое распределение]&amp;lt;/ref&amp;gt; для нахождения дисперсии &amp;lt;tex&amp;gt;\operatorname{D}(\xi)=\operatorname{E}(\xi^2)-(\operatorname{E}(\xi))^2&amp;lt;/tex&amp;gt; нужно найти два мат. ожидания:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;\operatorname{E}(\xi)=\sum\limits_{n=1}^{\infty}n p(1-p)^{n-1} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;\operatorname{E}(\xi^2) = \sum\limits_{n=1}^{\infty}n^{2}p(1-p)^{n-1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
которые фактически являются производящими функциями последовательностей &amp;lt;tex&amp;gt;1, 2, 3\ldots&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1, 4, 9\ldots&amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;\operatorname{ E}(\xi)=\sum\limits_{n=1}^{\infty}n p(1-p)^{n-1} = &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{n=0}^{\infty}(n+1) p(1-p)^{n} = &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{n=0}^{\infty}n p(1-p)^{n} + \sum\limits_{n=1}^{\infty} p(1-p)^{n-1} = &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;= (1-p) \operatorname{E}(\xi) +1 \Rightarrow \operatorname{E}(\xi) = \dfrac{1}{p}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;\operatorname{E}(\xi^2) = p\sum\limits_{n=1}^{\infty}n^{2}(1-p)^{n-1} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;=p\sum\limits_{n=1}^{\infty}n(n+1)(1-p)^{n-1} - p\sum\limits_{n=1}^{\infty}n(1-p)^{n-1} =&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;= p\dfrac{\operatorname{d}^{2}}{\operatorname{d}p^{2}}\sum\limits_{n=1}^{\infty}(1-p)^{n+1} + p\dfrac{\operatorname{d}}{\operatorname{d}p}\sum\limits_{n=1}^{\infty}(1-p)^{n} =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;= p\dfrac{\operatorname{d}^{2}}{\operatorname{d}p^{2}}\left(\sum\limits_{ n = 0}^{\infty}(1-p)^{n} \cdot(1-p)^2\right) +p\dfrac{\operatorname{d}}{\operatorname{d}p}\left(\sum\limits_{ n = 0}^{\infty}(1-p)^{n}\cdot(1-p)\right) =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;= p\dfrac{\operatorname{d}^{2}}{\operatorname{d}p^{2}}\left(\dfrac{ 1}{1-(1-p)} \cdot(1-p)^2\right) +p\dfrac{\operatorname{d}}{\operatorname{d}p}\left(\dfrac{ 1}{1-(1-p)}\cdot(1-p)\right) =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;= p\dfrac{\operatorname{d}^{2}}{\operatorname{d}p^{2}}\left(\dfrac{ (1 - p) ^ 2}{p}\right) +p\dfrac{\operatorname{d}}{\operatorname{d}p}\left(\dfrac{ 1 - p}{p}\right) =&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;= p\cdot\dfrac{2}{p^3} - p\cdot\dfrac{1}{p^2} = \dfrac{2}{p^{2}} - \dfrac{1}{p} = \dfrac{2-p}{p^{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\operatorname{D}(\xi)=\operatorname{E}(\xi^2)-(\operatorname{E}(\xi))^2= \dfrac{2-p}{p^{2}}-\dfrac{1}{p^2}=\dfrac{1-p}{p^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Пример задачи на нахождение производящей функции ===&lt;br /&gt;
{{Задача&lt;br /&gt;
| about = &lt;br /&gt;
| definition = Рассмотрим множество путей на прямой, состоящих из шагов длины &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;0&amp;lt;/tex&amp;gt; и оканчивающихся в &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Заметим, что для того, чтобы закончить путь в &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;, необходимо совершить равное число шагов вправо и влево. Тогда задача сводится к тому, чтобы выбрать &amp;lt;tex&amp;gt;\dfrac{n}{2}&amp;lt;/tex&amp;gt; позиций для, например, шагов вправо из всего &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;C^{n}_{2n}&amp;lt;/tex&amp;gt;. То есть:&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
g(x) = \sum\limits_{0}^{\infty} C^{n}_{2n} x^n&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt;f(x) = \sum\limits_{0}^{\infty} C_n x^n &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;C_n&amp;lt;/tex&amp;gt; {{---}} [[Числа Каталана | число Каталана]]. Тогда, заметим что &amp;lt;tex&amp;gt;f'(x) = \sum\limits_{0}^{\infty} n C_n x^{n-1} &amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;C_n = \dfrac{1}{n+1} C_{2n}^n &amp;lt;/tex&amp;gt;, то справедливо равенство:&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
g(x) = (n+1)f(x) = xf'(x) + f(x)&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Мы знаем, что производящая функция для чисел Каталана равна &amp;lt;tex&amp;gt;f(x) = \dfrac{1-\sqrt{1-4x}}{2x}&amp;lt;/tex&amp;gt;. Найдем &amp;lt;tex&amp;gt;f'(x)&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
f'(x) = \dfrac{\dfrac{4x}{\sqrt{1-4x}} - 2 + 2\sqrt{1-4x}}{4x^2} = \dfrac{1 - 2x - \sqrt{1-4x}}{2x^2 \sqrt{1-4x}}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Соответственно, ответом будет производящая функция вида:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
g(x) = \dfrac{1 - 2x - \sqrt{1-4x}}{2x \sqrt{1-4x}} + \dfrac{1-\sqrt{1-4x}}{2x}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Задача&lt;br /&gt;
| about = &lt;br /&gt;
| definition = Рассмотрим множество путей на прямой, состоящих из шагов длины &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;0&amp;lt;/tex&amp;gt; и не заходящих в отрицательную полупрямую.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Заметим, что задача аналогична [[Правильные скобочные последовательности | Правильной скобочной последовательности]]. Тогда производящей функцией для нашей задачи будет производящая функция для правильной скобочной последовательности, а именно:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
g(x) = \dfrac{1-\sqrt{1-4x}}{2x}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Приложения ==&lt;br /&gt;
=== Примеры простых производящих функций ===&lt;br /&gt;
На последнем шаге приведения производящей функции к замкнутому виду требуется разложить полученные слагаемые в ряд. Для этого можно воспользоваться таблицей основных производящих функций &amp;lt;ref&amp;gt;[http://www.genfunc.ru/theory/pril03/ Таблица производящих функций]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Все суммы выполняются по переменной &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; от &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;\infty&amp;lt;/tex&amp;gt;. Элементы последовательности нумеруются от &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:30cm&amp;quot; border=1&lt;br /&gt;
|+&lt;br /&gt;
|-align=&amp;quot;center&amp;quot; bgcolor=#EEEEFF&lt;br /&gt;
| '''Последовательность''' || '''Производящая функция в виде ряда''' || '''Производящая функция в замкнутом виде'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(1, 0, 0,\ldots)&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;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(0, 0, \ldots, 0, 1, 0, 0\ldots)&amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; нулей в начале) || &amp;lt;tex&amp;gt;z^m&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;z^m&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(1, 1, 1,\ldots)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits z^n&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\dfrac{1}{1-z}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(1, 0, 0, \ldots, 0, 1, 0, 0, \ldots 0, 1, 0, 0\ldots)&amp;lt;/tex&amp;gt; (повторяется через &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;) || &amp;lt;tex&amp;gt;\sum\limits z^{nm}&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\dfrac{1}{1-z^m}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(1, -1, 1, -1,\ldots)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits (-1)^nz^n&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\dfrac{1}{1+z}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(1, 2, 3, 4,\ldots)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits (n+1)z^n&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\dfrac{1}{(1-z)^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(1, 2, 4, 8, 16,\ldots)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits 2^nz^n&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\dfrac{1}{(1-2z)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(1, r, r^2, r^3,\ldots)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits r^nz^n&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\dfrac{1}{(1-rz)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;{m\choose 0}, {m\choose 1}, {m\choose 2}, {m\choose 3},\ldots&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits {m\choose n}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;z^n&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;(1+z)^m&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;1, {{m}\choose m}, {{m+1}\choose m}, {{m+2}\choose m},\ldots&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits {{m+n-1}\choose n}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;z^n&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\dfrac{1}{(1-z)^m}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;1, {{m+1}\choose m}, {{m+2}\choose m}, {{m+3}\choose m},\ldots&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits {{m+n}\choose n}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;z^n&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\dfrac{1}{(1-z)^{m+1}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(0, 1, -\dfrac{1}{2}, \dfrac{1}{3}, -\dfrac{1}{4},\ldots)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits \dfrac{(-1)^{n+1}}{n}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;z^n&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\ln(1+z)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(1, 1, \dfrac{1}{2}, \dfrac{1}{6}, \dfrac{1}{24},\ldots)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits \dfrac{1}{n!}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;z^n&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;e^z&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(1, -\dfrac{1}{2!}m^2, \dfrac{1}{4!}m^4, -\dfrac{1}{6!}m^6, \dfrac{1}{8!}m^8,\ldots)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits \dfrac{1}{(2n)!}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;m^{(2n)}&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\cos m&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-align=&amp;quot;left&amp;quot; bgcolor=#FFFFFF&lt;br /&gt;
| &amp;lt;tex&amp;gt;(m, -\dfrac{1}{3!}m^3, \dfrac{1}{5!}m^5, -\dfrac{1}{7!}m^7, \dfrac{1}{9!}m^9,\ldots)&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sum\limits \dfrac{1}{(2n-1)!}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;m^{(2n-1)}&amp;lt;/tex&amp;gt; || &amp;lt;tex&amp;gt;\sin m&amp;lt;/tex&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники информации == &lt;br /&gt;
* [http://kvant.mirror1.mccme.ru/1988/11/razbienie_chisel.htm Вайнштейн Ф., Разбиение чисел. Журнал &amp;quot;Квант&amp;quot; № 11, 1988 год]&lt;br /&gt;
* [http://www.genfunc.ru/ Производящие функции]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Generating_function Wikipedia {{---}} Generating function]&lt;br /&gt;
* [[Нахождение количества разбиений числа на слагаемые|Нахождение количества разбиений числа на слагаемые. Пентагональная теорема Эйлера]]&lt;br /&gt;
* Graham, Knuth, and Patashnik: Concrete Mathematics&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Подсчёт числа объектов]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63914</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63914"/>
				<updated>2018-03-04T15:31:27Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 \ldots a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, \ldots, a_n, \ldots &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + \ldots + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + \ldots + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - \ldots -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + \ldots + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + \ldots + a_k \cdot t^k + \ldots + a_n \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - \ldots - c_1 \cdot a_{k - 1} \cdot t^k - \ldots - c_1 \cdot a_{n - 1} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - \ldots - c_2 \cdot a_{k - 2} \cdot t^k - \ldots - c_2 \cdot a_{n - 2} \cdot t^n - \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + \ldots - c_k \cdot a_0 \cdot t^k - \ldots - c_k \cdot a_{n - k} \cdot t^n + \ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + \ldots + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + \ldots&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \ldots + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg Q(t) = k, deg P(t) &amp;lt; k&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;
С. А. Ландо - Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63913</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63913"/>
				<updated>2018-03-04T15:29:50Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Смотри также */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 ... a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + ... + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + ... + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - ... -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + ... + a_k \cdot t^k + ... + a_n \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - ... - c_1 \cdot a_{k - 1} \cdot t^k - ... - c_1 \cdot a_{n - 1} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - ... - c_2 \cdot a_{k - 2} \cdot t^k - ... - c_2 \cdot a_{n - 2} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + ... - c_k \cdot a_0 \cdot t^k - ... - c_k \cdot a_{n - k} \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + ... + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + ...&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg Q(t) = k, deg P(t) &amp;lt; k&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;
С. А. Ландо - Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63912</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63912"/>
				<updated>2018-03-04T15:29:38Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 ... a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + ... + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + ... + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - ... -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + ... + a_k \cdot t^k + ... + a_n \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - ... - c_1 \cdot a_{k - 1} \cdot t^k - ... - c_1 \cdot a_{n - 1} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - ... - c_2 \cdot a_{k - 2} \cdot t^k - ... - c_2 \cdot a_{n - 2} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + ... - c_k \cdot a_0 \cdot t^k - ... - c_k \cdot a_{n - k} \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + ... + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + ...&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg Q(t) = k, deg P(t) &amp;lt; k&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;
С. А. Ландо - Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63911</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63911"/>
				<updated>2018-03-04T15:27:45Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 ... a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + ... + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + ... + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - ... -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + ... + a_k \cdot t^k + ... + a_n \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - ... - c_1 \cdot a_{k - 1} \cdot t^k - ... - c_1 \cdot a_{n - 1} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - ... - c_2 \cdot a_{k - 2} \cdot t^k - ... - c_2 \cdot a_{n - 2} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + ... - c_k \cdot a_0 \cdot t^k - ... - c_k \cdot a_{n - k} \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + ... + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + ...&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
С. А. Ландо - Лекции о производящих функциях, стр 24&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;br /&gt;
[[Категория: Производящие функции]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63910</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63910"/>
				<updated>2018-03-04T15:23:37Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Необходимые определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 ... a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + ... + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + ... + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - ... -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + ... + a_k \cdot t^k + ... + a_n \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - ... - c_1 \cdot a_{k - 1} \cdot t^k - ... - c_1 \cdot a_{n - 1} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - ... - c_2 \cdot a_{k - 2} \cdot t^k - ... - c_2 \cdot a_{n - 2} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + ... - c_k \cdot a_0 \cdot t^k - ... - c_k \cdot a_{n - k} \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + ... + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + ...&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63909</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63909"/>
				<updated>2018-03-04T15:23:01Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Необходимые определения ===&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \dfrac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 ... a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Теорема ===&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \dfrac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + ... + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + ... + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - ... -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + ... + a_k \cdot t^k + ... + a_n \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - ... - c_1 \cdot a_{k - 1} \cdot t^k - ... - c_1 \cdot a_{n - 1} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - ... - c_2 \cdot a_{k - 2} \cdot t^k - ... - c_2 \cdot a_{n - 2} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + ... - c_k \cdot a_0 \cdot t^k - ... - c_k \cdot a_{n - k} \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + ... + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + ...&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63895</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63895"/>
				<updated>2018-03-02T22:35:13Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \frac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 ... a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \frac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \frac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + ... + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + ... + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - ... -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Напишем друг под другом несколько производящих функций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\:&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) = a_0 + a_1 \cdot t + a_2 \cdot t^2 + ... + a_k \cdot t^k + ... + a_n \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_1 \cdot t \cdot A(t) = 0 - c_1 \cdot a_0 \cdot t - c_1 \cdot a_1 \cdot t^2 - ... - c_1 \cdot a_{k - 1} \cdot t^k - ... - c_1 \cdot a_{n - 1} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_2 \cdot t^2 \cdot A(t) = 0 + 0 - c_2 \cdot a_0 \cdot t^2 - ... - c_2 \cdot a_{k - 2} \cdot t^k - ... - c_2 \cdot a_{n - 2} \cdot t^n - ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\cdots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;-c_k \cdot t^k \cdot A(t) = 0 + 0 + 0 + ... - c_k \cdot a_0 \cdot t^k - ... - c_k \cdot a_{n - k} \cdot t^n + ...&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почленно складывая эти формальные степенные ряды, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1} + (a_k - \sum\limits_{i = 1}^k c_i \cdot a_{k - i}) \cdot t^k + ... + (a_n - \sum\limits_{i = 1}^n c_i \cdot a_{n - i}) \cdot t^n + ...&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\forall n \geqslant k: a_n = \sum\limits_{i = 1}^n c_i \cdot a_{n - i}&amp;lt;/tex&amp;gt;, то все коэффициенты старше &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-ой степени включительно обнулятся.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + \\ + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;Q(t) = (1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k)&amp;lt;/tex&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
а &amp;lt;tex&amp;gt;P(t) = a_0 + (a_1 - c_1 \cdot a_0) \cdot t + (a_2 - c_1 \cdot a_1 - c_2 \cdot a_0) \cdot t^2 + ... + (a_k - \sum\limits_{i = 1}^{k - 1} c_i \cdot a_{k - 1 - i}) \cdot t^{k - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t), deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63894</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63894"/>
				<updated>2018-03-02T22:04:30Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \frac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 ... a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;A(t) = \frac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;A(t) = \frac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;A(t) \cdot Q(t) = P(t)&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Q(t)&amp;lt;/tex&amp;gt; имеет вид &amp;lt;tex&amp;gt;Q(t) = 1 - c_1 \cdot t - c_2 \cdot t^2 - ... - c_k \cdot t^k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;deg P(t) &amp;lt; k, \forall n \geqslant k p_n = 0&amp;lt;/tex&amp;gt;. Расписывая &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; по определению [[Арифметические действия с формальными степенными рядами#def_mul| произведения степенных рядов]], получаем &amp;lt;tex&amp;gt;\sum\limits_{i = 0}^n a_i \cdot q_{n - i} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n \cdot q_0 + a_{n - 1} \cdot q_1 + ... + a_{n - k} \cdot q_k + a_{n - k - 1} \cdot 0 + a_{n - k - 2} \cdot 0 + ... + a_{0} \cdot 0 = 0&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;deg Q(t) = k&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\forall i: 1 \leqslant i \leqslant k: q_i = -c_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_n - c_1 \cdot a_{n - 1} - ... -c_k \cdot a_{n - k} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D1%80%D0%B8%D1%84%D0%BC%D0%B5%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D1%81_%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8_%D1%81%D1%82%D0%B5%D0%BF%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8_%D1%80%D1%8F%D0%B4%D0%B0%D0%BC%D0%B8&amp;diff=63893</id>
		<title>Арифметические действия с формальными степенными рядами</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D1%80%D0%B8%D1%84%D0%BC%D0%B5%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D1%81_%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8_%D1%81%D1%82%D0%B5%D0%BF%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8_%D1%80%D1%8F%D0%B4%D0%B0%D0%BC%D0%B8&amp;diff=63893"/>
				<updated>2018-03-02T21:54:51Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Простейшие операции */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Простейшие операции==&lt;br /&gt;
Рассмотрим два [[Производящая функция|формальных степенных ряда]] &amp;lt;tex&amp;gt;A(s) = a_0 + a_1 s + a_2 s^2 + \dots&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B(s) = b_0 + b_1 s + b_2 s^2 + \dots&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = '''Суммой''' (англ. ''addition'') формальных степенных рядов &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; называется ряд &amp;lt;tex&amp;gt;A(s) + B(s) = (a_0 + b_0) + (a_1 + b_1) s + (a_2 + b_2) s^2 + \dots&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_mul&lt;br /&gt;
|definition = '''Произведением''' (англ. ''multiplication'') формальных степенных рядов &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; называется ряд &amp;lt;tex&amp;gt;A(s)B(s) = a_0 b_0 + (a_0 b_1 + a_1 b_0) s + (a_0 b_2 + a_1 b_1 + a_2 b_0) s^2 + \dots&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Операции сложения и умножения формальных степенных рядов коммутативны и ассоциативны.&lt;br /&gt;
&lt;br /&gt;
==Деление==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id = div&lt;br /&gt;
|definition=&lt;br /&gt;
'''Обратным по умножению''' (англ. ''multiplicative inverse'') к формальному степенному ряду &amp;lt;tex&amp;gt;A(s)&amp;lt;/tex&amp;gt; называется такой ряд &amp;lt;tex&amp;gt;B(s)&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;A(s)B(s) = 1&amp;lt;/tex&amp;gt;. Обозначение: &amp;lt;tex&amp;gt;B(s) = A^{-1}(s)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Пусть &amp;lt;tex&amp;gt;A(s) = a_0 + a_1 s + a_2 s^2 + a_3 s^3 + \dots &amp;lt;/tex&amp;gt; {{---}} формальный степенной ряд, причем &amp;lt;tex&amp;gt;A(0) \ne 0&amp;lt;/tex&amp;gt;. Тогда существует единственный обратный по умножению к &amp;lt;tex&amp;gt;A(s)&amp;lt;/tex&amp;gt; ряд &amp;lt;tex&amp;gt;B(s) = b_0 + b_1 s + b_2 s^2 + b_3 s^3 + \dots &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &lt;br /&gt;
:Распишем &amp;lt;tex&amp;gt;A(s)B(s)&amp;lt;/tex&amp;gt; по формуле произведения рядов: &amp;lt;tex&amp;gt;A(s)B(s) = a_0 b_0 + (a_0 b_1 + a_1 b_0)s + (a_0 b_2 + a_1 b_1 + a_2 b_0) s^2 + \dots&amp;lt;/tex&amp;gt;. Заметим, что условие &amp;lt;tex&amp;gt;A(s)B(s) = 1&amp;lt;/tex&amp;gt; выполнено только в том случае, если &amp;lt;tex&amp;gt;a_0 b_0 = 1&amp;lt;/tex&amp;gt;, а все остальные слагаемые полученного ряда равны нулю. &lt;br /&gt;
:Докажем по индукции, что такой ряд &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; единственен. Нам известно, что &amp;lt;tex&amp;gt;b_0 = \dfrac{1}{a_0}&amp;lt;/tex&amp;gt;. Пусть теперь все коэффициенты ряда &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; вплоть до степени &amp;lt;tex&amp;gt;n - 1&amp;lt;/tex&amp;gt; однозначно определены. Коэффициент при &amp;lt;tex&amp;gt;s^n&amp;lt;/tex&amp;gt; определяется из условия &amp;lt;tex&amp;gt;a_0 b_n + a_1 b_{n - 1} + \dots + a_n b_0 = 0&amp;lt;/tex&amp;gt;. Это линейное уравнение на &amp;lt;tex&amp;gt;b_n&amp;lt;/tex&amp;gt;, причем коэффициент &amp;lt;tex&amp;gt;a_0&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;b_n&amp;lt;/tex&amp;gt; отличен от нуля. Такое уравнение имеет единственное решение.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Делением''' (англ. ''division'') формальных степенных рядов &amp;lt;tex&amp;gt;A(s)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B(s)&amp;lt;/tex&amp;gt; называется операция &amp;lt;tex&amp;gt;\dfrac{A(s)}{B(s)} = A(s) B(s)^{-1}&amp;lt;/tex&amp;gt; (при условии существования у &amp;lt;tex&amp;gt;B(s)&amp;lt;/tex&amp;gt; обратного).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Примеры===&lt;br /&gt;
#Допустим, надо построить обратный ряд для &amp;lt;tex&amp;gt;A(s) = 1 + s&amp;lt;/tex&amp;gt;. Воспользуемся леммой:&lt;br /&gt;
#:&amp;lt;tex&amp;gt;b_0 = \dfrac{1}{a_0} = \dfrac{1}{1} = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
#:&amp;lt;tex&amp;gt;a_0 b_1 + a_1 b_0 = 0 \Rightarrow b_1 = - \dfrac{a_1 b_0}{a_0} = - \dfrac{1 \cdot 1}{1} = -1&amp;lt;/tex&amp;gt;&lt;br /&gt;
#:&amp;lt;tex&amp;gt;a_0 b_2 + a_1 b_1 + a_2 b_0 = 0 \Rightarrow b_2 = - \dfrac{a_1 b_1 + a_2 b_0}{a_0} = - \dfrac{1 \cdot (-1) + 0}{1} = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
#:&amp;lt;tex&amp;gt;\dots&amp;lt;/tex&amp;gt;&lt;br /&gt;
#:&amp;lt;tex&amp;gt;b_n = - \dfrac{a_1 b_{n - 1}}{a_0} = -b_{n - 1}&amp;lt;/tex&amp;gt;&lt;br /&gt;
#:&amp;lt;tex&amp;gt;B(s) = 1 - s + s^2 - s^3 + \dots&amp;lt;/tex&amp;gt;&lt;br /&gt;
#Пусть теперь надо построить обратный ряд для &amp;lt;tex&amp;gt;A(s) = 1 - s - s^2&amp;lt;/tex&amp;gt;:&lt;br /&gt;
#:&amp;lt;tex&amp;gt;b_0 = \dfrac{1}{a_0} = \dfrac{1}{1} = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
#:&amp;lt;tex&amp;gt;b_1 = - \dfrac{a_1 b_0}{a_0} = - \dfrac{(-1) \cdot 1}{1} = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
#:&amp;lt;tex&amp;gt;b_2 = - \dfrac{a_1 b_1 + a_2 b_0}{a_0} = - \dfrac{(-1) \cdot 1 + (-1) \cdot 1}{1} = 2&amp;lt;/tex&amp;gt;&lt;br /&gt;
#:&amp;lt;tex&amp;gt;b_3 = - \dfrac{a_1 b_2 + a_2 b_1}{a_0} = - \dfrac{(-1) \cdot 2 + (-1) \cdot 1}{1} = 3&amp;lt;/tex&amp;gt;&lt;br /&gt;
#:&amp;lt;tex&amp;gt;\dots&amp;lt;/tex&amp;gt;&lt;br /&gt;
#:&amp;lt;tex&amp;gt;b_n = - \dfrac{a_1 b_{n - 1} + a_2 b_{n - 2}}{a_0} = b_{n - 1} + b_{n - 2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
#:&amp;lt;tex&amp;gt;B(s) = 1 + s + 2 s^2 + 3 s^3 + \dots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Композиция==&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;A(s) = a_0 + a_1 s + a_2 s^2 + \dots&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B(s) = b_0 + b_1 s + b_2 s^2 + \dots&amp;lt;/tex&amp;gt; {{---}} два формальных степенных ряда, причем &amp;lt;tex&amp;gt;B(0) = b_0 = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = &lt;br /&gt;
'''Композицией (подстановкой)''' (англ. ''composition'') формальных степенных рядов &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; называется ряд &amp;lt;tex&amp;gt;A(B(t)) = a_0 + a_1 b_1 t + (a_1 b_2 + a_2 b_1^2) t^2 + (a_1 b_3 + 2 a_2 b_1 b_2 + a_3 b_1^3) t^3 + \dots&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Если, например, &amp;lt;tex&amp;gt;B(t) = -t&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;A(B(t)) = A(-t) = a_0 -a_1 t + a_2 t^2 - a_3 t^3 + \dots&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Операция подстановки в случае, когда &amp;lt;tex&amp;gt;B(0) \ne 0&amp;lt;/tex&amp;gt;, не определена. (При попытке подставить такой ряд для вычисления коэффициентов результата возникает необходимость суммирования бесконечных числовых рядов).&lt;br /&gt;
&lt;br /&gt;
==Обратный ряд==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левым обратным''' (англ. ''left inverse'') по операции подстановки формальным степенным рядом для ряда &amp;lt;tex&amp;gt;B(t)&amp;lt;/tex&amp;gt; называется такой ряд &amp;lt;tex&amp;gt;A(s)&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;A(B(t)) = t&amp;lt;/tex&amp;gt;. Аналогично, '''правым обратным''' (англ. ''right inverse'') формальным степенным рядом для &amp;lt;tex&amp;gt;B(t)&amp;lt;/tex&amp;gt; называется такой &amp;lt;tex&amp;gt;C(u)&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;B(C(u)) = u&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема &lt;br /&gt;
|about = об обратном формальном степенном ряде&lt;br /&gt;
|statement = Пусть ряд &amp;lt;tex&amp;gt;B(t) = b_0 + b_1 t + b_2 t^2 + b_3 t^3 + \dots&amp;lt;/tex&amp;gt; таков, что &amp;lt;tex&amp;gt;B(0) = b_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;b_1 \ne 0&amp;lt;/tex&amp;gt;. Тогда существуют такие ряды &amp;lt;tex&amp;gt; A(s) = a_1 s + a_2 s^2 + a_3 s^3 + \dots&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;A(0) = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;C(u) = c_1 u + c_2 u^2 + c_3 u^3 + \dots&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;C(0) = 0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;A(t)&amp;lt;/tex&amp;gt; является левым обратным, а &amp;lt;tex&amp;gt;C(u)&amp;lt;/tex&amp;gt; {{---}} правым обратным для &amp;lt;tex&amp;gt;B(s)&amp;lt;/tex&amp;gt;. При этом, ряды &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; единственны. &lt;br /&gt;
|proof =&lt;br /&gt;
:Докажем по индукции существование и единственность левого обратного ряда. Доказательство для правого аналогично. &lt;br /&gt;
:Будем определять коэффициенты ряда &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; последовательно. Поскольку &amp;lt;tex&amp;gt;A(B(t)) = t&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;a_1 b_1 = 1&amp;lt;/tex&amp;gt;, откуда &amp;lt;tex&amp;gt;a_1 = \dfrac{1}{b_1}&amp;lt;/tex&amp;gt;. Все остальные коэффициенты результирующего ряда при этом равны нулю.&lt;br /&gt;
:Предположим теперь, что коэффициенты &amp;lt;tex&amp;gt;a_1, a_2, \dots, a_n&amp;lt;/tex&amp;gt; уже определены. Коэффициент &amp;lt;tex&amp;gt;a_{n+1}&amp;lt;/tex&amp;gt; определяется из условия &amp;lt;tex&amp;gt;a_{n+1} b_1^{n+1} + \dots = 0&amp;lt;/tex&amp;gt;, где точками обозначен некоторый многочлен от &amp;lt;tex&amp;gt;a_1, \dots, a_n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;b_1, \dots, b_n&amp;lt;/tex&amp;gt;. Тем самым, условие представляет собой линейное уравнение на &amp;lt;tex&amp;gt;a_{n+1}&amp;lt;/tex&amp;gt;, причем коэффициент &amp;lt;tex&amp;gt;b_1^{n+1}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;a_{n+1}&amp;lt;/tex&amp;gt; отличен от нуля. Такое уравнение имеет единственное решение, и теорема доказана.&lt;br /&gt;
}}&lt;br /&gt;
===Пример===&lt;br /&gt;
Найдем левый обратный ряд для &amp;lt;tex&amp;gt;B(t) = t + t^2&amp;lt;/tex&amp;gt;:&lt;br /&gt;
:&amp;lt;tex&amp;gt;a_0 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
:&amp;lt;tex&amp;gt;a_1 = \dfrac{1}{b_1} = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
:&amp;lt;tex&amp;gt;a_1 b_2 + a_2 b_1^2 = 0 \Rightarrow a_2 = - \dfrac{a_1 b_2}{b_1^2} = - \dfrac{1 \cdot 1}{1^2} = -1&amp;lt;/tex&amp;gt;&lt;br /&gt;
:&amp;lt;tex&amp;gt;a_1 b_3 + 2 a_2 b_1 b_2 + a_3 b_1^3 = 0 \Rightarrow a_3 = - \dfrac{a_1 b_3 + 2 a_2 b_1 b_2}{b_1^3} = - \dfrac{1 \cdot 0 + 2 \cdot (-1) \cdot 1}{1^3} = 2&amp;lt;/tex&amp;gt;&lt;br /&gt;
:&amp;lt;tex&amp;gt;\dots&amp;lt;/tex&amp;gt;&lt;br /&gt;
:&amp;lt;tex&amp;gt;A(s) = s - s^2 + 2 s^3 + \dots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Сдвиги==&lt;br /&gt;
===Сдвиг вправо===&lt;br /&gt;
Сдвиг ряда вправо на &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; получается домножением его на &amp;lt;tex&amp;gt;s^k&amp;lt;/tex&amp;gt;. Например, пусть исходный ряд &amp;lt;tex&amp;gt;A(s) = a_0 + a_1 s + a_2 s^2 + \dots&amp;lt;/tex&amp;gt;. Сдвинем его на &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вправо: &amp;lt;tex&amp;gt;B(s) = s^k \cdot A(s) = a_0 s^k + a_1 s^{k + 1} + a_2 s^{k + 2} + \dots = 0 + 0 s + 0 s^2 + \dots + a_0 s^k + a_1 s^{k + 1} + \dots&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Сдвиг влево===&lt;br /&gt;
Сдвинуть ряд влево на &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; можно, вычтя из него первые &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; слагаемых и затем разделив его на &amp;lt;tex&amp;gt;s^k&amp;lt;/tex&amp;gt;. Например, сдвинем ряд &amp;lt;tex&amp;gt;A(s) = a_0 + a_1 s + a_2 s^2 + \dots&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; влево: &amp;lt;tex&amp;gt;B(s) = \dfrac{A(s) - (a_0 + a_1 s + a_2 s^2 + \dots + a_{k - 1} s^{k - 1})}{s^k} = a_k + a_{k + 1} s + a_{k + 2} s^2 + \dots&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Сдвиги могут быть полезны для упрощения вычисления производящих функций.&lt;br /&gt;
Например, попробуем получить функцию для чисел Фибоначчи, используя сдвиги. Пусть формальный степенной ряд для нее равен &amp;lt;tex&amp;gt;F(s) = f_0 + f_1 s + f_2 s^2 + \dots&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt;f_0 = f_1 = 1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;f_n = f_{n - 2} + f_{n - 1}, n &amp;gt; 1&amp;lt;/tex&amp;gt;. Рассмотрим сумму этого ряда и ряда, полученного из него сдвигом на &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; вправо: &amp;lt;tex&amp;gt;F(s) + s \cdot F(s) = (f_0 + f_1 s + f_2 s^2 + f_3 s^3 + \dots) + (0 + f_0 s + f_1 s^2 + f_2 s^3 + \dots) = (f_0 + 0) + (f_1 + f_0) s + (f_2 + f_1) s^2 + (f_3 + f_2) s^3 + \dots = f_1 + f_2 s + f_3 s^2 + f_4 s^3 + \dots&amp;lt;/tex&amp;gt;. Заметим, что результат равен сдвигу &amp;lt;tex&amp;gt;F(s)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; влево. Составим и решим уравнение: &amp;lt;tex&amp;gt;F(s) + s \cdot F(s) = \dfrac{F(s) - 1}{s}&amp;lt;/tex&amp;gt;; &amp;lt;tex&amp;gt;F(s)(s^2 + s - 1) = -1&amp;lt;/tex&amp;gt;; &amp;lt;tex&amp;gt;F(s) = \dfrac{1}{1 - s - s^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;
==Источники информации==&lt;br /&gt;
* ''Ландо С. К.'', Лекции о производящих функциях. {{---}} 3-е изд., испр. {{---}} М.: МЦНМО, 2007. {{---}} 144с. ISBN 978-5-94057-042-4&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Комбинаторика]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63892</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63892"/>
				<updated>2018-03-02T21:42:44Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \frac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 ... a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;F(t) = \frac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow)&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63891</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63891"/>
				<updated>2018-03-02T21:22:48Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \frac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def_linear. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Последовательность &amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; называется заданной линейной рекуррентой, если её члены &amp;lt;tex&amp;gt;a_0 ... a_{k - 1} &amp;lt;/tex&amp;gt; заданы, а &amp;lt;tex&amp;gt;\forall n \geqslant k &amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt; a_n = c_1 \cdot a_{n - 1} + ... + c_k \cdot a_{n - k}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th_main.&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;a_0, a_1, ..., a_n, ... &amp;lt;/tex&amp;gt; задана линейной рекуррентой с &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; первыми заданными членами &amp;lt;tex&amp;gt;\Leftrightarrow&amp;lt;/tex&amp;gt; её производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; является дробно-рациональной, причём она представима в виде &amp;lt;tex&amp;gt;F(t) = \frac{P(t)}{Q(t)}, deg Q(t) = k, deg P(t) &amp;lt; k&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=доказательство (необязательно)&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63890</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63890"/>
				<updated>2018-03-02T21:06:59Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \frac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 1&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63889</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%D0%B0_%D0%BE_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B5%D0%B9_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=63889"/>
				<updated>2018-03-02T21:06:13Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|id=def_rational. &lt;br /&gt;
|neat = 1 - параметр нужен для того, чтобы определение не растягивалось на всю страницу(не обязательно)&lt;br /&gt;
|definition=Производящая функция &amp;lt;tex&amp;gt;F(t)&amp;lt;/tex&amp;gt; называется дробно-рациональной, если она представима в виде отношения двух многочленов, то есть &amp;lt;tex&amp;gt;F(t) = \frac{P(t)}{Q(t)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; - многочлены конечной степени&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим, что если &amp;lt;tex&amp;gt;p_0 = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, то оба многочлена могут быть разделены на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;. В таком случае необходимо разделить оба многочлена на &amp;lt;tex&amp;gt;t^k&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало не равным нулю.&lt;br /&gt;
&lt;br /&gt;
Ситуация, при которой &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;p_0 \neq 0&amp;lt;/tex&amp;gt; невозможна, по [[Арифметические действия с формальными степенными рядами#div| правилам деления формальных степенных рядов]].&lt;br /&gt;
&lt;br /&gt;
Остаётся ситуация, при которой &amp;lt;tex&amp;gt;q_0 \neq 0&amp;lt;/tex&amp;gt;. Тогда необходимо разделить &amp;lt;tex&amp;gt;P(t), Q(t)&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt;, чтобы &amp;lt;tex&amp;gt;q_0&amp;lt;/tex&amp;gt; стало равным &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. В дальнейшем, без ограничения общности, полагаем &amp;lt;tex&amp;gt;q_0 = 0&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D0%B0%D1%80%D0%BE%D1%81%D0%BE%D1%87%D0%B5%D1%82%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BA%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%BC_%D0%B3%D1%80%D0%B0%D1%84%D0%B5&amp;diff=62415</id>
		<title>Совершенное паросочетание в кубическом графе</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D0%B0%D1%80%D0%BE%D1%81%D0%BE%D1%87%D0%B5%D1%82%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BA%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%BC_%D0%B3%D1%80%D0%B0%D1%84%D0%B5&amp;diff=62415"/>
				<updated>2017-12-04T13:12:32Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Теорема Петерсона (Petersen) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Лемма о сравнимости по модулю 2==&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id = lemma1&lt;br /&gt;
|statement = &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-[[Основные определения теории графов#defRegularGraph |регулярный граф]], &amp;lt;tex&amp;gt;U \in V(G)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;|U|&amp;lt;/tex&amp;gt; нечётно, &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; {{---}} число рёбер, соединяющих вершины множества &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; с вершинами из &amp;lt;tex&amp;gt;V(G) \setminus U&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;m \equiv k \pmod 2&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof = &lt;br /&gt;
[[Файл:Сравнимость.png|300px|thumb|left|Иллюстрация к лемме]]&lt;br /&gt;
&amp;lt;tex&amp;gt;m = (\sum\limits_{v \in U} d_G(v)) - 2e(G(U))&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;e(G(U))&amp;lt;/tex&amp;gt; {{---}} количество рёбер, соединяющих вершину из &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; с другой вершиной из &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
тогда &amp;lt;tex&amp;gt;m = k|U| - 2e(G(U))&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;2e(G(U))&amp;lt;/tex&amp;gt; чётно, поэтому &amp;lt;tex&amp;gt;m \equiv k|U| \pmod 2&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt; |U|&amp;lt;/tex&amp;gt; нечётно, &amp;lt;tex&amp;gt;m \equiv k \pmod 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема Петерсона (Petersen)==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=cube_graf_def&lt;br /&gt;
|definition= '''Кубический граф''' (англ. ''Cubic graph'') {{---}} [[Основные определения: граф, ребро, вершина, степень, петля, путь, цикл| граф]], в котором все вершины имеют степень три. Другими словами, кубический граф является &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt;-регулярным.}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th1 &lt;br /&gt;
|author=Петерсон&lt;br /&gt;
|statement = Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;{{---}}[[Отношение связности, компоненты связности#connected_graph | связный]] кубический граф, в котором не более &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; [[Мост, эквивалентные определения | мостов]]. Тогда в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; есть [[Паросочетания: основные определения, теорема о максимальном паросочетании и дополняющих цепях#perfect_matching | совершенное паросочетание]].&lt;br /&gt;
|proof = &lt;br /&gt;
Предположим, что совершенного паросочетания в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; нет, тогда можно выбрать [[Теорема Татта о существовании полного паросочетания#Tutt_set | множество Татта]] &amp;lt;tex&amp;gt;S \subset V(G)&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;U_1, \ldots, U_n&amp;lt;/tex&amp;gt; {{---}} все нечётные компоненты связности графа &amp;lt;tex&amp;gt;G \setminus S&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;m_i&amp;lt;/tex&amp;gt; {{---}} количество ребёр &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, связывающих вершины &amp;lt;tex&amp;gt;U_i&amp;lt;/tex&amp;gt; с вершинами &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
По предыдущей лемме, все &amp;lt;tex&amp;gt;m_i&amp;lt;/tex&amp;gt; нечётны. Так как не более чем два ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} мосты, то не более, чем два числа из &amp;lt;tex&amp;gt;m_1, \ldots, m_n&amp;lt;/tex&amp;gt; равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, остальные числа не менее &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} множество Татта, то &amp;lt;tex&amp;gt;odd(G \setminus S) &amp;gt; |S|&amp;lt;/tex&amp;gt;. Так как количество вершин кубического графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; чётно, мы имеем &amp;lt;tex&amp;gt;S \neq \emptyset, odd(G \setminus S) \equiv S \pmod 2&amp;lt;/tex&amp;gt;, следовательно, &amp;lt;tex&amp;gt;n = odd(G \setminus S) \geqslant |S| + 2&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{v \in S} d_G(v) \geqslant \sum\limits_{i = 1}^n m_i \geqslant 3n - 4 \geqslant 3(|S| + 2) - 4 = 3|S|&lt;br /&gt;
 + 2 &amp;gt; 3|S| = \sum\limits_{v \in S} d_G(v)&amp;lt;/tex&amp;gt;, что, очевидно, невозможно. &lt;br /&gt;
&lt;br /&gt;
Найдено противоречие, следовательно, множество Татта выбрать невозможно, следовательно, в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; есть совершенное паросочетание.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Файл:Петерсен 3 моста.png|300px|thumb|left|Кубический граф с тремя мостами, в котором не существует совершенного паросочетания.]]&lt;br /&gt;
Заметим, что утверждение теоремы не может быть усилено до большего числа мостов, так как для случая с тремя мостами существует контрпример.&lt;br /&gt;
&lt;br /&gt;
==Теорема Фринка (Frink)==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th2. &lt;br /&gt;
|author=Фринк&lt;br /&gt;
|statement=&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; {{---}}  двусвязный кубический граф. &lt;br /&gt;
Возьмём ребро &amp;lt;tex&amp;gt;p = (c, d)&amp;lt;/tex&amp;gt;. Пусть вершины &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; смежны с вершиной &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, а вершины &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; смежны с вершиной &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; (рисунок &amp;lt;tex&amp;gt;1 (a)&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Как минимум одно из двух сокращений графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, состоящее из удаления вершин &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; и пересоединения вершин &amp;lt;tex&amp;gt;a, b, e, f&amp;lt;/tex&amp;gt; рёбрами &amp;lt;tex&amp;gt;(a, e), (b, f)&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;(a, f), (b, e)&amp;lt;/tex&amp;gt; (рисунок &amp;lt;tex&amp;gt;1 (b), (c)&amp;lt;/tex&amp;gt;, рисунок &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;) сохранит двусвязность графа.&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
Обозначим компоненты графа &amp;lt;tex&amp;gt;G(V - \{c, d\})&amp;lt;/tex&amp;gt;  как &amp;lt;tex&amp;gt;A, B, E, F&amp;lt;/tex&amp;gt;, которые содержат вершины &amp;lt;tex&amp;gt;a, b, e, f&amp;lt;/tex&amp;gt; соответственно. Так как &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; не имеет мостов (соответственно &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; не является мостом) должно существовать ребро, соединяющее одну из компонент &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;, с одной из компонент &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;. Без потери общности предположим, что &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединено с &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt;. Заметим, что рёбра &amp;lt;tex&amp;gt;(b, c), (d, f)&amp;lt;/tex&amp;gt; так же не являются мостами, значит возможны три случая (с учётом изоморфизма) (рисунок &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt;):&lt;br /&gt;
* компонента &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;,&lt;br /&gt;
* компонента &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; и компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;,&lt;br /&gt;
* компонента &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; и компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Во всех трёх случаях если &amp;lt;tex&amp;gt;G(V - \{c, d\})&amp;lt;/tex&amp;gt; расширить рёбрами &amp;lt;tex&amp;gt;(a, f), (b, e)&amp;lt;/tex&amp;gt; (получим граф &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;), добавленные рёбра будут лежать на некотором [[Основные определения: граф, ребро, вершина, степень, петля, путь, цикл| цикле]] в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; (рисунок &amp;lt;tex&amp;gt;4&amp;lt;/tex&amp;gt;). Так же для любой пары вершин &amp;lt;tex&amp;gt;u, v&amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt;\{a, b, e, f\}&amp;lt;/tex&amp;gt; существует цикл в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;, содержащий данные вершины. Чтобы доказать, что &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; двусвязен, нужно показать, что каждое ребро &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; лежит на некотором цикле в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;. Пусть цикл &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержит &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; (такой цикл существует, так как &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; двусвязен). Если &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; не проходит через вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; тогда &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; так же является циклом в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;, иначе построим цикл &amp;lt;tex&amp;gt;C'&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; следующим образом: &lt;br /&gt;
* если путь &amp;lt;tex&amp;gt; x - c - d - y &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; \{a, b\} &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; \{e, f\} &amp;lt;/tex&amp;gt;, удалим этот путь и добавим любой другой из &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; G' &amp;lt;/tex&amp;gt;, не содержащий &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; (такой путь всегда существует, так как &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; принадлежат некоторому циклу в &amp;lt;tex&amp;gt; G' &amp;lt;/tex&amp;gt;),&lt;br /&gt;
* если путь &amp;lt;tex&amp;gt; a - c - b &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt;, удалим этот путь и добавим любой другой из &amp;lt;tex&amp;gt; a &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; b &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; G' &amp;lt;/tex&amp;gt;, не содержащий &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;,&lt;br /&gt;
*если путь &amp;lt;tex&amp;gt; e - d - f &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt;, удалим этот путь и добавим любой другой из &amp;lt;tex&amp;gt; e &amp;lt;/tex&amp;gt; в &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;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;C'&amp;lt;/tex&amp;gt; это набор циклов (так как &amp;lt;tex&amp;gt;C'&amp;lt;/tex&amp;gt; получен из &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; путём преобразования некоторых путей) и содержит &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;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;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;center&amp;quot;&lt;br /&gt;
 |[[Файл:Frinks_algorithm1.png|thumb|500px|Рисунок 1. Сокращение двусвязного кубического графа. &amp;lt;tex&amp;gt;(a)&amp;lt;/tex&amp;gt; Нужно удалить вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(b)&amp;lt;/tex&amp;gt; первый тип сокращения {{---}} вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;, вершина &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(c)&amp;lt;/tex&amp;gt; второй тип сокращений {{---}} вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt;, вершина &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;.]]&lt;br /&gt;
 |[[Файл:Frinks_algorithm2.PNG|thumb|500px|Рисунок 2. Особые случаи сокращения графа. &amp;lt;tex&amp;gt;(a)&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt;, которое нужно удалить, кратное. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; из графа и соединяет &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt; новым ребром. &amp;lt;tex&amp;gt;(b)&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; инцидентно двум двойным рёбрам &amp;lt;tex&amp;gt;(a, c)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;(d, e)&amp;lt;/tex&amp;gt;. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; и добавляет новое кратное ребро &amp;lt;tex&amp;gt;(a, e)&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(c)&amp;lt;/tex&amp;gt; Ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; инцидентно одному ребру &amp;lt;tex&amp;gt;(d, e)&amp;lt;/tex&amp;gt;. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; и добавляет два новых ребра &amp;lt;tex&amp;gt;(a, e)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;(b, e)&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(d)&amp;lt;/tex&amp;gt; Ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; тройной кратности. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt;.  ]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;center&amp;quot;&lt;br /&gt;
 |[[Файл:Frinks_algorithm3.PNG|thumb|500px|Рисунок 3. Все возможные соединения двусвязных компонент графа &amp;lt;tex&amp;gt;G[V - \{c,d\}]&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(a)&amp;lt;/tex&amp;gt; Компонента &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединена с компонентой &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt;, компонента &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; соединена с компонентой &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(b)&amp;lt;/tex&amp;gt; Компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с компонентами &amp;lt;tex&amp;gt;A, B, F&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(c)&amp;lt;/tex&amp;gt; Компонента &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединена с компонентами &amp;lt;tex&amp;gt;B, E&amp;lt;/tex&amp;gt;, компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с компонентой &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;. ]]&lt;br /&gt;
 |[[Файл:Frinks_algorithm4.PNG|thumb|500px|Рисунок 4. Возможные соединения двусвязный компонент &amp;lt;tex&amp;gt;A, B, E, F&amp;lt;/tex&amp;gt; после удаления ребра &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; и добавления рёбер &amp;lt;tex&amp;gt;(a, f)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;(b, e)&amp;lt;/tex&amp;gt;.]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Алгоритм поиска совершенного паросочетания (Frink's algorithm)==&lt;br /&gt;
Будем сокращать данный граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; вышеизложенным способом (на каждой итерации можем выбирать любое ребро) пока не удалим все вершины.&lt;br /&gt;
Когда все вершины закончились, создадим пустое совершенное паросочетание &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и начнём обратный процесс для всех сокращений, то есть будем восстанавливать граф (начиная с последних удалённых вершин). Каждый такой шаг будет приводить к одному из четырёх базовых случаев, представленных в рисунке &amp;lt;tex&amp;gt;5&amp;lt;/tex&amp;gt; или к одному из специальных случаев из рисунка &amp;lt;tex&amp;gt;6&amp;lt;/tex&amp;gt;. Восстановление для всех специальных случаев, а так же для первых трёх базовых выполняется по строгому алгоритму, т.е. разрешимо за &amp;lt;tex&amp;gt;O(1)&amp;lt;/tex&amp;gt;. Единственный проблемный случай, когда оба ребра принадлежат совершенному паросочетанию. В этой ситуации необходимо найти альтернативный цикл, содержащий как минимум одно из этих рёбер и обновить паросочетание с этим циклом. Эти действия сводят четвёртый базовый случай к одному из первых трёх.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;center&amp;quot;&lt;br /&gt;
 |[[Файл:Frinks_algorithm5.PNG|thumb|400px|Рисунок 5. Базовые случаи восстановления графа.]]&lt;br /&gt;
 |[[Файл:Frinks_algorithm6.PNG|thumb|400px|Рисунок 6. Особые случаи восстановления графа.]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Псевдокод алгоритма Фринка==&lt;br /&gt;
*&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} двусвязный кубический граф, &lt;br /&gt;
*&amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; {{---}} совершенное паросочетание &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{bridgeless}&amp;lt;/tex&amp;gt; возвращает &amp;lt;tex&amp;gt;true&amp;lt;/tex&amp;gt; если у графа нет моста или &amp;lt;tex&amp;gt;false&amp;lt;/tex&amp;gt; в противном случае,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{alternatingCycle}&amp;lt;/tex&amp;gt; принимает три параметра: граф, совершенное паросочетание и ребро. Возвращает альтернативный цикл,  включающий в себя данное ребро и обновляет совершенное паросочетание, &lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{reductions}&amp;lt;/tex&amp;gt; сокращает граф,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{simpleReversion}&amp;lt;/tex&amp;gt; восстанавливает граф,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{reductedGraph}&amp;lt;/tex&amp;gt; принимает три параметра: граф, удаляемые вершины, добавляемые рёбра. Возвращает новый граф, у которого удалены выбранные вершины, вместе c инцидентными рёбрами и добавлены другие рёбра, переданные в параметрах. При этом исходный граф не меняется.&lt;br /&gt;
&lt;br /&gt;
 '''function''' frinkMatching&amp;lt;tex&amp;gt;(G)&amp;lt;/tex&amp;gt;:&lt;br /&gt;
     '''if''' &amp;lt;tex&amp;gt;|V| = 0&amp;lt;/tex&amp;gt; &lt;br /&gt;
         '''return''' &amp;lt;tex&amp;gt;\varnothing&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;v - w = E[0]&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;R = &amp;lt;/tex&amp;gt; reductions&amp;lt;tex&amp;gt;(G, v - w)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' bridgeless&amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;reductedGraph&amp;lt;tex&amp;gt;(G, \{v, w\}, R[0]))&amp;lt;/tex&amp;gt; &lt;br /&gt;
         &amp;lt;tex&amp;gt;r = R[0]&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''else'''&lt;br /&gt;
         &amp;lt;tex&amp;gt;r = R[1]&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;M =&amp;lt;/tex&amp;gt; frinkMatching&amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;reductedGraph&amp;lt;tex&amp;gt;(G,\{v, w\}, r))&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' &amp;lt;tex&amp;gt;|r \cap M| = 2 &amp;lt;/tex&amp;gt; &lt;br /&gt;
         &amp;lt;tex&amp;gt;C =&amp;lt;/tex&amp;gt; alternatingCycle&amp;lt;tex&amp;gt;(G, M, r[0])&amp;lt;/tex&amp;gt;&lt;br /&gt;
         &amp;lt;tex&amp;gt;M = M \oplus C&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;M = (M - r)\  \cup &amp;lt;/tex&amp;gt; simpleReversion&amp;lt;tex&amp;gt;(G, v, w, r, M)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Время работы алгоритма Фринка==&lt;br /&gt;
Операция сокращения должна на каждом шаге проверять граф на наличие мостов за &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt;, кроме того, при возникновении четвёртого базового случая требуется найти альтернативный цикл за &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt;. В алгоритме &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt; операций сокращения и восстановления графа, причем каждая из этих операций требует &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt; времени. Таким образом, весь этот алгоритм исполняется за время &amp;lt;tex&amp;gt;O(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;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* [https://www.lektorium.tv/course/22771 Лекториум {{---}} Дополнительные главы теории паросочетаний]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B3%D1%80%D0%B0%D1%84 Wikipedia {{---}} Кубический граф]&lt;br /&gt;
* Piotr Stanczyk {{---}} THEORY AND PRACTICE OF COMPUTING MAXIMUM MATCHINGS IN GRAPHS стр. 21-28.&lt;br /&gt;
* Карпов В. Д. - Теория графов, стр 42&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Задача о паросочетании]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D0%B0%D1%80%D0%BE%D1%81%D0%BE%D1%87%D0%B5%D1%82%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BA%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%BC_%D0%B3%D1%80%D0%B0%D1%84%D0%B5&amp;diff=62407</id>
		<title>Совершенное паросочетание в кубическом графе</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D0%B0%D1%80%D0%BE%D1%81%D0%BE%D1%87%D0%B5%D1%82%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BA%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%BC_%D0%B3%D1%80%D0%B0%D1%84%D0%B5&amp;diff=62407"/>
				<updated>2017-12-02T23:33:31Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Теорема Петерсона (Petersen) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Лемма о сравнимости по модулю 2==&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id = lemma1&lt;br /&gt;
|statement = &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-[[Основные определения теории графов#defRegularGraph |регулярный граф]], &amp;lt;tex&amp;gt;U \in V(G)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;|U|&amp;lt;/tex&amp;gt; нечётно, &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; {{---}} число рёбер, соединяющих вершины множества &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; с вершинами из &amp;lt;tex&amp;gt;V(G) \setminus U&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;m \equiv k \pmod 2&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof = &lt;br /&gt;
[[Файл:Сравнимость.png|300px|thumb|left|Иллюстрация к лемме]]&lt;br /&gt;
&amp;lt;tex&amp;gt;m = (\sum\limits_{v \in U} d_G(v)) - 2e(G(U))&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;e(G(U))&amp;lt;/tex&amp;gt; {{---}} количество рёбер, соединяющих вершину из &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; с другой вершиной из &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
тогда &amp;lt;tex&amp;gt;m = k|U| - 2e(G(U))&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;2e(G(U))&amp;lt;/tex&amp;gt; чётно, поэтому &amp;lt;tex&amp;gt;m \equiv k|U| \pmod 2&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt; |U|&amp;lt;/tex&amp;gt; нечётно, &amp;lt;tex&amp;gt;m \equiv k \pmod 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема Петерсона (Petersen)==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=cube_graf_def&lt;br /&gt;
|definition= '''Кубический граф''' (англ. ''Cubic graph'') {{---}} [[Основные определения: граф, ребро, вершина, степень, петля, путь, цикл| граф]], в котором все вершины имеют степень три. Другими словами, кубический граф является &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt;-регулярным.}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th1 &lt;br /&gt;
|author=Петерсон&lt;br /&gt;
|statement = Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;{{---}}[[Отношение связности, компоненты связности#connected_graph | связный]] кубический граф, в котором не более &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; [[Мост, эквивалентные определения | мостов]]. Тогда в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; есть [[Паросочетания: основные определения, теорема о максимальном паросочетании и дополняющих цепях#perfect_matching | совершенное паросочетание]].&lt;br /&gt;
|proof = &lt;br /&gt;
Предположим, что совершенного паросочетания в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; нет, тогда можно выбрать [[Теорема Татта о существовании полного паросочетания#Tutt_set | множество Татта]] &amp;lt;tex&amp;gt;S \subset V(G)&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;U_1, \ldots, U_n&amp;lt;/tex&amp;gt; {{---}} все нечётные компоненты связности графа &amp;lt;tex&amp;gt;G \setminus S&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;m_i&amp;lt;/tex&amp;gt; {{---}} количество ребёр &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, связывающих вершины &amp;lt;tex&amp;gt;U_i&amp;lt;/tex&amp;gt; с вершинами &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
По предыдущей лемме, все &amp;lt;tex&amp;gt;m_i&amp;lt;/tex&amp;gt; нечётны. Так как не более чем два ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} мосты, то не более, чем два числа из &amp;lt;tex&amp;gt;m_1, \ldots, m_n&amp;lt;/tex&amp;gt; равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, остальные числа не менее &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} множество Татта, то &amp;lt;tex&amp;gt;odd(G \setminus S) &amp;gt; |S|&amp;lt;/tex&amp;gt;. Так как количество вершин кубического графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; чётно, мы имеем &amp;lt;tex&amp;gt;S \neq \emptyset, odd(G \setminus S) \equiv S \pmod 2&amp;lt;/tex&amp;gt;, следовательно, &amp;lt;tex&amp;gt;n = odd(G \setminus S) \geqslant |S| + 2&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{v \in S} d_G(v) \geqslant \sum\limits_{i = 1}^n m_i \geqslant 3n - 4 \geqslant 3(|S| + 2) - 4 = 3|S|&lt;br /&gt;
 + 2 &amp;gt; 3|S| = \sum\limits_{v \in S} d_G(v)&amp;lt;/tex&amp;gt;, что, очевидно, невозможно. &lt;br /&gt;
&lt;br /&gt;
Найдено противоречие, следовательно, множество Татта выбрать невозможно, следовательно, в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; есть совершенное паросочетание.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Файл:Петерсен 3 моста.png|300px|thumb|right|Кубический граф с тремя мостами, в котором не существует совершенного паросочетания.]]&lt;br /&gt;
Заметим, что утверждение теоремы не может быть усилено до большего числа мостов, так как для случая с тремя мостами существует контрпример.&lt;br /&gt;
&lt;br /&gt;
==Теорема Фринка (Frink)==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th2. &lt;br /&gt;
|author=Фринк&lt;br /&gt;
|statement=&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; {{---}}  двусвязный кубический граф. &lt;br /&gt;
Возьмём ребро &amp;lt;tex&amp;gt;p = (c, d)&amp;lt;/tex&amp;gt;. Пусть вершины &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; смежны с вершиной &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, а вершины &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; смежны с вершиной &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; (рисунок &amp;lt;tex&amp;gt;1 (a)&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Как минимум одно из двух сокращений графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, состоящее из удаления вершин &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; и пересоединения вершин &amp;lt;tex&amp;gt;a, b, e, f&amp;lt;/tex&amp;gt; рёбрами &amp;lt;tex&amp;gt;(a, e), (b, f)&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;(a, f), (b, e)&amp;lt;/tex&amp;gt; (рисунок &amp;lt;tex&amp;gt;1 (b), (c)&amp;lt;/tex&amp;gt;, рисунок &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;) сохранит двусвязность графа.&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
Обозначим компоненты графа &amp;lt;tex&amp;gt;G(V - \{c, d\})&amp;lt;/tex&amp;gt;  как &amp;lt;tex&amp;gt;A, B, E, F&amp;lt;/tex&amp;gt;, которые содержат вершины &amp;lt;tex&amp;gt;a, b, e, f&amp;lt;/tex&amp;gt; соответственно. Так как &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; не имеет мостов (соответственно &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; не является мостом) должно существовать ребро, соединяющее одну из компонент &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;, с одной из компонент &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;. Без потери общности предположим, что &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединено с &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt;. Заметим, что рёбра &amp;lt;tex&amp;gt;(b, c), (d, f)&amp;lt;/tex&amp;gt; так же не являются мостами, значит возможны три случая (с учётом изоморфизма) (рисунок &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt;):&lt;br /&gt;
* компонента &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;,&lt;br /&gt;
* компонента &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; и компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;,&lt;br /&gt;
* компонента &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; и компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Во всех трёх случаях если &amp;lt;tex&amp;gt;G(V - \{c, d\})&amp;lt;/tex&amp;gt; расширить рёбрами &amp;lt;tex&amp;gt;(a, f), (b, e)&amp;lt;/tex&amp;gt; (получим граф &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;), добавленные рёбра будут лежать на некотором [[Основные определения: граф, ребро, вершина, степень, петля, путь, цикл| цикле]] в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; (рисунок &amp;lt;tex&amp;gt;4&amp;lt;/tex&amp;gt;). Так же для любой пары вершин &amp;lt;tex&amp;gt;u, v&amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt;\{a, b, e, f\}&amp;lt;/tex&amp;gt; существует цикл в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;, содержащий данные вершины. Чтобы доказать, что &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; двусвязен, нужно показать, что каждое ребро &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; лежит на некотором цикле в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;. Пусть цикл &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержит &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; (такой цикл существует, так как &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; двусвязен). Если &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; не проходит через вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; тогда &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; так же является циклом в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;, иначе построим цикл &amp;lt;tex&amp;gt;C'&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; следующим образом: &lt;br /&gt;
* если путь &amp;lt;tex&amp;gt; x - c - d - y &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; \{a, b\} &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; \{e, f\} &amp;lt;/tex&amp;gt;, удалим этот путь и добавим любой другой из &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; G' &amp;lt;/tex&amp;gt;, не содержащий &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; (такой путь всегда существует, так как &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; принадлежат некоторому циклу в &amp;lt;tex&amp;gt; G' &amp;lt;/tex&amp;gt;),&lt;br /&gt;
* если путь &amp;lt;tex&amp;gt; a - c - b &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt;, удалим этот путь и добавим любой другой из &amp;lt;tex&amp;gt; a &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; b &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; G' &amp;lt;/tex&amp;gt;, не содержащий &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;,&lt;br /&gt;
*если путь &amp;lt;tex&amp;gt; e - d - f &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt;, удалим этот путь и добавим любой другой из &amp;lt;tex&amp;gt; e &amp;lt;/tex&amp;gt; в &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;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;C'&amp;lt;/tex&amp;gt; это набор циклов (так как &amp;lt;tex&amp;gt;C'&amp;lt;/tex&amp;gt; получен из &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; путём преобразования некоторых путей) и содержит &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;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;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;center&amp;quot;&lt;br /&gt;
 |[[Файл:Frinks_algorithm1.png|thumb|500px|Рисунок 1. Сокращение двусвязного кубического графа. &amp;lt;tex&amp;gt;(a)&amp;lt;/tex&amp;gt; Нужно удалить вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(b)&amp;lt;/tex&amp;gt; первый тип сокращения {{---}} вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;, вершина &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(c)&amp;lt;/tex&amp;gt; второй тип сокращений {{---}} вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt;, вершина &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;.]]&lt;br /&gt;
 |[[Файл:Frinks_algorithm2.PNG|thumb|500px|Рисунок 2. Особые случаи сокращения графа. &amp;lt;tex&amp;gt;(a)&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt;, которое нужно удалить, кратное. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; из графа и соединяет &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt; новым ребром. &amp;lt;tex&amp;gt;(b)&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; инцидентно двум двойным рёбрам &amp;lt;tex&amp;gt;(a, c)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;(d, e)&amp;lt;/tex&amp;gt;. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; и добавляет новое кратное ребро &amp;lt;tex&amp;gt;(a, e)&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(c)&amp;lt;/tex&amp;gt; Ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; инцидентно одному ребру &amp;lt;tex&amp;gt;(d, e)&amp;lt;/tex&amp;gt;. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; и добавляет два новых ребра &amp;lt;tex&amp;gt;(a, e)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;(b, e)&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(d)&amp;lt;/tex&amp;gt; Ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; тройной кратности. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt;.  ]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;center&amp;quot;&lt;br /&gt;
 |[[Файл:Frinks_algorithm3.PNG|thumb|500px|Рисунок 3. Все возможные соединения двусвязных компонент графа &amp;lt;tex&amp;gt;G[V - \{c,d\}]&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(a)&amp;lt;/tex&amp;gt; Компонента &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединена с компонентой &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt;, компонента &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; соединена с компонентой &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(b)&amp;lt;/tex&amp;gt; Компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с компонентами &amp;lt;tex&amp;gt;A, B, F&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(c)&amp;lt;/tex&amp;gt; Компонента &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединена с компонентами &amp;lt;tex&amp;gt;B, E&amp;lt;/tex&amp;gt;, компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с компонентой &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;. ]]&lt;br /&gt;
 |[[Файл:Frinks_algorithm4.PNG|thumb|500px|Рисунок 4. Возможные соединения двусвязный компонент &amp;lt;tex&amp;gt;A, B, E, F&amp;lt;/tex&amp;gt; после удаления ребра &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; и добавления рёбер &amp;lt;tex&amp;gt;(a, f)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;(b, e)&amp;lt;/tex&amp;gt;.]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Алгоритм поиска совершенного паросочетания (Frink's algorithm)==&lt;br /&gt;
Будем сокращать данный граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; вышеизложенным способом (на каждой итерации можем выбирать любое ребро) пока не удалим все вершины.&lt;br /&gt;
Когда все вершины закончились, создадим пустое совершенное паросочетание &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и начнём обратный процесс для всех сокращений, то есть будем восстанавливать граф (начиная с последних удалённых вершин). Каждый такой шаг будет приводить к одному из четырёх базовых случаев, представленных в рисунке &amp;lt;tex&amp;gt;5&amp;lt;/tex&amp;gt; или к одному из специальных случаев из рисунка &amp;lt;tex&amp;gt;6&amp;lt;/tex&amp;gt;. Восстановление для всех специальных случаев, а так же для первых трёх базовых выполняется по строгому алгоритму, т.е. разрешимо за &amp;lt;tex&amp;gt;O(1)&amp;lt;/tex&amp;gt;. Единственный проблемный случай, когда оба ребра принадлежат совершенному паросочетанию. В этой ситуации необходимо найти альтернативный цикл, содержащий как минимум одно из этих рёбер и обновить паросочетание с этим циклом. Эти действия сводят четвёртый базовый случай к одному из первых трёх.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;center&amp;quot;&lt;br /&gt;
 |[[Файл:Frinks_algorithm5.PNG|thumb|400px|Рисунок 5. Базовые случаи восстановления графа.]]&lt;br /&gt;
 |[[Файл:Frinks_algorithm6.PNG|thumb|400px|Рисунок 6. Особые случаи восстановления графа.]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Псевдокод алгоритма Фринка==&lt;br /&gt;
*&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} двусвязный кубический граф, &lt;br /&gt;
*&amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; {{---}} совершенное паросочетание &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{bridgeless}&amp;lt;/tex&amp;gt; возвращает &amp;lt;tex&amp;gt;true&amp;lt;/tex&amp;gt; если у графа нет моста или &amp;lt;tex&amp;gt;false&amp;lt;/tex&amp;gt; в противном случае,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{alternatingCycle}&amp;lt;/tex&amp;gt; принимает три параметра: граф, совершенное паросочетание и ребро. Возвращает альтернативный цикл,  включающий в себя данное ребро и обновляет совершенное паросочетание, &lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{reductions}&amp;lt;/tex&amp;gt; сокращает граф,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{simpleReversion}&amp;lt;/tex&amp;gt; восстанавливает граф,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{reductedGraph}&amp;lt;/tex&amp;gt; принимает три параметра: граф, удаляемые вершины, добавляемые рёбра. Возвращает новый граф, у которого удалены выбранные вершины, вместе c инцидентными рёбрами и добавлены другие рёбра, переданные в параметрах. При этом исходный граф не меняется.&lt;br /&gt;
&lt;br /&gt;
 '''function''' frinkMatching&amp;lt;tex&amp;gt;(G)&amp;lt;/tex&amp;gt;:&lt;br /&gt;
     '''if''' &amp;lt;tex&amp;gt;|V| = 0&amp;lt;/tex&amp;gt; &lt;br /&gt;
         '''return''' &amp;lt;tex&amp;gt;\varnothing&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;v - w = E[0]&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;R = &amp;lt;/tex&amp;gt; reductions&amp;lt;tex&amp;gt;(G, v - w)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' bridgeless&amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;reductedGraph&amp;lt;tex&amp;gt;(G, \{v, w\}, R[0]))&amp;lt;/tex&amp;gt; &lt;br /&gt;
         &amp;lt;tex&amp;gt;r = R[0]&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''else'''&lt;br /&gt;
         &amp;lt;tex&amp;gt;r = R[1]&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;M =&amp;lt;/tex&amp;gt; frinkMatching&amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;reductedGraph&amp;lt;tex&amp;gt;(G,\{v, w\}, r))&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' &amp;lt;tex&amp;gt;|r \cap M| = 2 &amp;lt;/tex&amp;gt; &lt;br /&gt;
         &amp;lt;tex&amp;gt;C =&amp;lt;/tex&amp;gt; alternatingCycle&amp;lt;tex&amp;gt;(G, M, r[0])&amp;lt;/tex&amp;gt;&lt;br /&gt;
         &amp;lt;tex&amp;gt;M = M \oplus C&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;M = (M - r)\  \cup &amp;lt;/tex&amp;gt; simpleReversion&amp;lt;tex&amp;gt;(G, v, w, r, M)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Время работы алгоритма Фринка==&lt;br /&gt;
Операция сокращения должна на каждом шаге проверять граф на наличие мостов за &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt;, кроме того, при возникновении четвёртого базового случая требуется найти альтернативный цикл за &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt;. В алгоритме &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt; операций сокращения и восстановления графа, причем каждая из этих операций требует &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt; времени. Таким образом, весь этот алгоритм исполняется за время &amp;lt;tex&amp;gt;O(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;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* [https://www.lektorium.tv/course/22771 Лекториум {{---}} Дополнительные главы теории паросочетаний]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B3%D1%80%D0%B0%D1%84 Wikipedia {{---}} Кубический граф]&lt;br /&gt;
* Piotr Stanczyk {{---}} THEORY AND PRACTICE OF COMPUTING MAXIMUM MATCHINGS IN GRAPHS стр. 21-28.&lt;br /&gt;
* Карпов В. Д. - Теория графов, стр 42&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Задача о паросочетании]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D0%B5%D1%82%D0%B5%D1%80%D1%81%D0%B5%D0%BD_3_%D0%BC%D0%BE%D1%81%D1%82%D0%B0.png&amp;diff=62406</id>
		<title>Файл:Петерсен 3 моста.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:%D0%9F%D0%B5%D1%82%D0%B5%D1%80%D1%81%D0%B5%D0%BD_3_%D0%BC%D0%BE%D1%81%D1%82%D0%B0.png&amp;diff=62406"/>
				<updated>2017-12-02T23:30:40Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2&amp;diff=62372</id>
		<title>Факторизация графов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2&amp;diff=62372"/>
				<updated>2017-11-29T21:27:06Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* 2-факторизация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition ='''Фактором ''' ''(англ. factor)'' [[Основные определения теории графов|графа]] &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;
|definition = Граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; — сумма факторов &amp;lt;tex&amp;gt;G_i&amp;lt;/tex&amp;gt;, если графы &amp;lt;tex&amp;gt;G_i&amp;lt;/tex&amp;gt; не имеют попарно общих рёбер, а &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является их объединением. Такое разложение называется '''факторизацией ''' ''(англ. factorization)'' графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = '''&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;G&amp;lt;/tex&amp;gt; представляет собой сумму &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;G&amp;lt;/tex&amp;gt; назыается &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;-факторизуемым.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 1-факторизация ==&lt;br /&gt;
{{Теорема &lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов|Полный]] граф &amp;lt;tex&amp;gt;K_{2n}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-факторизуем.&lt;br /&gt;
|proof=&lt;br /&gt;
[[Файл: Факторизация K6.png|thumb|360px|right|&amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-факторизация графа &amp;lt;tex&amp;gt;K_6&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
Нам нужно только указать разбиение множества рёбер &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; графа на &amp;lt;tex&amp;gt;(2n - 1)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-фактора. Для этого обозначим вершины графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; через &amp;lt;tex&amp;gt;v_1, v_2, \dots, v_{2n}&amp;lt;/tex&amp;gt; и определим множества рёбер &amp;lt;tex&amp;gt;X_i = (v_iv_{2n}) \cup (v_{i - j}v_{i + j}; j = 1, 2, \dots, n - 1)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;i = 1, 2, \dots, 2n - 1 &amp;lt;/tex&amp;gt;, где каждый из индексов &amp;lt;tex&amp;gt;i - j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;i + j&amp;lt;/tex&amp;gt; является одним из чисел &amp;lt;tex&amp;gt;1, 2, \dots, 2n - 1&amp;lt;/tex&amp;gt;; здесь сумма и разность берутся по модулю &amp;lt;tex&amp;gt;2n - 1&amp;lt;/tex&amp;gt;. Легко видеть, что набор &amp;lt;tex&amp;gt;X_i&amp;lt;/tex&amp;gt; даёт необходимое разбиение множества &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, а сумма подграфов &amp;lt;tex&amp;gt;G_i&amp;lt;/tex&amp;gt;, порождённых множествами &amp;lt;tex&amp;gt;X_i&amp;lt;/tex&amp;gt;, является &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-факторизацией графа &amp;lt;tex&amp;gt;K_{2n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== 2-факторизация ==&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement =&lt;br /&gt;
Если граф &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-факторизуем, то каждый его фактор должен быть объединением непересекающихся (по вершинам) [[Основные определения теории графов|циклов]].&lt;br /&gt;
|proof =&lt;br /&gt;
Начнём обход &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактора с какой-то вершины. Пойдём по одному из её рёбер и попадаем в смежную ей вершину. Далее идём по рёбрам, по которым мы ещё не ходили. Мы входим в вершину по одному ребру и выходим по другому, так как степень каждой вершины равна &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;, пока не вернёмся в первую вершину. Это цикл, так как в каждой вершине мы были только один раз. Если есть вершины, которые мы не посетили, то снова начинаем обход с любой из таких вершин. В вершины прежних циклов попасть нельзя, так как мы уже проходили по рёбрам этих вершин. Значит, циклы не пересекаются по вершинам.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=regular2factor&lt;br /&gt;
|author=J. Petersen, 1981&lt;br /&gt;
|about = О наличии &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактора в регулярном графе чётной степени.&lt;br /&gt;
|statement = Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Основные определения теории графов#defRegularGraph |регулярный граф]] чётной степени. Тогда в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; есть &amp;lt;tex&amp;gt;2&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;2k&amp;lt;/tex&amp;gt;-регулярный граф, пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; [[Отношение связности, компоненты связности#connected_graph | связен]]. &lt;br /&gt;
&lt;br /&gt;
Согласно [[Эйлеровость графов#eulerTheorem | критерию эйлеровости]] граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет эйлеров цикл &amp;lt;tex&amp;gt;v_0e_1 \cdots e_lv_l&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v_0 = v_l&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Будем строить граф &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; следующим образом: разделим каждую вершину графа &amp;lt;tex&amp;gt;G&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;v^+&amp;lt;/tex&amp;gt;. Заменим каждое ребро в эйлеровом обходе &amp;lt;tex&amp;gt;v_iv_{i+1}&amp;lt;/tex&amp;gt; на ребро &amp;lt;tex&amp;gt;v_i^-v_{i+1}^+&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:2-фактор(1).png|300px|thumb|right|Пример регулярного графа чётной степени. В нём есть эйлеров цикл &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;{{---}}&amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;{{---}}&amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt;{{---}}&amp;lt;tex&amp;gt;4&amp;lt;/tex&amp;gt;{{---}}&amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Файл:2-фактор(2).png|300px|thumb|right|Соответствующий ему граф &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Получившийся граф является &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-регулярным, и по [[Рёберная раскраска двудольного графа#lem2 | лемме о существовании совершенного паросочетания в регулярном двудольном графе]] в нём есть совершенное паросочетание, то есть &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-фактор.&lt;br /&gt;
&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;H&amp;lt;/tex&amp;gt; каждой вершине было инцидентно &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; ребро, то после объединения в графе &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; каждой вершине будет инцидентно &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; ребра.&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; несвязен, то аналогичные рассуждения можно провести для каждой его [[Отношение связности, компоненты связности#def2 | компоненты связности]], и, таким образом, найти &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактор в каждой его компоненте связности. Тогда каждой вершине каждой его компоненты связности будет инцидентно &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; ребра, значит, каждой вершине &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; будет инцидентно &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; ребра, значит, в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; существует &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактор. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Файл:Факторизация K7 разбиение.png|300px|thumb|right| Пример графа, имеющего &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt; различных &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактора, то есть разбиваемого на &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt; рёберно непересекающихся [[Гамильтоновы графы#defCycle|гамильтоновых цикла]]]]&lt;br /&gt;
&lt;br /&gt;
Заметим, что если &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактор связен, то он является [[Гамильтоновы графы|гамильтоновым циклом]].&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = &lt;br /&gt;
Граф &amp;lt;tex&amp;gt;K_{2n+1}&amp;lt;/tex&amp;gt; можно представить в виде суммы &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; гамильтоновых циклов.&lt;br /&gt;
|proof = &lt;br /&gt;
[[Файл: Факторизация K7.png|thumb|360px|right|&amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-факторизация графа &amp;lt;tex&amp;gt;K_7&amp;lt;/tex&amp;gt;. Рёбра, отмеченные пунктиром, не пересекают другие рёбра при правильной [[Укладка графа на плоскости|укладке графа]].]]Для того чтобы в графе &amp;lt;tex&amp;gt;K_{2n+1}&amp;lt;/tex&amp;gt; построить &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; гамильтоновых циклов, непересекающихся по рёбрам, перенумеруем сначала его вершины &amp;lt;tex&amp;gt;v_1, v_2, \dots, v_{2n+1}&amp;lt;/tex&amp;gt;. На множестве вершин &amp;lt;tex&amp;gt;v_1, v_2, \dots, v_{2n}&amp;lt;/tex&amp;gt; зададим &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; непересекающихся простых цепей &amp;lt;tex&amp;gt;P_i=v_i v_{i-1} v_{i+1} v_{i-2} \dots v_{i+n-1}v_{i-n}&amp;lt;/tex&amp;gt; следующим образом: &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ой вершине цепи &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; является вершина &amp;lt;tex&amp;gt;v_k&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;k=i+(-1)^{j+1}\dfrac{j}{2}&amp;lt;/tex&amp;gt;, все индексы приводятся к числам &amp;lt;tex&amp;gt;1, 2, \dots, 2n &amp;lt;/tex&amp;gt; по модулю &amp;lt;tex&amp;gt;2n&amp;lt;/tex&amp;gt;. Гамильтонов цикл &amp;lt;tex&amp;gt;Z_i&amp;lt;/tex&amp;gt; можно получить, соединив вершину &amp;lt;tex&amp;gt;v_{2n+1}&amp;lt;/tex&amp;gt; с концевыми вершинами цепи &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Замечания ==&lt;br /&gt;
* Факторизация графов используется как один из способов построения покрывающих наборов, используемых при создании тестов для программ с большим количеством параметров.&lt;br /&gt;
* &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-факторизация &amp;lt;tex&amp;gt;k&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;
* [[Остовные деревья: определения, лемма о безопасном ребре|Остовные деревья]]&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* Харари Фрэнк '''Теория графов''' Пер. с англ. и предисл. В. П. Козырева. Под ред. Г.П.Гаврилова. Изд. 2-е. — М.: Едиториал УРСС, 2003. — 296 с. — ISBN 5-354-00301-6&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Graph_factorization Wikipedia — Graph factorization]&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2&amp;diff=62371</id>
		<title>Факторизация графов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2&amp;diff=62371"/>
				<updated>2017-11-29T21:24:49Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* 2-факторизация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition ='''Фактором ''' ''(англ. factor)'' [[Основные определения теории графов|графа]] &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;
|definition = Граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; — сумма факторов &amp;lt;tex&amp;gt;G_i&amp;lt;/tex&amp;gt;, если графы &amp;lt;tex&amp;gt;G_i&amp;lt;/tex&amp;gt; не имеют попарно общих рёбер, а &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; является их объединением. Такое разложение называется '''факторизацией ''' ''(англ. factorization)'' графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = '''&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;G&amp;lt;/tex&amp;gt; представляет собой сумму &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;G&amp;lt;/tex&amp;gt; назыается &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;-факторизуемым.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 1-факторизация ==&lt;br /&gt;
{{Теорема &lt;br /&gt;
|statement=&lt;br /&gt;
[[Основные определения теории графов|Полный]] граф &amp;lt;tex&amp;gt;K_{2n}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-факторизуем.&lt;br /&gt;
|proof=&lt;br /&gt;
[[Файл: Факторизация K6.png|thumb|360px|right|&amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-факторизация графа &amp;lt;tex&amp;gt;K_6&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
Нам нужно только указать разбиение множества рёбер &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; графа на &amp;lt;tex&amp;gt;(2n - 1)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-фактора. Для этого обозначим вершины графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; через &amp;lt;tex&amp;gt;v_1, v_2, \dots, v_{2n}&amp;lt;/tex&amp;gt; и определим множества рёбер &amp;lt;tex&amp;gt;X_i = (v_iv_{2n}) \cup (v_{i - j}v_{i + j}; j = 1, 2, \dots, n - 1)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;i = 1, 2, \dots, 2n - 1 &amp;lt;/tex&amp;gt;, где каждый из индексов &amp;lt;tex&amp;gt;i - j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;i + j&amp;lt;/tex&amp;gt; является одним из чисел &amp;lt;tex&amp;gt;1, 2, \dots, 2n - 1&amp;lt;/tex&amp;gt;; здесь сумма и разность берутся по модулю &amp;lt;tex&amp;gt;2n - 1&amp;lt;/tex&amp;gt;. Легко видеть, что набор &amp;lt;tex&amp;gt;X_i&amp;lt;/tex&amp;gt; даёт необходимое разбиение множества &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, а сумма подграфов &amp;lt;tex&amp;gt;G_i&amp;lt;/tex&amp;gt;, порождённых множествами &amp;lt;tex&amp;gt;X_i&amp;lt;/tex&amp;gt;, является &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-факторизацией графа &amp;lt;tex&amp;gt;K_{2n}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== 2-факторизация ==&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement =&lt;br /&gt;
Если граф &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-факторизуем, то каждый его фактор должен быть объединением непересекающихся (по вершинам) [[Основные определения теории графов|циклов]].&lt;br /&gt;
|proof =&lt;br /&gt;
Начнём обход &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактора с какой-то вершины. Пойдём по одному из её рёбер и попадаем в смежную ей вершину. Далее идём по рёбрам, по которым мы ещё не ходили. Мы входим в вершину по одному ребру и выходим по другому, так как степень каждой вершины равна &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;, пока не вернёмся в первую вершину. Это цикл, так как в каждой вершине мы были только один раз. Если есть вершины, которые мы не посетили, то снова начинаем обход с любой из таких вершин. В вершины прежних циклов попасть нельзя, так как мы уже проходили по рёбрам этих вершин. Значит, циклы не пересекаются по вершинам.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=regular2factor&lt;br /&gt;
|author=J. Petersen, 1981&lt;br /&gt;
|about = О наличии &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактора в регулярном графе чётной степени.&lt;br /&gt;
|statement = Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} [[Основные определения теории графов#defRegularGraph |регулярный граф]] чётной степени. Тогда в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; есть &amp;lt;tex&amp;gt;2&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;2k&amp;lt;/tex&amp;gt;-регулярный граф, пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; [[Отношение связности, компоненты связности#connected_graph | связен]]. &lt;br /&gt;
&lt;br /&gt;
Согласно [[Эйлеровость графов#eulerTheorem | критерию эйлеровости]] граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; имеет эйлеров цикл &amp;lt;tex&amp;gt;v_0e_1 \cdots e_lv_l&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v_0 = v_l&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Будем строить граф &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; следующим образом: разделим каждую вершину графа &amp;lt;tex&amp;gt;G&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;v^+&amp;lt;/tex&amp;gt;. Заменим каждое ребро в эйлеровом обходе &amp;lt;tex&amp;gt;v_iv_{i+1}&amp;lt;/tex&amp;gt; на ребро &amp;lt;tex&amp;gt;v_i^-v_{i+1}^+&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:2-фактор(1).png|300px|thumb|right|Пример регулярного графа чётной степени. В нём есть эйлеров цикл &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;{{---}}&amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;{{---}}&amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt;{{---}}&amp;lt;tex&amp;gt;4&amp;lt;/tex&amp;gt;{{---}}&amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Файл:2-фактор(2).png|300px|thumb|right|Соответствующий ему граф &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Получившийся граф является &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-регулярным, и по [[Рёберная раскраска двудольного графа#lem2 | лемме о существовании совершенного паросочетания в регулярном двудольном графе]] в нём есть совершенное паросочетание, то есть &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-фактор.&lt;br /&gt;
&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;H&amp;lt;/tex&amp;gt; каждой вершине было инцидентно &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; ребро, то после объединения в графе &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; каждой вершине будет инцидентно &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; ребра.&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; несвязен, то аналогичные рассуждения можно провести для каждой его [[Отношение связности, компоненты связности#def2 | компоненты связности]], и, таким образом, найти &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактор в каждой его компоненте связности. Тогда каждой вершине каждой его компоненты связности будет инцидентно &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; ребра, значит, каждой вершине &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; будет инцидентно &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; ребра, значит, в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; существует &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактор. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Файл:Факторизация K7 разбиение.png|300px|thumb|left| Пример графа, имеющего &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt; различных &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактора, то есть разбиваемого на &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt; рёберно непересекающихся [[Гамильтоновы графы#defCycle|гамильтоновых цикла]]]]&lt;br /&gt;
&lt;br /&gt;
Заметим, что если &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-фактор связен, то он является [[Гамильтоновы графы|гамильтоновым циклом]].&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = &lt;br /&gt;
Граф &amp;lt;tex&amp;gt;K_{2n+1}&amp;lt;/tex&amp;gt; можно представить в виде суммы &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; гамильтоновых циклов.&lt;br /&gt;
|proof = &lt;br /&gt;
[[Файл: Факторизация K7.png|thumb|360px|right|&amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;-факторизация графа &amp;lt;tex&amp;gt;K_7&amp;lt;/tex&amp;gt;. Рёбра, отмеченные пунктиром, не пересекают другие рёбра при правильной [[Укладка графа на плоскости|укладке графа]].]]Для того чтобы в графе &amp;lt;tex&amp;gt;K_{2n+1}&amp;lt;/tex&amp;gt; построить &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; гамильтоновых циклов, непересекающихся по рёбрам, перенумеруем сначала его вершины &amp;lt;tex&amp;gt;v_1, v_2, \dots, v_{2n+1}&amp;lt;/tex&amp;gt;. На множестве вершин &amp;lt;tex&amp;gt;v_1, v_2, \dots, v_{2n}&amp;lt;/tex&amp;gt; зададим &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; непересекающихся простых цепей &amp;lt;tex&amp;gt;P_i=v_i v_{i-1} v_{i+1} v_{i-2} \dots v_{i+n-1}v_{i-n}&amp;lt;/tex&amp;gt; следующим образом: &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ой вершине цепи &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; является вершина &amp;lt;tex&amp;gt;v_k&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;k=i+(-1)^{j+1}\dfrac{j}{2}&amp;lt;/tex&amp;gt;, все индексы приводятся к числам &amp;lt;tex&amp;gt;1, 2, \dots, 2n &amp;lt;/tex&amp;gt; по модулю &amp;lt;tex&amp;gt;2n&amp;lt;/tex&amp;gt;. Гамильтонов цикл &amp;lt;tex&amp;gt;Z_i&amp;lt;/tex&amp;gt; можно получить, соединив вершину &amp;lt;tex&amp;gt;v_{2n+1}&amp;lt;/tex&amp;gt; с концевыми вершинами цепи &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Замечания ==&lt;br /&gt;
* Факторизация графов используется как один из способов построения покрывающих наборов, используемых при создании тестов для программ с большим количеством параметров.&lt;br /&gt;
* &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-факторизация &amp;lt;tex&amp;gt;k&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;
* [[Остовные деревья: определения, лемма о безопасном ребре|Остовные деревья]]&lt;br /&gt;
* [[Основные определения теории графов]]&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* Харари Фрэнк '''Теория графов''' Пер. с англ. и предисл. В. П. Козырева. Под ред. Г.П.Гаврилова. Изд. 2-е. — М.: Едиториал УРСС, 2003. — 296 с. — ISBN 5-354-00301-6&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Graph_factorization Wikipedia — Graph factorization]&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%BE_%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D1%81%D0%BE%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%B0%D1%80%D0%BE%D1%81%D0%BE%D1%87%D0%B5%D1%82%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%B3%D1%80%D0%B0%D1%84%D0%B5,_%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%BD%D0%BE%D0%BC_%D0%B8%D0%B7_%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D0%B3%D0%BE_%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%80%D0%B5%D0%B1%D1%91%D1%80&amp;diff=62370</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%D0%B0_%D0%BE_%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D1%81%D0%BE%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%B0%D1%80%D0%BE%D1%81%D0%BE%D1%87%D0%B5%D1%82%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%B3%D1%80%D0%B0%D1%84%D0%B5,_%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%BD%D0%BE%D0%BC_%D0%B8%D0%B7_%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D0%B3%D0%BE_%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%80%D0%B5%D0%B1%D1%91%D1%80&amp;diff=62370"/>
				<updated>2017-11-29T20:11:51Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Теорема&lt;br /&gt;
|id = th_main. &lt;br /&gt;
|author = J. Plesnik, 1972&lt;br /&gt;
|statement = Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-[[Основные определения теории графов#defRegularGraph |регулярный граф]], с чётным числом вершин, причём &amp;lt;tex&amp;gt;\lambda(G) \geqslant k - 1&amp;lt;/tex&amp;gt;, а граф &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; получен из &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; удалением не более &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Тогда в графе &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; есть совершенное паросочетание.&lt;br /&gt;
|proof = &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G' = G \setminus F&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;F \subset E(G)&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;|F| \leqslant k - 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Предположим, что в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; нет [[Паросочетания: основные определения, теорема о максимальном паросочетании и дополняющих цепях#perfect_matching | совершенного паросочетания]]., тогда выберем [[Теорема Татта о существовании полного паросочетания#Tutt_set | множество Татта]] &amp;lt;tex&amp;gt;S \subset V(G')&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;odd(G' \subset S) &amp;gt; |S|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;|V(G)|&amp;lt;/tex&amp;gt; чётно, то и &amp;lt;tex&amp;gt;odd(G' \setminus S) + |S|&amp;lt;/tex&amp;gt; тоже чётно. Из этого следует, что &amp;lt;tex&amp;gt;odd(G' \setminus S) \equiv |S| \pmod 2 &amp;lt;/tex&amp;gt;. Из этого факта и того, что &amp;lt;tex&amp;gt;odd(G' \setminus S) &amp;gt; |S|&amp;lt;/tex&amp;gt; следует, что &amp;lt;tex&amp;gt;odd(G' \setminus S) \geqslant |S| + 2 ~~~ \textbf{(1)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть в графе &amp;lt;tex&amp;gt;G' \setminus S&amp;lt;/tex&amp;gt; всего &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; компонент связности, &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; из которых нечётны. Тогда пусть &amp;lt;tex&amp;gt;U_1, \cdots, U_n&amp;lt;/tex&amp;gt; {{---}} нечётные компоненты связности &amp;lt;tex&amp;gt;G' \setminus S&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;|odd(G' \setminus S)| = n&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;U_{n+1}, \cdots, U_t&amp;lt;/tex&amp;gt; {{---}} его чётные компоненты связности. Для каждого &amp;lt;tex&amp;gt;i \in [1 \cdots t]&amp;lt;/tex&amp;gt; определим три множества:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Плешник 1.png|300px|thumb|right|Чёрные ребра {{---}} рёбра из &amp;lt;tex&amp;gt;A_i&amp;lt;/tex&amp;gt;, красные рёбра {{---}} рёбра из &amp;lt;tex&amp;gt;B_i&amp;lt;/tex&amp;gt;, синие рёбра {{---}} рёбра из &amp;lt;tex&amp;gt;C_i&amp;lt;/tex&amp;gt;. Обратите внимание, что только чёрные рёбра есть в графе &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;, синие и красные {{---}} рёбра из &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A_i&amp;lt;/tex&amp;gt; {{---}} рёбра из &amp;lt;tex&amp;gt;E(G')&amp;lt;/tex&amp;gt;, соединяющие &amp;lt;tex&amp;gt;U_i&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_i&amp;lt;/tex&amp;gt; {{---}} их количество, то есть &amp;lt;tex&amp;gt;\alpha_i = |A_i|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;B_i&amp;lt;/tex&amp;gt; {{---}} рёбра из &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, соединяющие &amp;lt;tex&amp;gt;U_i&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\beta_i&amp;lt;/tex&amp;gt; {{---}} их количество, то есть &amp;lt;tex&amp;gt;\beta_i = |B_i|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;C_i&amp;lt;/tex&amp;gt; {{---}} рёбра из &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, соединяющие &amp;lt;tex&amp;gt;U_i&amp;lt;/tex&amp;gt; с  остальными компонентами связности графа &amp;lt;tex&amp;gt;G' \setminus S&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\gamma_i&amp;lt;/tex&amp;gt; {{---}} их количество, то есть &amp;lt;tex&amp;gt;\gamma_i = |C_i|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда определим &amp;lt;tex&amp;gt;m_i = \alpha_i + \beta_i + \gamma_i&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;m_i&amp;lt;/tex&amp;gt; {{---}} это количество рёбер графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, соединяющих &amp;lt;tex&amp;gt;U_i&amp;lt;/tex&amp;gt; с &amp;lt;tex&amp;gt;V(G) \setminus U_i&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По лемме [[Совершенное паросочетание в кубическом графе#lemma1 | о сравнимости по модулю 2]] для нечётных компонент связности &amp;lt;tex&amp;gt;G' \setminus S&amp;lt;/tex&amp;gt; (то есть &amp;lt;tex&amp;gt;i \in [1 \cdots n]&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;m_i \equiv k \pmod 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;m_i \geqslant \lambda(G)&amp;lt;/tex&amp;gt; (так как граф потерял связность), а &amp;lt;tex&amp;gt;\lambda(G) \geqslant k - 1&amp;lt;/tex&amp;gt;. Из этого факта и того, что &amp;lt;tex&amp;gt;m_i \equiv k \pmod 2&amp;lt;/tex&amp;gt; следует, что &amp;lt;tex&amp;gt;m_i \geqslant k&amp;lt;/tex&amp;gt;. Отсюда получаем неравенство:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{i=1}^n m_i =  \sum\limits_{i=1}^n (\alpha_i + \beta_i + \gamma_i) = \sum\limits_{i=1}^n \alpha_i + \sum\limits_{i=1}^n \beta_i + \sum\limits_{i=1}^n \gamma_i \geqslant kn ~~~ \textbf{(2)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что все множества рёбер &amp;lt;tex&amp;gt;A_i \subset E(G')&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B_j \subset F&amp;lt;/tex&amp;gt; не пересекаются(так как &amp;lt;tex&amp;gt;E(G') = E(G) \setminus F&amp;lt;/tex&amp;gt;) и ведут во множество &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Поэтому сумма &amp;lt;tex&amp;gt;\sum\limits_{i=1}^t |A_i| + \sum\limits_{i=1}^t |B_i| = \sum\limits_{i=1}^t \alpha_i + \sum\limits_{i=1}^t \beta_i&amp;lt;/tex&amp;gt; не превосходит суммарную степень вершин в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Во множестве &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; находится всего &amp;lt;tex&amp;gt;|S|&amp;lt;/tex&amp;gt; вершин, степень каждой не превосходит &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;. Поэтому суммарная степень вершин в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; не превосходит &amp;lt;tex&amp;gt;k|S|&amp;lt;/tex&amp;gt;. Отсюда получаем неравенство:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{i=1}^t \alpha_i + \sum\limits_{i=1}^t \beta_i \leqslant k|S| ~~~ \textbf{(3.1)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заметим, что множества рёбер &amp;lt;tex&amp;gt;B_i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;C_j&amp;lt;/tex&amp;gt;, не пересекаются, так как &amp;lt;tex&amp;gt;B_i&amp;lt;/tex&amp;gt; ведут из &amp;lt;tex&amp;gt;U_i&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;C_j&amp;lt;/tex&amp;gt; ведут из &amp;lt;tex&amp;gt;U_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;U_k&amp;lt;/tex&amp;gt;, (&amp;lt;tex&amp;gt;k \neq j&amp;lt;/tex&amp;gt;). Так как &amp;lt;tex&amp;gt;B_i \subset F&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;C_j \subset F&amp;lt;/tex&amp;gt;, то сумма &amp;lt;tex&amp;gt;\sum\limits_{i=1}^t |B_i| + \sum\limits_{i=1}^t |C_i| = \sum\limits_{i=1}^t \beta_i + \sum\limits_{i=1}^t \gamma_i&amp;lt;/tex&amp;gt; не превосходит мощности &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, откуда имеем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;2 \sum\limits_{i=1}^t \beta_i + \sum\limits_{i=1}^t \gamma_i \leqslant 2|F| \leqslant 2k - 2 ~~~ \textbf{(3.2)}&amp;lt;/tex&amp;gt; (так как &amp;lt;tex&amp;gt;|F| \leqslant k - 1&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Сложив &amp;lt;tex&amp;gt;\textbf{(3.1)}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\textbf{(3.2)}&amp;lt;/tex&amp;gt;, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{i=1}^t \alpha_i + 3\sum\limits_{i=1}^t \beta_i + \sum\limits_{i=1}^t \gamma_i \leqslant k(|S| + 2) - 2 ~~~ \textbf{(3)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\sum\limits_{i=1}^n \alpha_i + \sum\limits_{i=1}^n \beta_i + \sum\limits_{i=1}^n \gamma_i \leqslant \sum\limits_{i=1}^t \alpha_i + \sum\limits_{i=1}^t \beta_i + \sum\limits_{i=1}^t \gamma_i \leqslant \sum\limits_{i=1}^t \alpha_i + 3\sum\limits_{i=1}^t \beta_i + \sum\limits_{i=1}^t \gamma_i&amp;lt;/tex&amp;gt; из неравенств &amp;lt;tex&amp;gt;\textbf{(2)}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\textbf{(3)}&amp;lt;/tex&amp;gt; получаем &amp;lt;tex&amp;gt;kn \leqslant k(|S| + 2) - 2&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;k(n - |S| - 2) \leqslant -2&amp;lt;/tex&amp;gt;, следовательно, &amp;lt;tex&amp;gt;k(n - |S| - 2) \leqslant 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;k &amp;gt; 0&amp;lt;/tex&amp;gt;, следовательно &amp;lt;tex&amp;gt;n - |S| - 2 \leqslant 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и, следовательно, &amp;lt;tex&amp;gt;odd(G' \setminus S) = n &amp;lt; |S| + 2&amp;lt;/tex&amp;gt;, что противоречит &amp;lt;tex&amp;gt;\textbf{(1)}&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;
&lt;br /&gt;
Заметим, что [[Совершенное паросочетание в кубическом графе#th1 | Теорема Петерсона]] является следствием из этой теоремы, так как в графах Петерсена &amp;lt;tex&amp;gt;k = 3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\lambda(G) \leqslant 2 = k - 1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;|V|&amp;lt;/tex&amp;gt; чётно и &amp;lt;tex&amp;gt;|F| = 0 \leqslant k - 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|id = statement2 &lt;br /&gt;
|statement = Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-[[Основные определения теории графов#defRegularGraph |регулярный граф]], с чётным числом вершин, причём &amp;lt;tex&amp;gt;\lambda(G) \geqslant k - 1&amp;lt;/tex&amp;gt;. Тогда для любого ребра &amp;lt;tex&amp;gt;e \in E(G)&amp;lt;/tex&amp;gt; существует совершенное паросочетание графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, содержащее &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e = uv&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;e_1 \cdots e_{k-1}&amp;lt;/tex&amp;gt; {{---}} остальные рёбра, инцидентные вершине &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;. Согласно теореме, в графе &amp;lt;tex&amp;gt;G \setminus \{ e_1 \cdots e_{k-1} \}&amp;lt;/tex&amp;gt; есть совершенное паросочетание &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; покрывается &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt; {{---}} единственное ребро &amp;lt;tex&amp;gt;G \setminus \{ e_1 \cdots e_{k-1} \}&amp;lt;/tex&amp;gt;, инцидентное &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;u \in M&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;
* Карпов В. Д. - Теория графов, стр 43&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Задача о паросочетании]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D0%BB%D0%B5%D1%88%D0%BD%D0%B8%D0%BA_1.png&amp;diff=62369</id>
		<title>Файл:Плешник 1.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:%D0%9F%D0%BB%D0%B5%D1%88%D0%BD%D0%B8%D0%BA_1.png&amp;diff=62369"/>
				<updated>2017-11-29T20:09:19Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D0%B0%D1%80%D0%BE%D1%81%D0%BE%D1%87%D0%B5%D1%82%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BA%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%BC_%D0%B3%D1%80%D0%B0%D1%84%D0%B5&amp;diff=62368</id>
		<title>Совершенное паросочетание в кубическом графе</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D0%B0%D1%80%D0%BE%D1%81%D0%BE%D1%87%D0%B5%D1%82%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BA%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%BC_%D0%B3%D1%80%D0%B0%D1%84%D0%B5&amp;diff=62368"/>
				<updated>2017-11-29T19:56:33Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Лемма о сравнимости по модулю 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Лемма о сравнимости по модулю 2==&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id = lemma1&lt;br /&gt;
|statement = &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-[[Основные определения теории графов#defRegularGraph |регулярный граф]], &amp;lt;tex&amp;gt;U \in V(G)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;|U|&amp;lt;/tex&amp;gt; нечётно, &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; {{---}} число рёбер, соединяющих вершины множества &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; с вершинами из &amp;lt;tex&amp;gt;V(G) \setminus U&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;m \equiv k \pmod 2&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof = &lt;br /&gt;
[[Файл:Сравнимость.png|300px|thumb|left|Иллюстрация к лемме]]&lt;br /&gt;
&amp;lt;tex&amp;gt;m = (\sum\limits_{v \in U} d_G(v)) - 2e(G(U))&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;e(G(U))&amp;lt;/tex&amp;gt; {{---}} количество рёбер, соединяющих вершину из &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; с другой вершиной из &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
тогда &amp;lt;tex&amp;gt;m = k|U| - 2e(G(U))&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;2e(G(U))&amp;lt;/tex&amp;gt; чётно, поэтому &amp;lt;tex&amp;gt;m \equiv k|U| \pmod 2&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt; |U|&amp;lt;/tex&amp;gt; нечётно, &amp;lt;tex&amp;gt;m \equiv k \pmod 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема Петерсона (Petersen)==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=cube_graf_def&lt;br /&gt;
|definition= '''Кубический граф''' (англ. ''Cubic graph'') {{---}} [[Основные определения: граф, ребро, вершина, степень, петля, путь, цикл| граф]], в котором все вершины имеют степень три. Другими словами, кубический граф является &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt;-регулярным.}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th1 &lt;br /&gt;
|author=Петерсон&lt;br /&gt;
|statement = Пусть &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;{{---}}[[Отношение связности, компоненты связности#connected_graph | связный]] кубический граф, в котором не более &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; [[Мост, эквивалентные определения | мостов]]. Тогда в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; есть [[Паросочетания: основные определения, теорема о максимальном паросочетании и дополняющих цепях#perfect_matching | совершенное паросочетание]].&lt;br /&gt;
|proof = &lt;br /&gt;
Предположим, что совершенного паросочетания в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; нет, тогда можно выбрать [[Теорема Татта о существовании полного паросочетания#Tutt_set | множество Татта]] &amp;lt;tex&amp;gt;S \subset V(G)&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;U_1, \ldots, U_n&amp;lt;/tex&amp;gt; {{---}} все нечётные компоненты связности графа &amp;lt;tex&amp;gt;G \setminus S&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;m_i&amp;lt;/tex&amp;gt; {{---}} количество ребёр &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, связывающих вершины &amp;lt;tex&amp;gt;U_i&amp;lt;/tex&amp;gt; с вершинами &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
По предыдущей лемме, все &amp;lt;tex&amp;gt;m_i&amp;lt;/tex&amp;gt; нечётны. Так как не более чем два ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} мосты, то не более, чем два числа из &amp;lt;tex&amp;gt;m_1, \ldots, m_n&amp;lt;/tex&amp;gt; равны &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, остальные числа не менее &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} множество Татта, то &amp;lt;tex&amp;gt;odd(G \setminus S) &amp;gt; |S|&amp;lt;/tex&amp;gt;. Так как количество вершин кубического графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; чётно, мы имеем &amp;lt;tex&amp;gt;S \neq \emptyset, odd(G \setminus S) \equiv S \pmod 2&amp;lt;/tex&amp;gt;, следовательно, &amp;lt;tex&amp;gt;n = odd(G \setminus S) \geqslant |S| + 2&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{v \in S} d_G(v) \geqslant \sum\limits_{i = 1}^n m_i \geqslant 3n - 4 \geqslant 3(|S| + 2) - 4 = 3|S|&lt;br /&gt;
 + 2 &amp;gt; 3|S| = \sum\limits_{v \in S} d_G(v)&amp;lt;/tex&amp;gt;, что, очевидно, невозможно. &lt;br /&gt;
&lt;br /&gt;
Найдено противоречие, следовательно, множество Татта выбрать невозможно, следовательно, в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; есть совершенное паросочетание.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема Фринка (Frink)==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th2. &lt;br /&gt;
|author=Фринк&lt;br /&gt;
|statement=&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = (V, E)&amp;lt;/tex&amp;gt; {{---}}  двусвязный кубический граф. &lt;br /&gt;
Возьмём ребро &amp;lt;tex&amp;gt;p = (c, d)&amp;lt;/tex&amp;gt;. Пусть вершины &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; смежны с вершиной &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, а вершины &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; смежны с вершиной &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; (рисунок &amp;lt;tex&amp;gt;1 (a)&amp;lt;/tex&amp;gt;). &lt;br /&gt;
Как минимум одно из двух сокращений графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, состоящее из удаления вершин &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; и пересоединения вершин &amp;lt;tex&amp;gt;a, b, e, f&amp;lt;/tex&amp;gt; рёбрами &amp;lt;tex&amp;gt;(a, e), (b, f)&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;(a, f), (b, e)&amp;lt;/tex&amp;gt; (рисунок &amp;lt;tex&amp;gt;1 (b), (c)&amp;lt;/tex&amp;gt;, рисунок &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;) сохранит двусвязность графа.&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
Обозначим компоненты графа &amp;lt;tex&amp;gt;G(V - \{c, d\})&amp;lt;/tex&amp;gt;  как &amp;lt;tex&amp;gt;A, B, E, F&amp;lt;/tex&amp;gt;, которые содержат вершины &amp;lt;tex&amp;gt;a, b, e, f&amp;lt;/tex&amp;gt; соответственно. Так как &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; не имеет мостов (соответственно &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; не является мостом) должно существовать ребро, соединяющее одну из компонент &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;, с одной из компонент &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;. Без потери общности предположим, что &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединено с &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt;. Заметим, что рёбра &amp;lt;tex&amp;gt;(b, c), (d, f)&amp;lt;/tex&amp;gt; так же не являются мостами, значит возможны три случая (с учётом изоморфизма) (рисунок &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt;):&lt;br /&gt;
* компонента &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;,&lt;br /&gt;
* компонента &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; и компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;,&lt;br /&gt;
* компонента &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; и компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Во всех трёх случаях если &amp;lt;tex&amp;gt;G(V - \{c, d\})&amp;lt;/tex&amp;gt; расширить рёбрами &amp;lt;tex&amp;gt;(a, f), (b, e)&amp;lt;/tex&amp;gt; (получим граф &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;), добавленные рёбра будут лежать на некотором [[Основные определения: граф, ребро, вершина, степень, петля, путь, цикл| цикле]] в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; (рисунок &amp;lt;tex&amp;gt;4&amp;lt;/tex&amp;gt;). Так же для любой пары вершин &amp;lt;tex&amp;gt;u, v&amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt;\{a, b, e, f\}&amp;lt;/tex&amp;gt; существует цикл в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;, содержащий данные вершины. Чтобы доказать, что &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; двусвязен, нужно показать, что каждое ребро &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; лежит на некотором цикле в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;. Пусть цикл &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержит &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; (такой цикл существует, так как &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; двусвязен). Если &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; не проходит через вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; тогда &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; так же является циклом в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;, иначе построим цикл &amp;lt;tex&amp;gt;C'&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; следующим образом: &lt;br /&gt;
* если путь &amp;lt;tex&amp;gt; x - c - d - y &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; \{a, b\} &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; \{e, f\} &amp;lt;/tex&amp;gt;, удалим этот путь и добавим любой другой из &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; G' &amp;lt;/tex&amp;gt;, не содержащий &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; (такой путь всегда существует, так как &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; принадлежат некоторому циклу в &amp;lt;tex&amp;gt; G' &amp;lt;/tex&amp;gt;),&lt;br /&gt;
* если путь &amp;lt;tex&amp;gt; a - c - b &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt;, удалим этот путь и добавим любой другой из &amp;lt;tex&amp;gt; a &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; b &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; G' &amp;lt;/tex&amp;gt;, не содержащий &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;,&lt;br /&gt;
*если путь &amp;lt;tex&amp;gt; e - d - f &amp;lt;/tex&amp;gt; &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt;, удалим этот путь и добавим любой другой из &amp;lt;tex&amp;gt; e &amp;lt;/tex&amp;gt; в &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;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;C'&amp;lt;/tex&amp;gt; это набор циклов (так как &amp;lt;tex&amp;gt;C'&amp;lt;/tex&amp;gt; получен из &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; путём преобразования некоторых путей) и содержит &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;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;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;center&amp;quot;&lt;br /&gt;
 |[[Файл:Frinks_algorithm1.png|thumb|500px|Рисунок 1. Сокращение двусвязного кубического графа. &amp;lt;tex&amp;gt;(a)&amp;lt;/tex&amp;gt; Нужно удалить вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(b)&amp;lt;/tex&amp;gt; первый тип сокращения {{---}} вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;, вершина &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(c)&amp;lt;/tex&amp;gt; второй тип сокращений {{---}} вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt;, вершина &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; соединена с &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;.]]&lt;br /&gt;
 |[[Файл:Frinks_algorithm2.PNG|thumb|500px|Рисунок 2. Особые случаи сокращения графа. &amp;lt;tex&amp;gt;(a)&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt;, которое нужно удалить, кратное. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; из графа и соединяет &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt; новым ребром. &amp;lt;tex&amp;gt;(b)&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; инцидентно двум двойным рёбрам &amp;lt;tex&amp;gt;(a, c)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;(d, e)&amp;lt;/tex&amp;gt;. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; и добавляет новое кратное ребро &amp;lt;tex&amp;gt;(a, e)&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(c)&amp;lt;/tex&amp;gt; Ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; инцидентно одному ребру &amp;lt;tex&amp;gt;(d, e)&amp;lt;/tex&amp;gt;. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt; и добавляет два новых ребра &amp;lt;tex&amp;gt;(a, e)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;(b, e)&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(d)&amp;lt;/tex&amp;gt; Ребро &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; тройной кратности. Сокращение удаляет вершины &amp;lt;tex&amp;gt;c, d&amp;lt;/tex&amp;gt;.  ]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;center&amp;quot;&lt;br /&gt;
 |[[Файл:Frinks_algorithm3.PNG|thumb|500px|Рисунок 3. Все возможные соединения двусвязных компонент графа &amp;lt;tex&amp;gt;G[V - \{c,d\}]&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(a)&amp;lt;/tex&amp;gt; Компонента &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединена с компонентой &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt;, компонента &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; соединена с компонентой &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(b)&amp;lt;/tex&amp;gt; Компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с компонентами &amp;lt;tex&amp;gt;A, B, F&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;(c)&amp;lt;/tex&amp;gt; Компонента &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; соединена с компонентами &amp;lt;tex&amp;gt;B, E&amp;lt;/tex&amp;gt;, компонента &amp;lt;tex&amp;gt;E&amp;lt;/tex&amp;gt; соединена с компонентой &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;. ]]&lt;br /&gt;
 |[[Файл:Frinks_algorithm4.PNG|thumb|500px|Рисунок 4. Возможные соединения двусвязный компонент &amp;lt;tex&amp;gt;A, B, E, F&amp;lt;/tex&amp;gt; после удаления ребра &amp;lt;tex&amp;gt;(c, d)&amp;lt;/tex&amp;gt; и добавления рёбер &amp;lt;tex&amp;gt;(a, f)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;(b, e)&amp;lt;/tex&amp;gt;.]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Алгоритм поиска совершенного паросочетания (Frink's algorithm)==&lt;br /&gt;
Будем сокращать данный граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; вышеизложенным способом (на каждой итерации можем выбирать любое ребро) пока не удалим все вершины.&lt;br /&gt;
Когда все вершины закончились, создадим пустое совершенное паросочетание &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и начнём обратный процесс для всех сокращений, то есть будем восстанавливать граф (начиная с последних удалённых вершин). Каждый такой шаг будет приводить к одному из четырёх базовых случаев, представленных в рисунке &amp;lt;tex&amp;gt;5&amp;lt;/tex&amp;gt; или к одному из специальных случаев из рисунка &amp;lt;tex&amp;gt;6&amp;lt;/tex&amp;gt;. Восстановление для всех специальных случаев, а так же для первых трёх базовых выполняется по строгому алгоритму, т.е. разрешимо за &amp;lt;tex&amp;gt;O(1)&amp;lt;/tex&amp;gt;. Единственный проблемный случай, когда оба ребра принадлежат совершенному паросочетанию. В этой ситуации необходимо найти альтернативный цикл, содержащий как минимум одно из этих рёбер и обновить паросочетание с этим циклом. Эти действия сводят четвёртый базовый случай к одному из первых трёх.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;center&amp;quot;&lt;br /&gt;
 |[[Файл:Frinks_algorithm5.PNG|thumb|400px|Рисунок 5. Базовые случаи восстановления графа.]]&lt;br /&gt;
 |[[Файл:Frinks_algorithm6.PNG|thumb|400px|Рисунок 6. Особые случаи восстановления графа.]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Псевдокод алгоритма Фринка==&lt;br /&gt;
*&amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} двусвязный кубический граф, &lt;br /&gt;
*&amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; {{---}} совершенное паросочетание &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{bridgeless}&amp;lt;/tex&amp;gt; возвращает &amp;lt;tex&amp;gt;true&amp;lt;/tex&amp;gt; если у графа нет моста или &amp;lt;tex&amp;gt;false&amp;lt;/tex&amp;gt; в противном случае,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{alternatingCycle}&amp;lt;/tex&amp;gt; принимает три параметра: граф, совершенное паросочетание и ребро. Возвращает альтернативный цикл,  включающий в себя данное ребро и обновляет совершенное паросочетание, &lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{reductions}&amp;lt;/tex&amp;gt; сокращает граф,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{simpleReversion}&amp;lt;/tex&amp;gt; восстанавливает граф,&lt;br /&gt;
*функция &amp;lt;tex&amp;gt;\mathtt{reductedGraph}&amp;lt;/tex&amp;gt; принимает три параметра: граф, удаляемые вершины, добавляемые рёбра. Возвращает новый граф, у которого удалены выбранные вершины, вместе c инцидентными рёбрами и добавлены другие рёбра, переданные в параметрах. При этом исходный граф не меняется.&lt;br /&gt;
&lt;br /&gt;
 '''function''' frinkMatching&amp;lt;tex&amp;gt;(G)&amp;lt;/tex&amp;gt;:&lt;br /&gt;
     '''if''' &amp;lt;tex&amp;gt;|V| = 0&amp;lt;/tex&amp;gt; &lt;br /&gt;
         '''return''' &amp;lt;tex&amp;gt;\varnothing&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;v - w = E[0]&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;R = &amp;lt;/tex&amp;gt; reductions&amp;lt;tex&amp;gt;(G, v - w)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' bridgeless&amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;reductedGraph&amp;lt;tex&amp;gt;(G, \{v, w\}, R[0]))&amp;lt;/tex&amp;gt; &lt;br /&gt;
         &amp;lt;tex&amp;gt;r = R[0]&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''else'''&lt;br /&gt;
         &amp;lt;tex&amp;gt;r = R[1]&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;M =&amp;lt;/tex&amp;gt; frinkMatching&amp;lt;tex&amp;gt;(&amp;lt;/tex&amp;gt;reductedGraph&amp;lt;tex&amp;gt;(G,\{v, w\}, r))&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' &amp;lt;tex&amp;gt;|r \cap M| = 2 &amp;lt;/tex&amp;gt; &lt;br /&gt;
         &amp;lt;tex&amp;gt;C =&amp;lt;/tex&amp;gt; alternatingCycle&amp;lt;tex&amp;gt;(G, M, r[0])&amp;lt;/tex&amp;gt;&lt;br /&gt;
         &amp;lt;tex&amp;gt;M = M \oplus C&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;M = (M - r)\  \cup &amp;lt;/tex&amp;gt; simpleReversion&amp;lt;tex&amp;gt;(G, v, w, r, M)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Время работы алгоритма Фринка==&lt;br /&gt;
Операция сокращения должна на каждом шаге проверять граф на наличие мостов за &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt;, кроме того, при возникновении четвёртого базового случая требуется найти альтернативный цикл за &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt;. В алгоритме &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt; операций сокращения и восстановления графа, причем каждая из этих операций требует &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt; времени. Таким образом, весь этот алгоритм исполняется за время &amp;lt;tex&amp;gt;O(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;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* [https://www.lektorium.tv/course/22771 Лекториум {{---}} Дополнительные главы теории паросочетаний]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B3%D1%80%D0%B0%D1%84 Wikipedia {{---}} Кубический граф]&lt;br /&gt;
* Piotr Stanczyk {{---}} THEORY AND PRACTICE OF COMPUTING MAXIMUM MATCHINGS IN GRAPHS стр. 21-28.&lt;br /&gt;
* Карпов В. Д. - Теория графов, стр 42&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Задача о паросочетании]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C.png&amp;diff=62367</id>
		<title>Файл:Сравнимость.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:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C.png&amp;diff=62367"/>
				<updated>2017-11-29T19:54:45Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A2%D0%B0%D1%82%D1%82_2.png&amp;diff=62366</id>
		<title>Файл:Татт 2.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:%D0%A2%D0%B0%D1%82%D1%82_2.png&amp;diff=62366"/>
				<updated>2017-11-29T19:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: загружена новая версия «Файл:Татт 2.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>KokorinIlya</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%D0%B0_%D0%A2%D0%B0%D1%82%D1%82%D0%B0_%D0%BE_%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B3%D1%80%D0%B0%D1%84%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%B0_%D1%81_%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%BC_%D0%BE%D0%B1%D1%85%D0%B2%D0%B0%D1%82%D0%BE%D0%BC&amp;diff=62365</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%D0%B0_%D0%A2%D0%B0%D1%82%D1%82%D0%B0_%D0%BE_%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B3%D1%80%D0%B0%D1%84%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%B0_%D1%81_%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%BC_%D0%BE%D0%B1%D1%85%D0%B2%D0%B0%D1%82%D0%BE%D0%BC&amp;diff=62365"/>
				<updated>2017-11-29T19:20:58Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: /* Теорема */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|id = defMain. &lt;br /&gt;
|definition = '''Обхват''' ''(англ. girth)'' графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; (обозначается &amp;lt;tex&amp;gt;g(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;
{{Лемма&lt;br /&gt;
|statement= Пусть &amp;lt;tex&amp;gt; k, g \in \mathbb{N} &amp;lt;/tex&amp;gt;, причём &amp;lt;tex&amp;gt; k \geqslant 3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;{{---}}граф, &amp;lt;tex&amp;gt;|V(G)| &amp;gt; \dfrac{k(k-1)^{g-1} - 2}{k - 2} &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall v \in V(G) : d_G(v) \leqslant k;&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; x, y \in V(G), d_G(x), d_G(y) \leqslant k - 1&amp;lt;/tex&amp;gt;, тогда существует такая вершина &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;dist(x, z) \geqslant g - 1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;dist(y, z) \geqslant g&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &lt;br /&gt;
[[Файл:Лемма к Татту.png|300px|thumb|left|Иллюстрация к теореме для &amp;lt;tex&amp;gt;k = 4&amp;lt;/tex&amp;gt;. У вершины &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;(чёрной) не более &amp;lt;tex&amp;gt;k - 1 = 3&amp;lt;/tex&amp;gt; соседей (синих вершин), у каждой из &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; синих вершин не более &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; нерассмотренных соседей (красных вершин), то есть красных вершин не более &amp;lt;tex&amp;gt;(k - 1)^2&amp;lt;/tex&amp;gt;, и так далее]]&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;d_G(x), d_G(y) \leqslant k - 1 &amp;lt;/tex&amp;gt;, а степени остальных вершин графа не более &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, то на расстоянии не более &amp;lt;tex&amp;gt;g - 1&amp;lt;/tex&amp;gt; от &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; находится не более чем &amp;lt;tex&amp;gt;1 + (k - 1) + \ldots + (k - 1)^{g - 1} = \sum\limits_{n=0}^{g - 1} (k - 1)^n = \dfrac{(k-1)^{g} - 1}{k - 2}&amp;lt;/tex&amp;gt; вершин графа, а на расстоянии не более &amp;lt;tex&amp;gt;g - 2&amp;lt;/tex&amp;gt; от &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; находится не более чем &amp;lt;tex&amp;gt;1 + (k - 1) + \ldots + (k - 1)^{g - 2} = \sum\limits_{n=0}^{g - 2} (k - 1)^n =\dfrac{(k-1)^{g - 1} - 1}{k - 2}&amp;lt;/tex&amp;gt; вершин. Так как &amp;lt;tex&amp;gt;\dfrac{(k-1)^{g - 1} - 1}{k - 2} + \dfrac{(k-1)^{g} - 1}{k - 2} = \dfrac{k(k-1)^{g-1} - 2}{k - 2}&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt; |V(G)| &amp;gt; \dfrac{k(k-1)^{g-1} - 2}{k - 2}&amp;lt;/tex&amp;gt;, то  существует такая вершина &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;dist(x, z) \geqslant g - 1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;dist(y, z) \geqslant g&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id = thMain. &lt;br /&gt;
|author = В. Татт&lt;br /&gt;
|statement = Пусть &amp;lt;tex&amp;gt; k, g, n \in \mathbb{N} &amp;lt;/tex&amp;gt;, причём &amp;lt;tex&amp;gt; k, n \geqslant 3, n &amp;gt; \dfrac{k(k-1)^{g-1} - 2}{k - 2}, kn &amp;lt;/tex&amp;gt; чётно. Тогда существует &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;-[[Основные определения теории графов#defRegularGraph | регулярный граф]] &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; c обхватом &amp;lt;tex&amp;gt;g(G) = g&amp;lt;/tex&amp;gt; и количеством вершин &amp;lt;tex&amp;gt; |V| = n&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof =&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G_{set}(g, n, k)&amp;lt;/tex&amp;gt; {{---}} семейство всех графов с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; вершинами, обхватом &amp;lt;tex&amp;gt;g&amp;lt;/tex&amp;gt; и максимальной степенью вершин не более &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;. При &amp;lt;tex&amp;gt;n &amp;gt; g&amp;lt;/tex&amp;gt; очевидно, что &amp;lt;tex&amp;gt;G_{set}(g, n, k) \neq \emptyset&amp;lt;/tex&amp;gt;: например, этому множеству принадлежит граф, состоящий из простого цикла на &amp;lt;tex&amp;gt;g&amp;lt;/tex&amp;gt; вершинах и &amp;lt;tex&amp;gt;n - g&amp;lt;/tex&amp;gt; изолированных вершин. &lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;v_{&amp;lt;k}(G)&amp;lt;/tex&amp;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;dist_{&amp;lt;k}(G)&amp;lt;/tex&amp;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;v_{&amp;lt;k}(G) &amp;lt; 2&amp;lt;/tex&amp;gt;, положим &amp;lt;tex&amp;gt;dist_{&amp;lt;k}(G) = 0&amp;lt;/tex&amp;gt;). Выберем в &amp;lt;tex&amp;gt;G_{set}(g, n, k)&amp;lt;/tex&amp;gt; граф следующим образом: сначала выберем все графы с максимальным количеством рёбер, затем из них выберем графы с максимальным &amp;lt;tex&amp;gt;v_{&amp;lt;k}&amp;lt;/tex&amp;gt;, и, наконец, из оставшихся выберем граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; c максимальным &amp;lt;tex&amp;gt;dist_{&amp;lt;k}(G)&amp;lt;/tex&amp;gt;. Если таких графов несколько, выберем любой.&lt;br /&gt;
&lt;br /&gt;
Докажем, что &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; {{---}} регулярный граф степени &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Предположим, что это не так и рассмотрим пару его максимально удаленных вершин степени менее &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;: пусть это будут вершины &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; (если вершина степени менее &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; в графе всего одна, то &amp;lt;tex&amp;gt;x =&lt;br /&gt;
 y&amp;lt;/tex&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
# [[Файл:Татт 1.png|300px|thumb|right|Расположение вершины &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt; относительно вершин &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;]] Если &amp;lt;tex&amp;gt;dist_G(x, y) \geqslant g - 1&amp;lt;/tex&amp;gt;, то соединим их ребром и получим граф &amp;lt;tex&amp;gt;G' = G \cup xy, G'\in G_{set}(g, n, k)&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt;|E(G')| &amp;gt; |E(G)|&amp;lt;/tex&amp;gt; (так как в графе &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; есть все те рёбра, которые есть в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, и ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;). Значит, граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; не может быть выбран из множества &amp;lt;tex&amp;gt;G_{set}(g, n, k)&amp;lt;/tex&amp;gt;, так как у него не максимальное количество рёбер.&lt;br /&gt;
# Так &amp;lt;tex&amp;gt;d_G(x), d_G(y) \leqslant k - 1 &amp;lt;/tex&amp;gt;, а степени остальных вершин графа не более &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;, то по лемме существует такая вершина &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;dist(x, z) \geqslant g - 1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;dist(y, z) \geqslant g&amp;lt;/tex&amp;gt;. &lt;br /&gt;
## &amp;lt;tex&amp;gt;d_G(z) &amp;lt; k&amp;lt;/tex&amp;gt;. В таком случае, &amp;lt;tex&amp;gt;d_G(z) &amp;lt; k, d_G(y) &amp;lt; k, dist_G(y, z) \geqslant g&amp;lt;/tex&amp;gt;, что невозможно, согласно пункту 1. В таком случае:&lt;br /&gt;
## &amp;lt;tex&amp;gt;d_G(z) = k \geqslant 3&amp;lt;/tex&amp;gt;, следовательно, существует ребро &amp;lt;tex&amp;gt;zu \in E(G)&amp;lt;/tex&amp;gt;, через которое проходят не все простые циклы длины &amp;lt;tex&amp;gt;g&amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;g(G \setminus zu) = g(G) = g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:Татт 2.png|300px|thumb|left|Получение графа &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;
Пусть &amp;lt;tex&amp;gt;G' = G \setminus zu \cup zx&amp;lt;/tex&amp;gt;. Тогда из&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; dist_G(y, u) \geqslant dist_G(y, z) - 1 \geqslant g - 1 &amp;gt; dist_G(x, y) = dist_{&amp;lt;k}(G) ~~~ \textbf{(1)} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
следует, что &amp;lt;tex&amp;gt;d_G(u) = k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;g(G') = g(G) = g, |E(G')| = |e(G)| - 1 + 1 = |E(G)| &amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; d_{G'}(x) = d_G(x) + 1 \leqslant k, d_{G'}(u) = d_G(u) - 1 = k - 1 ~~~ \textbf{(2)} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&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; совпадают. Тогда &amp;lt;tex&amp;gt;G' \in G_{set}(g, n, k)&amp;lt;/tex&amp;gt;. Из &amp;lt;tex&amp;gt;\textbf{(2)}&amp;lt;/tex&amp;gt; следует, что &amp;lt;tex&amp;gt;v_{&amp;lt;k}(G') \geqslant v_{&amp;lt;k}(G)&amp;lt;/tex&amp;gt;. Тогда ввиду выбора графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; должно быть &amp;lt;tex&amp;gt;v_{&amp;lt;k}(G') = v_{&amp;lt;k}(G)&amp;lt;/tex&amp;gt;, что возможно лишь при &amp;lt;tex&amp;gt;d_{G'}(x) = k&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;d_G(x) = k - 1&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;kn&amp;lt;/tex&amp;gt; чётно, вершина &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;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;x \neq y&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Докажем, что &amp;lt;tex&amp;gt;dist_{G'}(y, u) &amp;gt; dist_{G}(y, x)&amp;lt;/tex&amp;gt;. Действительно, рассмотрим путь &amp;lt;tex&amp;gt;P: y \leadsto u&amp;lt;/tex&amp;gt;, который реализует расстояние между &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; проходит только по рёбрам &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;, то, учитывая &amp;lt;tex&amp;gt;\textbf{(1)}&amp;lt;/tex&amp;gt;, получаем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; dist_{G'}(y, u) = dist_G(y, u) \geqslant g - 1 &amp;gt; dist_G(y, x)  &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; проходит по ребру &amp;lt;tex&amp;gt;zx&amp;lt;/tex&amp;gt;. Следовательно, &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; содержит путь по рёбрам графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; от &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; до одной из вершин &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt; и ребро &amp;lt;tex&amp;gt;xz&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; dist_{G'}(y, u) = \min(dist_G(y, x), dist_G(y, z)) + 1 &amp;gt; dist_G(y, x)  &amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
так как &amp;lt;tex&amp;gt;dist_G(y, z) \geqslant g &amp;gt; dist_G(y, x)&amp;lt;/tex&amp;gt;. Таким образом&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; dist_{&amp;lt;k}(G') \geqslant dist_{G'}(y, u) &amp;gt; dist_G(y, x) dist_{&amp;lt;k}(G) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&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; {{---}} &amp;lt;tex&amp;gt;k&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;
* Карпов В. Д. - Теория графов, стр 108&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обходы графов]]&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A2%D0%B0%D1%82%D1%82_2.png&amp;diff=62364</id>
		<title>Файл:Татт 2.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:%D0%A2%D0%B0%D1%82%D1%82_2.png&amp;diff=62364"/>
				<updated>2017-11-29T19:15:39Z</updated>
		
		<summary type="html">&lt;p&gt;KokorinIlya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>KokorinIlya</name></author>	</entry>

	</feed>