Учебник по дискретной математики. Д. Ушинского Дискретная математика
Скачать 2.66 Mb.
|
Задача. Сколькими способами можно разделить 8 яблок, 10 груш и 7 апельсинов между 4 детьми, если каждый должен получить хотя бы один фрукт? Решение. Требуется 8 предметов одного сорта, 10 второго и 7 третьего разложить в 4 ящика так, чтобы ни один ящик не оказался пустым. По предыдущей формуле получаем способов такого распределения. Сколькими способами можно распределить n различных предметов по k различным ящикам с учетом порядка расположения предметов в ящиках, причем все n предметов должны быть использованы? Добавим к n предметам k–1 одинаковых разделяющих предмета. Рассмотрим все возможные перестановки из n различных предметов и k–1 одинаковых. Каждая такая перестановка определяет один из способов распределения. Всего таких перестановок . Значит, n различных предметов можно разложить в k ящиков, с учетом расположения их в ящиках, = способами. К тому же результату можно было прийти и другим путем. Переставим всеми возможными способами данные n предметов (n! способов). Теперь считаем предметы неразличимыми, их можно разложить в k ящиков Р(n, k–1) способами. Получаем n!∙Р(n,k–1)= способов распределения этих вещей по к различным ящикам с учетом порядка их расположения в ящиках. Задача. Имеются 6 различных сигнальных флагов и 3 мачты, на которые их вывешивают. Значение сигнала зависит от того, в каком порядке вывешены флаги. Сколькими способами можно развесить флаги, если все флаги должны быть использованы, но некоторые из мачт могут оказаться пустыми? Решение. Имеем 6 предметов, которые необходимо разложить в 3 ящика, причем порядок предметов в ящике важен. Это можно сделать способами. Следствие. Если не должно быть пустых ящиков, то выберем k предметов и разложим по одному в каждый ящик. Это можно сделать способами. Оставшиеся n–k предметов разложим в k–1 ящик, причем теперь некоторые ящики могут оказаться пустыми. Это распределение можно осуществить способами. Всего имеем способов распределения. Сколькими способами можно распределить n различных предметов по k различным ящикам с учетом порядка расположения предметов в ящиках, причем не все n предметов могут быть использованы и некоторые ящики могут оказаться пустыми? Разобьем все возможные комбинации на классы. В s класс войдут комбинации, в которых использованы ровно s предметов. Из предыдущей задачи известно, что s предметов можно разложить по k ящикам способами. s предметов из данных n можно выбрать способами. Всего в s класс войдут комбинаций. По правилу суммы имеем способов распределения n различных предметов по k различным ящикам с учетом порядка их расположения в ящиках, если не все n предметов могут быть использованы. Задача. Имеются 6 различных сигнальных флагов и 3 мачты, на которые их вывешивают. Значение сигнала зависит от того, в каком порядке вывешены флаги. Сколькими способами можно развесить флаги, если не все флаги могут быть использованы и некоторые из мачт могут оказаться пустыми? Решение. Имеем 6 различных предметов, которые необходимо разложить в 3 ящика, причем порядок предметов в ящике важен и не все ящики и предметы могут быть использованы. По формуле получаем Следствие. Если не должно быть пустых ящиков, то в этом случае имеем способов распределения. Вероятность Частотой появления события в серии испытаний называется отношение числа наступления этого события в данной последовательности испытаний к общему числу испытаний. Вероятностью случайного события называется отношение числа равновозможных элементарных событий, благоприятствующих этому событию, к числу всех равновозможных элементарных событий. Равновозможными элементарными событиями будем считать такие события, любое из которых по отношению к другим событиям не обладает никаким преимуществом появляться чаще другого при многократных испытаниях, проводимых в одинаковых условиях. Например, при бросании игральной кости возможны шесть различных результатов; из них лишь в одном случае выпадает шестёрка. Поэтому вероятность выпадения шестёрки равна 1/6. Задача. Для того чтобы открыть камеру хранения, используется комбинация из 4 цифр (от 0 до 9), набираемая на 4 колесиках. а) Найти вероятность наугад открыть камеру хранения. б) Найти вероятность наугад открыть камеру хранения, если дополнительно стало известно, что все цифры на правильном номере разные. Решение. а) Всего комбинаций из 10 цифр по 4 =104 вариантов. Открывает дверцу только одна из них, так что вероятность наудачу открыть ее равна 1/10000 = 0,0001. б) Всего комбинаций из 10 цифр по 4, если все цифры различны – =10987=5 400 вариантов. Открывает дверцу по-прежнему только один, откуда вероятность открыть дверцу становится 1/5400 0,0002. Таким образом, вероятность в простейшем случае вычисляется комбинаторно. Свойства вероятности
Часто для вычисления вероятностей используют переход к противоположному событию Р(А)=1–Р(). Задача. В некоторой детской игре для начала игры участнику нужно обязательно выбросить пятерку. Поскольку граней на косточке всего шесть, то кажется, что уж в шести бросках пятерка выпадет наверняка. Найдите вероятность этого события. Решение. Р(хоть один раз из шести выпадет “5”)=1–Р(ни разу из шести не выпадет “5”)=
Р(А или В)=Р(А)+Р(В)-Р(А и В) – вероятность того, что произойдет событие А или событие В, равна сумме вероятностей этих событий минус вероятность того, что события А и В произойдут одновременно. Задача. Игральную кость подбрасывают один раз. Какова вероятность выпадения либо четного числа очков, либо числа, кратного трем? Решение. Введем обозначения: А – выпадения либо четного числа очков, либо числа, кратного трем; В – выпадения четного числа очков; С – выпадения числа, кратного трем. Р(А)=Р(В или С)=Р(А)+Р(В)-Р(В и С)=3/6+2/6-1/6=2/3. Задача. Игральную кость подбрасывают один раз. Найти вероятность, что выпадет число очков не менее пяти? Решение. Р(выпадение числа очков не менее пяти)=Р(выпадение «5»)+Р(выпадение «6») = =1/6+1/6 =1/3. Бином Ньютона Правила и формулы комбинаторики часто используют при решении различных задач математики. Комбинаторные доказательства отличаются простотой и особой изысканностью. Рассмотрим применение комбинаторики к доказательству формулы бинома Ньютона. Биномом Ньютона называют формулу для вычисления выражения (а+b)n для натуральных n. Теорема. Доказательство. Данную формулу можно доказать методом математической индукции. Ниже представлено комбинаторное доказательство. Запишем (a+b)n в виде произведения (a+b)n=(a+b) (a+b) … (a+b). Раскроем скобки в правой части этого равенства и запишем все слагаемые в виде произведения n сомножителей а и b в том порядке, в котором они появляются. Например, (a+b)2 запишется в виде (a+b)2=(a+b) (a+b)=aa+ab+ba+bb, а (a+b)3– в виде (a+b)3=(a+b)(a+b)(a+b) =aaa+aab+aba+abb+baa+bab+bba+bbb. Видно, что в обе формулы входят все размещения с повторениями, составленные из букв а и b по две (три) буквы в каждом. В общем случае – после раскрытия скобок получим всевозможные размещения с повторениями букв а и b, состоящие из n элементов. Используя коммутативность, приведем подобные члены. Подобными будут члены, содержащие одинаковое количество букв а (тогда и букв b в них будет одинаковое количество). Членов, в которые входит k букв a и, следовательно, (n–k) букв b ровно Р(k, n–k)=. Отсюда вытекает, что после приведения подобных членов выражение akbn-k войдет с коэффициентом , поэтому формула примет вид: . Задача. Раскрыть скобки и привести подобные члены в выражении (3х+2у)4, используя формулу бинома Ньютона. Решение. Задача. Найти коэффициент при х2 в разложении (2х+3)6. Решение. В данной задаче требуется найти коэффициент только при х2, поэтому нет необходимости раскрывать все выражение по формуле бинома Ньютона. Достаточно рассмотреть только одно слагаемое . Таким образом, х2 в разложении (2х+3)6 будет иметь коэффициент 4 860. Числа называют биномиальными коэффициентами. С помощью бинома Ньютона легко доказать свойства биномиальных коэффициентов (чисел ). Свойства биномиальных коэффициентов. Симметричность биномиальных коэффициентов = Это свойство следует из тождества (a+b)n=(b+a)n. Разложим обе части равенства по биному Ньютона и рассмотрим коэффициенты при akbn-k. Справа коэффициент равен, а слева . Основное свойство биномиальных коэффициентов Если в формуле бинома Ньютона положить а=1, b=х то получим, (1+x)n=. Если положить n равным n-1 то верно равенство (1+x)n-1=. Умножим обе части этого равенства на (1+х), получим (1+x)n=. Выражение в левой части равенства снова разложим по формуле бинома Ньютона. Рассмотрим коэффициент при хk. Слева он будет равен . В правой части член содержащий хk появится дважды: при умножении на 1 и при умножении на х. Поэтому коэффициент в правой части при хk имеет вид . Слева и справа стоит один и тот же многочлен, поэтому коэффициенты при хk слева и справа должны быть одинаковыми. Поэтому . Сумма биномиальных коэффициентов Воспользуемся формулой бинома Ньютона, в которой положим а=1 и b=1. Тогда . Знакопеременная сумма биномиальных коэффициентов . Воспользуемся формулой бинома Ньютона в которой положим а=1 и b=-1. Сумма квадратов биномиальных коэффициентов . Как и при доказательстве основного свойства, используем равенство (1+x)n=. Умножим обе части этого равенства на (1+х)n: (1+x)2n=. Выражение в левой части равенства снова разложим по формуле бинома Ньютона. Рассмотрим коэффициент при хn. Слева он будет равен . В правой части член, содержащий хn, появится n раз: при умножении на , при умножении на , и так далее. Используем свойство симметричности биномиальных коэффициентов, получим коэффициент при хn в правой части равенства: . Так как слева и справа стоит один и тот же многочлен, то коэффициенты при хn слева и справа должны быть одинаковыми. Поэтому . Треугольник Паскаля. Другая, известная как треугольник Паскаля, интерпретация для биномиальных коэффициентов получается, если рассмотреть на бесконечной шашечной доске количество различных путей шашки от данной клетки до всех клеток доски. Возьмем шахматную доску, ограниченную только с одной стороны, и поставим на поле A (черного цвета) нулевой горизонтали шашку. Двигаясь по правилам игры в шашки, она может попасть на любое поле черного цвета из области, ограниченной прямыми AB и AC. Напишем на каждом поле число способов, которыми можно попасть на данное поле. Получим А
В С Эти числа обычно изображают в виде треугольника, при этом каждое число равно сумме двух элементов предыдущей строки, между которыми оно находится. Этот треугольник часто называют треугольником Паскаля или арифметическим треугольником. Арифметический треугольник можно записать и в таком виде:
В данном треугольнике, в каждой клетке хранится количество способов попасть в эту клетку из клетки (0, 0) , если ходить разрешается только вниз и по диагонали вправо. Каждое число треугольника равно сумме числа, стоящего выше него, и числа, расположенного наискосок влево. На пересечение k-й вертикали и n-й горизонтали можно попасть за n шагов, k из которых будут по диагонали, n – k по вертикали. Поэтому количество способов попасть в клетку с координатами (n, k) равно . Отметим еще следующие особенности арифметического треугольника: все элементы, расположенные выше главной диагонали, равны нулю, а нулевой столбец состоит из единиц. Числа, стоящие в n-й строке, являются коэффициентами в разложении бинома (1+x)n по степеням x. Поэтому их называют также биноминальными коэффициентами. Задача. Раскрыть скобки и привести подобные члены в выражении (х+у)5. Решение. Пятая строка треугольника Паскаля имеет вид: 1 5 10 10 5 1. Поэтому (х+у)5=1x0y5+5x1y4+10x2y3+10x3y2+5x4y1+1x5y0. С помощью треугольника Паскаля можно доказать свойства биномиальных коэффициентов. (Смотри упражнения.) Полиномиальная формула Полиномом называют выражение вида (x1+x2+…xk)n. Полиномиальной формулой называют формулу для вычисления значения выражений (x1+x2+…xk)n для различного числа слагаемых и различных натуральных степеней n. Теорема. Доказательство. Формула доказывается аналогично формуле бинома Ньютона. Запишем (x1+x2+…xk)n в виде произведения n сомножителей (x1+x2+…xk)∙(x1+x2+…xk)∙…∙(x1+x2+…xk). Раскроем скобки в правой части этого равенства и запишем все слагаемые в виде произведения n сомножителей x1, x2,…,xk в том порядке, в котором они появляются. Получим всевозможные размещения с повторениями букв x1, x2,…,xk, состоящие из n элементов. Используем коммутативность и приведем подобные члены. Подобными будут члены, содержащие одинаковое количество множителей x1, x2,…,xk. Членов, в которые входит k1 множителей х1, k2 множителей х2 и так далее km множителей хm, ровно Р(k1,k2,…km). Отсюда вытекает, что после приведения подобных членов выражение войдет с коэффициентом . Поэтому формула примет вид: . Свойства чисел Р(k1k2…k3)
Доказательство. Если в полиномиальной формуле положить х1=х2=…=хm=1, то получим требуемое равенство. 2. . Доказательство. Умножим обе части равенства на (х1+х2+…+хm). Получим . Применим к левой части полиномиальную формулу, а в правой части раскроем скобки и рассмотрим коэффициент при . Слева он будет равен . В правой части член, содержащий , появится m раз: при умножении на х1, при умножении на х2 и так далее коэффициент при будет равен . Слева и справа стоит один и тот же многочлен, следовательно, коэффициенты при слева и справа должны быть равны. Поэтому . Задача. Раскрыть скобки и привести подобные члены в выражении (x+y+z)4, используя полиномиальную формулу. Решение. Ясно, что коэффициенты при x2yz и xy2z равны. Поэтому достаточно найти коэффициенты для таких разбиений n=k1+k2+…km, что k1k2…km, а потом переставлять показатели всеми возможными способами. Для нашего примера имеем: 4=4+0+0; 4=3+1+0; 4=2+2+0; 4=2+1+1; Р(4,0,0)=1; Р(3,1,0)=4; Р(2,2,0)=6; Р(2,1,1)=12. (x+y+z)4= =x4+y4+z4+4x3y+4x3z+4y3x+4y3z+4z3x+4z3y+6x2y2+6x2z2+6y2z2+12x2yz+12xy2z+12xyz2. Задача. Найти коэффициенты при х5 после раскрытия скобок и приведения подобных членов в выражении (2+х2-х3)9. Решение. В задаче нас интересует только коэффициент при х5, поэтому нет необходимости искать все коэффициенты. Член, содержащий х5, появится только один раз как слагаемое вида 27(х2)1(-х3)1, коэффициент при этом члене согласно полиномиальной формуле будет равен Р(7, 1, 1)=72. Следовательно, коэффициент при х5 равен (–1) 27 72 =–9 216. Задача. Найти коэффициенты при х12 после раскрытия скобок и приведения подобных членов в выражении (1+х2+х5)8. Решение. Данная задача отличается от предыдущей тем, что член, содержащий х12, появится два раза: как слагаемое вида 12∙(х2)6 (х5)0 и 15 (х2)1 (х5)2. В первом случае коэффициент будет равен Р(2, 6, 0)=28, во втором – Р(5, 1, 2)=168. Следовательно, коэффициент при х12 равен 28+168=196. Рекуррентные соотношения. Задача. Сколькими способами можно замостить прямоугольную доску размером 2 х 7 костями домино, если все кости считать одинаковыми и учитывать только положение кости: горизонтальное или вертикальное? Решение. Обозначим через Ф(k) количество способов замостить костями домино прямоугольную доску размером 2 х k. Угловая клетка может быть закрыта одним из двух способов: либо костью, которая лежит вертикально, тогда оставшуюся k–1 кость можно положить Ф(k–1) способами, либо костью, которая лежит горизонтально, тогда еще одну кость можем положить только горизонтально, а оставшиеся k–2 кости можно уложить Ф(k–2) способами. Используя правило суммы, приходим к соотношению Ф(к)=Ф(к–1)+Ф(к–2). Учитывая, что Ф(0)=Ф(1)=1, можем для любого значения k найти ответ: Ф(2)=2, Ф(3)=3, Ф(4)=5, Ф(5)=8, Ф(6)=13, Ф(7)=21. Имеем 21 способ замостить костями домино прямоугольную доску размером 2 х 7. При решении многих комбинаторных (и не только) задач часто встречается способ, когда задачу с заданными значениями параметров сводят к аналогичной задаче, но уже с меньшими значениями параметров. Таким образом, можно довести задачу до простой. Данный метод решения задач носит название метода рекуррентных соотношений. (От латинского слова recurrere – возвращаться). Пример. Используя метод рекуррентных соотношений, можно по-новому вывести формулу для вычисления числа перестановок из k предметов. Обозначим за Р(k) количество перестановок из элементов k типов. В перестановке на первом месте может быть любой из k предметов, а оставшиеся k–1 предмет можно в каждом из этих случаев переставить Р(k–1) способами. По правилу произведения получаем формулу Р(k)=k∙Р(k-1). Далее замечаем, что Р(1)=1, и получаем, что Р(k)=k! Числа Фибоначчи Формула, которую мы получили при решении задачи о домино, впервые была опубликована в книге “Liber Abaci”, появившейся в 1202 году, где итальянский математик Фибоначчи среди многих других задач привел следующую: Пара кроликов приносит раз в месяц приплод из двух крольчат (самки и самца), причем новорожденные крольчата через два месяца после рождения уже приносят приплод. Сколько кроликов появится через год, если в начале года была одна пара кроликов? Из условия задачи следует, что через месяц будет две пары кроликов. Через два месяца приплод даст только первая пара кроликов, и получится 3 пары. А еще через месяц приплод дадут и исходная пара кроликов, и пара кроликов, появившаяся два месяца тому назад. Поэтому всего будет 5 пар кроликов. Обозначим через F(n) количество пар кроликов по истечении n месяцев с начала года. Мы видим, что через n+1 месяцев будут эти F(n) пар и еще столько новорожденных пар кроликов, сколько было в конце месяца n—1, то есть еще F(n–1) пар кроликов. Иными словами, имеет место рекуррентное соотношение F(n+1)=F(n)+F(n-1). Так как, по условию, F(0)=1 и F(1)=2, то последовательно находим F(2)=3, F(3)=5 F(4)=8 и т. д. Полученные числа называют числами Фибоначчи. Чтобы найти F(12), нам придется последовательно вычислить F(3), F(4), … F(11), что достаточно долго. А если нам необходимо было бы вычислить F(100), то это займет еще больше времени. Попробуем выразить закономерность последовательности Фибоначчи с помощью расчетной формулы (вместо неявного рекуррентного соотношения). Для этого присвоим двоичный номер каждой паре кроликов. Единицам соответствуют месяцы появления на свет одной из пар “предков” данной пары (включая и исходную), а нулями – все остальные месяцы. Например, последовательность 010010100010 устанавливает такую “генеалогию” – сама пара появилась в конце 11-го месяца, ее родители – в конце 7-го месяца, “дед” – в конце 5-го месяца, “прадед” – в конце второго месяца. Исходная пара кроликов зашифровывается при этом последовательностью 000000000000. в последовательности не могут идти подряд две единицы, так как кролики приносят приплод только на второй месяц после рождения. Тем самым устанавливается связь между числами Фибоначчи и следующей комбинаторной задачей: найти число n-последовательностей, состоящих из нулей и единиц, в которых никакие две единицы не идут подряд. Число таких последовательностей, в которые входит ровно k единиц и n—k нулей, равно . Так как при этом должно выполняться неравенство k<=n–k+1, то k изменяется от 0 до целой части числа (n+1)/2. Применяя правило суммы, получаем F(n)=, где p – целая часть числа (n+1)/2. К сожалению, задачу нельзя считать решенной, так как, хотя получено выражение, зависящее от n, его вычисление оказывается даже сложнее рекуррентных расчетов. Желаемую формулу можно получить совсем другим способом. Решение рекуррентных соотношений Рекуррентное соотношение имеет порядок k, если оно позволяет выразить f(n+k) через f(n), f(n+1), …, f(n+k-1). Пример. f(n+2)=f(n)f(n+1)-3f2(n+1)+1 – рекуррентное соотношение второго порядка. f(n+3)=6f(n)f(n+2)+f(n+1) – рекуррентное соотношение третьего порядка. Если задано рекуррентное соотношение k-го порядка, то ему могут удовлетворять бесконечно много последовательностей, так как первые k элементов последовательности можно задать произвольно – между ними нет никаких соотношений. Но если первые k членов заданы, то все остальные элементы определяются однозначно. Пользуясь рекуррентным соотношением и начальными членами, можно один за другим выписывать члены последовательности, при этом рано или поздно мы получим любой её член. Однако если необходимо узнать только один определенный член последовательности, то нерационально вычислять все предыдущие. В этом случае удобнее иметь формулу для вычисления n-го члена. Решением рекуррентного соотношения называется любая последовательность, для которой данное соотношение выполнено тождественно. Пример. Последовательность 2, 4, 8, …, 2n является решением для соотношения f(n+2)=3∙f(n+1) – 2∙f(n). Доказательство:Общий член последовательности имеет вид f(n)=2n. Значит, f(n+2)= 2n+2, f(n+1)= 2n+1. При любом n имеет место тождество 2n+2=3∙2n+1 – 2∙2n. Следовательно, при подстановке последовательности 2n в формулу f(n+2)=3f(n+1) – 2f(n) соотношение выполняется тождественно. Значит, 2n является решением указанного соотношения. Решение рекуррентного соотношения k-го порядка называется общим, если оно зависит от k произвольных постоянных α1, α 2, … α k и путем подбора этих постоянных можно получить любое решение данного соотношения. Пример. Дано рекуррентное соотношение: f(n+2)=5f(n+1)-6f(n). Докажем, что его общее решение имеет вид: f(n)= α 2n+ β3n .
f(n)= α 2n+ β 3n, значит, f(n+1)= (α 2n+1+ β 3n+1), f(n+2)= α 2n+2+ β 3n+2, тогда 5f(n+1)-6f(n)=5∙( α 2n+1+ β 3n+1)-6∙( α 2n+ β 3n)= α (5 2n+1 –6 2n)+ β (5 3n+1 –6 3n)= =α2n∙(10–6)+ β 3n∙(15 – 6)= α 2n+2+ β 3n+2= f(n+2). Рекуррентное соотношение выполняется, следовательно, α 2n+ β 3n является решением данного рекуррентного соотношения.
Таким образом, f(n)= α 2n+ β 3n является общим решением рекуррентного соотношения f(n+2)=5f(n+1)–6f(n). Линейные рекуррентные соотношения с постоянными коэффициентами Для решения рекуррентных соотношений общих правил нет, но существует часто встречающийся класс рекуррентных соотношений, для которых известен алгоритм их решения. Это – линейные рекуррентные соотношения с постоянными коэффициентами, т.е. соотношения вида: f(n+k)=c1f(n+k-1)+c2f(n+k-2)+…+ckf(n). Найдем решение общего линейного рекуррентного соотношения с постоянными коэффициентами первого порядка. Линейное рекуррентное соотношение с постоянными коэффициентами первого порядка имеет вид: f(n+1)=c f(n). Пусть f(1)=а, тогда f(2)=c∙f(1)=c∙a, f(3)=c∙f(2)=c2∙a, аналогично f(4)=c3∙a и так далее, заметим, что f(n)=cn-1∙f(1). Докажем, что последовательность cn-1∙f(1) является решением рекуррентного соотношения первого порядка. f(n)=cn-1∙f(1), значит, f(n+1)=cn f(1). Подставляя это выражение в соотношение, получим тождество cn f(1)=с∙ cn-1∙f(1). Рассмотрим теперь подробнее линейные рекуррентные соотношения с постоянными коэффициентами второго порядка, то есть соотношения вида f(n+2)=C1∙f(n+1)+C2∙f(n). (*). Заметим, что все рассуждения сохраняются и для соотношений более высокого порядка. Свойства решений:
Доказательство. xn является решением (*), следовательно, выполняется тождество xn+2=C1xn+1+C2xn. Домножим обе части равенства на . Получим ∙xn+2 =∙(С1∙xn+1+С2∙xn )= С1∙∙xn+1+С2∙∙xn . Это означает, что xn является решением (*).
Доказательство. xn и yn являются решениями, следовательно, выполняются следующие тождества: xn+2=C1xn+1+C2xn. yn+2=C1yn+1+C2yn. Выполним почленное сложение двух равенств: xn+2+yn+2=С1∙xn+1+С2∙xn + С1∙yn+1+С2∙yn= С1∙(xn+1+ yn+1)+С2∙(xn +yn). Это означает, что xn+yn является решением (*).
r1 является решением квадратного уравнения r2=С1r+С2, значит, (r1)2=C1 r1+C2. Помножим обе части равенства на (r1) n. Получим r1 2 r1 n=(С1 r1+С2) rn. r1 n+2 =С1 r1 n+1+С2 r1 n. Это означает, что последовательность (r1)n является решением (*). Из этих свойств вытекает способ решения линейных рекуррентных соотношений с постоянными коэффициентами второго порядка:
+ β =а ∙r1 + β∙r2=b имеет решение при любых а и b. Этими решениями являются =(b-a∙r2)/(r1-r2). β =(a∙r1-b)/(r1-r2). Задача. Найдем формулу для общего члена последовательности Фибоначчи. Решение. Характеристическое уравнение имеет вид х2=х+1 или х2-х-1=0, его корнями являются числа , значит, общее решение имеет вид f(n)=. Как нетрудно видеть, из начальных условий f(0)=0, f(1)=1 вытекает, что ==1/5, и, следовательно, общее решение последовательности Фибоначчи имеет вид: . Что удивительно, это выражение при всех натуральных значениях n принимает целые значения. Случай равных корней характеристического многочлена. Если характеристическое уравнение имеет два равных корня, то общее решение имеет вид: f(n)= ∙r1n+ β∙n∙r1n. Доказательство. В случае равных корней характеристического уравнения выражение f(n)= ∙r1n+ β∙r1n нельзя считать общим решением, так как в формуле f(n)= ∙r1n+ β∙r1n= r1n∙ (+β)= δ∙r1n останется только одна постоянная и выбрать её так, чтобы удовлетворить двум начальным f(0)=a, f(1)=b условиям, невозможно. Найдем второе решение отличное от r1n . Если квадратное уравнение r2=С1 r+С2 имеет два совпадающих корня r1= r2 , то по теореме Виета С1=2 r1, а С2= - r12 . Поэтому уравнение записывается так: r2= 2∙ r1∙r+–r12. Тогда рекуррентное соотношение имеет вид: f(n+2)= 2 r1f(n+1)+ - r12f(n). Докажем, что nr1n является решением данного рекуррентного соотношения. Подставим nr1n в полученное рекуррентное соотношение, получим верное равенство: (n+2)r1n+2=2r1(n+1)r1n+1–r12 nr1n =2nr1n+2+ 2r1n+2–nr1n+2 =(n+2)r1n+2, значит, nr1n является решением данного рекуррентного соотношения. Таким образом, имеем два решения рекуррентного соотношения: r1n и nr1n . Общее решение будет иметь вид: f(n)= r1n+ βnr1n. Задача. Для последовательности с f(1)=0 и f(2)=8, удовлетворяющей рекуррентному соотношению f(к+2)=4f(к+1)–4f(к), выписать формулу общего члена. Решение. Характеристическое уравнение имеет вид: r2–4r+4=0, его корни r1=r2=2. Общее решение рекуррентного соотношения: f(к)= ∙2к+ β∙к∙2к. Найдем коэффициенты и β, пользуясь тем, что f(1)=0 и f(2)=8. Решим систему уравнений: 2∙+2∙β=0 4∙+8∙β=8 Получим =–2 и β=2. Формула общего члена: f(n)=–2(n+1)+n∙2(n+1). Линейные рекуррентные соотношения, порядок которых больше 2, решаются аналогично. Задача. Найдем общее решение рекуррентного соотношения: f(n+4)=5f(n+3)–6f(n+2)–4f(n+1)+8f(n). Решение. Характеристическое уравнение имеет вид: r4-5r3+6r2+4r-8=0 Решая его, получаем корни: r1=2, r2=2, r3=2, r4=-1. Значит, общее решение имеет вид: f(n)=2n-1(+β∙n+γ∙n2)+δ∙(–1)n-1. Асимптотики Асимптотики – это искусство оценивания и сравнения скоростей роста функций. Нередко в задачах на нахождение общего решения рекуррентного соотношения не требуется точное значение n-го члена, чаще бывает достаточной оценка порядка, а иногда требуется только оценка скорости роста функции f(n). Для описания роста функции используется О-символика. (ввел Поль Бахман в 1894 г.) Запись f(n)=O(g(n)) означает, что существуют положительные константы M и n0, такие, что , для всех целых n≥n0. Пример1. Для рекуррентного соотношения f(n)=5f(n–1)–6f(n–2), с начальными членами f(1)=0 и f(2)=13 общее решение имеет вид f(n)=2n+3n. Можно сказать, что f(n)=O(3n). Докажем это. Здесь M=2, а n0 =1. Неравенство 2n+3n≤3n +3n верно для всех n≥1 3n +3n =2∙3n , значит, 2n+3n≤2∙3n, следовательно, f(n)=O(3n) Пример2. Для последовательности Фибоначчи, как было доказано выше, формула общего члена имеет вид: . Легко доказать, что fn=O(2n). Соотношение f(n)=O(g(n)) называют асимптотическим соотношением, оно означает, что функция f(n) растет не быстрее, чем функция g(n). Определены еще два асимптотических отношения. Определение 1. Функция f(x) асимптотически равна (эквивалентна) g(x) (обозначается f(x)g(x)) при xx0, если lim (f(x)/g(x))=1. Если функция f(x) эквивалентна g(x), то это означает, что f(x) растет с такой же скоростью, как и g(x). Определение 2. f(x)=o(g(x)) при xx0, если lim (f(x)/g(x))=0. Если f(x)=o(g(x)), то это означает, что функция f(x) растет медленнее, чем g(x). Замечание. В соотношениях, использующих О-символику, левые и правые части не симметричны: правая часть всегда содержит меньше информации, чем левая, и поэтому нельзя в любом контексте заменять левую часть выражения правой. Например, из двух корректных асимптотических равенств х=О(х2) и х2=О(х2) не следует, что х=х2. Примеры.
при х.
f(n)=С1r 1n+C2r2n+…+Ckrkn. Если нас интересует только асимптотическое поведение последовательности, то достаточно рассмотреть лишь члены Ci(ri )n , у которых ri имеет максимальное абсолютное значение среди тех членов, у которых Ci≠0. Существуют оценки и асимптотики для комбинаторных чисел. Наиболее известна асимптотика для чисел n!, называемая формулой Стирлинга: n! . О-символику используют также для оценки сложности алгоритма. Одной из важнейших характеристик алгоритма является его временная сложность в худшем случае. Пусть некоторая задача имеет размерность n (например, длина массива при сортировке). Обозначим через t(n) максимальное число действий, необходимое для решения задачи. Под действием понимают выполнение «простой» операции – любой арифметической операции, операции сравнения, присваивания и т. п. При этом сложность алгоритма зависит от конкретного вида команд. Поэтому при оценке интересует лишь асимптотическая сложность алгоритма, то есть порядок роста сложности при условии, что размер задачи неограниченно возрастает. Алгоритм считается достаточно хорошим, если сложность этого алгоритма есть О(nk) при некотором k>0. В таком случае говорят, что задача может быть решена за полиномиальное время, а сам алгоритм называется полиномиальным. Задачи по комбинаторике |