Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Дискретная математика. Учебное пособие-2

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
832 Кб
Скачать

 

 

 

 

 

 

 

31

 

 

 

 

 

1

 

x

( 1)

x

2

 

( 1) ( k 1)

x

k

.

(1 x)

1!

2!

 

k!

 

 

 

 

 

 

 

 

 

 

Производящие функции применяются для решения рекуррентных уравнений, возникающих при анализе алгоритмов [2]. Для знакомства с решением рекуррентных уравнений рекомендуем небольшую книгу Маркушевича [8]. Для дальнейшего изучения – книги [10] и [12].

§3.1. Свойства производящих функций

Степенные ряды можно почтенно интегрировать и дифференцировать внутри круга сходимости. В частности, дифференцируя бином Ньютона, получаем

 

 

 

x

k 1

 

(1 x)

n 1

1

 

kC nk xk 1

n(1 x)n 1 ,

C nk

 

 

 

 

.

k 1

n 1

 

k 1

 

k 0

 

 

 

Пример 1. Вычислим производящие функции некоторых последовательностей. С этой целью сначала вспомним формулу для суммы бесконечной геометрической прогрессии

 

 

 

n

 

 

1 q

n 1

 

 

 

1

 

a0 qk

a0

lim

qk

a0

lim

 

a0

 

 

.

1 q

1

 

k 0

 

n k 0

 

n

 

q

С помощью этой формулы найдем производящую функцию для последо-

 

 

 

1

 

 

вательности an=1, которая будет равна x k

 

 

. Почленное дифферен-

 

 

 

 

k 0

1

x

цирование полученного равенства

 

 

 

 

 

 

1 + x + x2 + + xn + =

 

1

.

 

 

 

 

1 x

приводит к производящей функции для последовательности an=n+1:

1 + 2x + 3x2 + +(n+1)xn + =

 

1

.

 

x)2

(1

 

Почленное интегрирование приводит к производящей функции последова-

тельности 1

n

x +

x2

+ +

xn

+

=

x

dx

= ln(1 x)

2

 

n

 

 

1 x

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

Имеют место следующие свойства производящих функций:

1)Сумме последовательностей соответствует сумма производящих функций;

2)Производящая функция последовательности

cn = a0 bn + a1 bn-1 + + an b0

32

равна произведению производящих функций последовательностей {an }и {bn}.

§3.2. Разбиения чисел

Разбиением натурального числа n на k слагаемых называется класс эквивалентности последовательностей таких положительных натуральных чисел ( b1, b2, , bk ), что

n = b1 + b2 + + bk , k>0, b1, b2, , bk > 0.

Две последовательности считаются эквивалентными, если они отличаются перестановкой элементов bi . Каждый класс эквивалентности можно представить единственным образом как такую невозрастающую последовательность

a1 a2 ak ,

что a1+ a2, + + ak = n. Пусть P(n,k) – число разбиений n на k слагаемых.

n

Тогда число всех разбиений равно P(n) P(n, k) , n>0.

k 1

Полагаем по определению P(0)=P(0,0)=1.

Пример 1. P(5)=7 :

5 = 5,

5 = 4+1,

5 = 3+2 ,

5 = 3+1+1 ,

5 = 2+2+1 ,

5 = 2+1+1+1 ,

5 = 1+1+1+1+1 .

Диаграмма Ферреса для n = a1 + a2 + + ak состоит из k строк, в i-строке содержащих ai точек. Например, для 5 = 2 + 2 + 1 диаграмма Ферреса показана на рисунке 3.1. На этом рисунке показана также сопряженная диаграмма Ферреса.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3.1. Диаграммы Ферреса

33

Лемма 1. Число разбиений P(n) равно количеству решений

( 1 , 2 , , n )

уравнения 1 1 + 2 2 + + n n = n .

Доказательство. Если среди чисел a1 a2 ak разбиения числа n имеется 1 единиц , 2 двоек , , n n-ок, то получаем решение уравнения. Ясно, что это соответствие взаимно однозначно.

Обозначим через Ph(n) количество разбиений числа n на слагаемые, не большие чем h .

Теорема 1. Производящая функция последовательности чисел

 

h

разбиений Ph(0), Ph (1), Ph (2),

равна (1 xk ) 1 .

 

k 1

Доказательство. Произведение равно

(1+x+x2+ )(1+x2+x4+ )(1+ x3+ x6+ ) (1+ xh + x2h + )

Если перемножить содержимое скобок, то получим многочлен, равный сумме

x 1 x2 2 xh h . Отсюда коэффициент при xn равен числу последовательно-

стей ( 1 , 2 , , h ),

для которых 1 1 + 2 2 + + h h = n. Он будет равен числу разбиений n на слагаемые, не большие чем h.

Следствие 1. Производящая функция последовательности чисел

 

 

разбиений P(0), P(1), P(2),

равна (1 xh ) 1 .

 

h 1

§3.3. Числа Фибоначчи

Вычислим производящую функцию F(x) чисел Фибоначчи F0 = F1 =

1, Fn+1 = Fn

+ Fn-1 при n 1. Имеют место соотношения:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fk xk 1

 

x Fk xk 1 x (Fk 2 xk Fk 1xk ) 1 x x2 Fk 2 xk 2 x Fk 1xk 1

k 0

 

 

k 2

k 2

 

 

 

 

 

 

 

k 2

k 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приходим к уравнению F(x)=1 + x + x2

+ x(F(x)-1) для F (x) Fk xk . Решая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 0

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

A

 

 

B

 

это уравнение, получаем

F(x)

 

 

 

 

 

 

 

, для некоторых A, B,

1 x x2

1 ax

1 bx

при a

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 5

 

,

1 5

. Отсюда мы видим,

что ряд F(x) равен сумме геомет-

2

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рических

 

 

прогрессий.

Находим

A

a

,

B

b

.

Следовательно,

 

 

 

 

 

a b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

34

 

k 1

b

k 1

 

 

 

 

 

 

 

 

 

 

 

F(x)

a

 

 

xk . Отсюда получаем формулу для вычисления k–го числа

 

a b

 

k 0

 

 

 

 

 

1

 

k 1 1

 

k 1

 

 

F

 

 

 

 

 

 

Фибоначчи,

 

1

 

5

5

, для всех k = 0, 1, 2, ∙ ∙ ∙ .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

5

 

 

2

2

 

 

 

 

 

 

 

 

 

 

 

§3.4. Рекуррентные соотношения

Рассмотрим обобщение последовательностей Фибоначчи. Формула

un + r = c1 un + r – 1 + c2 un + r – 2 + ∙ ∙ ∙ + cr un

называется однородным линейным рекуррентным уравнением порядка r.

Ее решением является последовательность {un}, однозначно определенная начальными значениями u0, u1, u2, ∙ ∙ ∙ , ur –1 . Решение такого уравнения на-

зывается возвратной или рекуррентной последовательностью порядка r.

Пример 1. Геометрическая прогрессия является решением уравнения un+1=qun . Ее члены описываются формулой un= u0qn . Отсюда геометрическая прогрессия является возвратной последовательностью порядка 1.

Пример 2. Арифметическая прогрессия un = u0 + nd удовлетворяет соотношению un+1 un = un+2 un+1 . Получаем однородное рекуррентное уравнение un+2 = 2un+1 un . Начальные данные задаются значениями u0 и u1=u0+d. Отсюда арифметическая прогрессия является возвратной последовательностью порядка 2.

Пример 3. Произвольная периодическая последовательность является возвратной последовательностью порядка p, удовлетворяющей рекуррентному соотношению un + p=un . Здесь p – период последовательности.

Для заданного рекуррентного уравнения

un + r = c1 un + r – 1 + c2 un + r – 2 + ∙ ∙ ∙ + cr un

найдем производящую функцию u(x) uk xk возвратной последователь-

k 0

ности {un }. Обозначим K(x)=1 c1x c2x2 ∙ ∙ ∙ crxr.

Теорема 1. Произведение u(x)K(x) = D(x) является многочленом степени < r.

Доказательство. Вычислим коэффициент ряда D(x) при xn+ r . Он

при n ≥ 0 будет равен un + r (c1 un + r – 1 + c2 un + r – 2 + ∙ ∙ ∙ + cr un) = 0. Отсюда D(x) – многочлен степени < n .Замечание. Частное от деления любых

двух многочленов является производящей функцией некоторой возвратной последовательности, порядок которой равен степени знаменателя.

35

 

Пример 4. Применим доказанную теорему к

решению

рекуррентного уравнения un+2 = 5 un+1 6 un при начальных условиях u0 = u1 = 1. Здесь K(x)=1 5x + 6x2 . Вычислим D(x) = K(x)u(x) = (1 5x+6x2)(u0

+ u1x + ∙ ∙ ∙) = 1 4x . Получаем

u(x)

1 4x

. Следующий шаг –

 

1 5x 6x2

разложение знаменателя K(x) в произведение (1 1x) (1 2x). В данном случае это можно сделать с помощью формулы Виета. Поскольку

1 + 2 = 5, 1 2 = 6,

то 1

 

и 2

 

 

 

 

корни квадратного

уравнения 2

5

+6 =0, и

 

 

 

 

5

 

 

 

25

6

 

 

5

 

1

. Приходим к формуле

 

 

 

12

 

 

2

 

 

 

 

2

 

 

4

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 4x

1 4x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u(x)

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 5x 6x2

(1 2x)(1 3x)

 

 

 

Теперь найдем разложение в сумму простых дробей методом неопреде-

 

 

 

 

 

 

 

 

 

 

 

 

1 4x

 

 

 

 

A

 

B

ленных коэффициентов

 

 

 

 

 

 

 

 

 

 

. Получим систему

(1 2x)(1 3x)

(1 2x)

(1 3x)

линейных уравнений A+B =1, 3A+2B=4. Ее решение A=2, B= 1. Отсюда

 

 

2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u(x)

 

 

 

 

 

 

 

2

2k xk 3k xk . Это приводит к ответу un = 2n+1 3n .

(1 2x)

 

3x)

 

 

(1

 

 

k 0

 

k 0

 

 

 

 

 

 

 

 

 

 

В общем случае числа I в разложении

K(x) = (1 1x) (1 2x) ∙ ∙ ∙

(1 rx) являются корнями уравнения F( )= r c1 r 1 ∙ ∙ ∙ cr-1 cr

=0 , ибо K(x)= xr F(

1

) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

Если все корни уравнения

F( )=0

действительны и различны, то

получаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D(x)

 

A1

A2

 

 

 

Ar

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

K(x)

(1 1 x)

(1 2 x)

(1 r x)

откуда

un A1 1n Ar rn .

 

 

 

 

 

 

 

 

 

 

Это позволяет составить систему линейных уравнений для нахожде-

ния Ai

с помощью известных значений u0 , u1 ,

 

∙∙∙, ur-1 . Если существуют

кратные корни, то, пользуясь формулами для производных от геометриче-

ской прогрессии, можно доказать, что решение будет дополняться слагае-

мыми A n nA n nk 1 A n , где k – кратность корня I .

1 i

2 i

k i

§3.5. Упражнения

Свойства производящих функций

1.Сколько делителей, включая само число и 1, имеет число 720?

2.Доказать, что n > 0 имеют место соотношения

36

n

(1) kCnk n2n 1 ;

k1 n

(2)k 2Cnk n(n 1)2n 2 ;

k1

3.Найти производящую функцию последовательности an = 10ncos(2n).

4.Найти производящую функцию последовательности an = 10nsin(2n).

5.Найти производящую функцию последовательности an = 10nn.

6.Найти производящую функцию последовательности an = 10nn.

7.Найти производящую функцию последовательности an = 10nn(n+1).

8.Найти производящую функцию последовательности an = 10nn2 .

9.Найти производящую функцию последовательности an = 10n/(n+1).

10.Найти производящую функцию последовательности an = 10n/(n+1)(n+2).

11.Доказать рекуррентное соотношение для производящих функций последовательностей nk

 

 

 

 

 

 

 

 

fk (x) nk xn x nk 1 (nxn 1 ) x

nk 1 (xn )'

x

d

( fk 1 (x))

dx

n 0

n 0

n 0

 

 

 

 

12. Найти производящие функции последовательностей an=nk ,

при k =

1,2,3,4.

 

 

 

 

 

 

 

Решение рекуррентных уравнений

13.un+2 = un+1 + 2un , u0 = 1, u1 = 1 ;

14.un+2 = un+1 + 2un , u0 = 0, u1 = 1 ;

15.un+2 = 3un+1 – 2un , u0 = 1, u1 = 1 ;

16.un+2 = un+1 + 6un , u0 = a, u1 = b ;

17.un+2 – 4un+1 – 5un = 0, u0 = 8, u1 = 10 ;

Ответ: un = 7+3n

18. un+3 – 3un+2 +un+1– 3un = 0, u0 = 1, u1 = 3, u2 = 8 ;

Ответ: u2n= (9 32n+(-1)n)/10, u2n+1= (9 32n+1+3 (-1)n)/10, n≥0. 19. un+3 + un+2 – un+1– un = 0, u0 = 1, u1 = 2, u2 = 3 ;

Ответ: un=(-1)n(n-1)+2

20.un+2 – 4un+1 + 4un = 0, u0 = a, u1 = b ;

21.un+2 = 2un+1 – 2un , u0 = 1, u1 = 2 ;

Указание: Производящая функция последовательность un

 

 

 

 

 

37

u(x)=

1

 

A

 

B

 

 

 

1 2x 2x2

1 (1 i)x

1 (1 i)x

Ответ: u

 

(

 

n

2

)n 1 2 cos (n 1)

 

 

4

22.un+3 = 3un+2 – 3un+1+ un , u0 = 1, u1 = 3, u2 = 3 ;

Указание: Искать решение в виде un=A+Bn+Cn2 .

23.un+3 = – 3un+2 – 3un+1– un , u0 = 0, u1 = 1, u2 = –2 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24.

u

n+2

= u

n+1

– u

, u

0

= 1, u

1

= 9 ;

 

1

 

i 3

 

 

 

 

 

 

 

n

 

 

 

2

 

2

 

25.

un+2

= 2un+1 – 4un ,

 

u0 = 1, u1 = 2 ;

1 i

 

 

 

3

Глава 4. Теория графов

Основатель теории графов – Леонардо Эйлер (1707 – 1783), крупнейший математик 18 века. Эйлер работал в Санкт - Петербурге в 1725-1741 годах и в 1766-1783. История теории графов хорошо описана в [11]. По теории графов рекомендуем книги [3], [4], [7], [9], [13].

§4.1. Эйлеровы графы

Эйлер (1736): задача о Кенигсбергских мостах. На рисунке 4.1 изображена часть реки Брейгель, находящейся в Кенигсберге, ныне - Калининграде. Буква Л обозначает левый берег, П – правый, А и Б – острова.

Требуется найти маршрут пешехода, проходящий через все мосты, через каждый мост пешеход должен пройти ровно один раз. Эйлер доказал, что эта задача не имеет решений.

Рис. 4.1. Схема мостов и соответствующий ей граф

Обобщим определение простого графа.

Определение 1. Графом называется тройка (V, E, ), состоящая из множеств V, E и функции : E P2(V), сопоставляющей каждому e E неупорядоченную пару {u,v}. Элементы из E называются ребрами, элементы из V – вершинами. Если (e)={u,v} вершины u и v называются концами ребра e. В этом случае u и v называются смежными вершинами и инци-

38

дентными ребру e. Если концы ребра e равны, то ребро e называется петлей. Степенью вершины v называется число инцидентных ей ребер. Ребро, являющееся петлей, учитывается два раза. В частности, петля дает степень 2. Для графа, соответствующего схеме Кенигсбергских мостов, степени вершин равны 3, 3, 3 и 5. Путем в графе называется последовательность

вершин и ребер v0 1v1 2v2 ∙∙∙ vn-1 nvn , таких что vi и vi+1 инцидентны ребрамi+1 , для всех i {1,2, ∙ ∙ ∙ , n}. Граф, допускающий путь, не содержащий кратных ребер и содержащий все ребра, называется эйлеровым. Такой путь тоже называется эйлеровым.

На рис. 4.1 справа изображен граф, ребра которого соответствуют мостам, а вершины – частям суши.

Теорема 1. Граф является эйлеровым тогда и только тогда, когда нечетную степень имеют не более двух вершин.

Доказательство. Сначала доказывается, что существование содержащего все ребра замкнутого пути без кратных ребер равносильно четности всех вершин. Если граф эйлеров, то добавим ребро, соединяющее первую и последнюю вершину эйлерового пути. Получим, что все вершины дополненного графа имеют четные степени.

Пример 1. Закрытое письмо (см. рис. 4.2) невозможно нарисовать, не отрывая карандаш и проходя каждую линию ровно один раз, а открытое – можно.

Рис. 4.2. Закрытое письмо и открытое письмо

Отметим две другие задачи: задача о трех домах и трех колодцах и задача о наследстве. В последней из них требуется разделить плоскую односвязную область на пять односвязных областей, каждая пара которых имеет общую границу ненулевой длины.

Хорошо известна задача о раскраске плоской карты в четыре цвета. Она была решена Апрелем, Рингелем и Янгсом в 1971 году с помощью ЭВМ.

39

§4.2. Простые графы и их свойства

Ниже повсюду мы будем рассматривать графы, у которых между любыми двумя вершинами существует не более одного инцидентных им ребра. Ребра можно рассматривать как пары ={u,v}. Напомним, что такие графы называются простыми. Иногда мы будем называть их просто графами.

Теорема 1. (Теорема Эйлера о сумме степеней вершин графа) Пусть d(v) обозначает степень вершины v. Для произвольного простого графа=(V,E) верно соотношение d(v) 2 | E | .

v V

Доказательство. Рассмотрим упорядоченные пары (v, ), состоящие из вершины v инцидентной ребру . Количество таких пар равно сумме степеней вершин. С другой стороны, оно равно удвоенному числу ребер.

Замечание. Теорема Эйлера имеет место и для графов, не являющихся простыми.

§4.3. Хроматическое число графа

Определение 1. Раскраска вершин графа =(V,E) называется правильной, если любые две смежные вершины окрашены в различные цвета. Минимальное число цветов, необходимое для правильной раскраски, называется хроматическим числом графа и обозначается ( ).

Теорема 1. Следующие свойства графа равносильны

(1)( ) 2;

(2)двудольный;

(3)каждый элементарный цикл в графе имеет четную длину.

Доказательство. Равносильность (1) и (2) очевидна. Импликация (3)(2) получается разбиением вершин на вершины, имеющие путь четной длины из фиксированной вершины и имеющие путь нечетной длины. Импликация (2) (3) очевидна.

Определение 2. Хроматической функцией f (q) графа =(V,E) назы-

вается число правильных раскрасок с помощью q красок.

Пример 1. Для дискретного графа с n вершинами f (q)=qn.

Вершина v V графа =(V,E) называется висячей, если ее степень d(v) равна 1.

Теорема 2. Для дерева T имеющего число вершин n хроматическая функция равна f (q)=q(q – 1)n-1.

40

Доказательство по индукции. Удалим висячую вершину (которая существует в силу формулы Эйлера и соотношения |E|+1=|V|). Получим дерево, которое можно раскрасить q(q-1)n-2 способами, согласно предположению индукции. Затем снова присоединим удаленную вершину. Для каждой из q(q-1)n-2 раскрасок ее можно раскрасить (q-1) способами. Отсюда получаем доказываемую формулу.

Пример 2. Вычислим хроматическую функцию графа, состоящего из двух имеющих общую сторону треугольников

Рис. 4.3. Удаление ребра и склеивание двух вершин

С этой целью удалим ребро. Получим граф, показанный на рисунке 4.3 вторым. Он имеет q(q-1)(q-2)(q-1) правильных раскрасок. Но не все раскраски являются правильными для исходного графа. Число раскрасок, у которых концы удаленного ребра имеют одинаковый цвет, нужно вычесть. Число таких раскрасок равно значению хроматического многочлена графа, изображенного на рисунке третьим. Отсюда f (q)= q(q –1)(q–2)(q–1) –q(q– 1)(q–2).

Рассмотренный в примере 2 метод годится для вычисления f (q) в общем случае:

Теорема 3. Хроматическая функция f (q) конечного графа с n вершинами является многочленом степени n.

Доказательство. По индукции по числу ребер m. При m=0 получаем f (q)=qn . Пусть граф имеет m+1 ребер (и n вершин). Выбросим произвольное ребро . Получится граф , хроматическая функция которого – многочлен степени n согласно предположению индукции. Чтобы получить число раскрасок исходного графа , нужно из этого числа вычесть число раскрасок, при которых концы удаленного ребра окрашены в одинаковый цвет. Это число раскрасок будет хроматической функцией графа ’’, полученного удалением ребра и отождествлением концов этого ребра. Отсюда

f (q)= f (q) – f ’’ (q) – разность многочленов степени

n.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]