Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Качество оценок

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

Пример 10.1. В примере 9.1 для сложности ТЕг) по числу деле­ний алгоритма Евклида мы легко получили верхнюю оценку аъ а за­тем, после некоторых усилий, пришли к логарифмической верхней оценке (9.6). Отвлекаясь от значений констант, перейдем от (9.6) к

rE(a 1) = 0(log a 1). (10.1)

Нами пока не доказано, что оценка (10.1) является точной, и, как следствие, что не верна, скажем, оценка O{\f\oga1) или CKloglog a ^) и т.д. Чтобы доказать точность (10.1), достаточно подобрать для ал­горитма Евклида последовательность входов

{а^,а^), (а™,а™),...

таких, что последовательность а^ (последовательность размеров вхо­да) неограниченно возрастает и СЕ(,а^\ а^) = f2(log a ^ n )) при п—><*>; тогда, очевидно, будем иметь ТЕ(а^) = U(loga^).

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


84 Глава 3. Оценивание числа шагов (итераций) алгоритма

UWb F J, п = 0,1,..., где F q,^,^,... —числа Фибоначчи, определяе­мые равенствами F 0 = О, F x = 1 и правилом «каждое следующее чис­ло равно сумме двух предыдущих», т. е. рекуррентным соотношением Fn+2 = Fn+i +Fn. Из определения чисел Фибоначчи следует, что при­менение алгоритма Евклида к Fn+1,Fn при п ^ 1 требует п делений (все частные будут равны единице), поэтому C E(Fn +1, F J = п.

По индукции доказывается, что для всех неотрицательных п спра­ведлива формула Бине:

J7 -_к(фл_(_ф)-л) (Ю.2)

V5

где

ф= 1 + A/g = 1,61803...

(деление отрезка в отношении 1: ф называют золотым сечением). Так как ф > 1, то из (10.2) получаем

0" = A/5 Fn (l+ o (l)), (10.3)

и, поскольку log0(1 +о(1)) = о(1), с помощью логарифмирования (10.3) по основанию ф имеем

СеС^п+i» Рп) = п = log<p Fn + 0(1) = n(log Fn),

откуда следует, что оценка (10.1) точная. Мы докажем более сильное утверждение:

ТЕ1)>^\о%фа1+Г, (10.4)

где у— некоторая константа. Это вместе с (10.1) даст

rE(a 1) = e(log a 1). (10.5)

Приступая к доказательству, мы перейдем от функции C E(a 0, a i), имеющей два аргумента, к функции одного аргумента. Каждому вхо­ду (a n, сь), a n ^ сь > 0, мы сопоставим рациональное число г = — ^ 1, которое однозначно определяет число шагов алгоритма Евклида для

a n, а-.. (Пусть - = ^, апиа, взаимно просты, a n = ua n, сь = ua -i; то-
uj i Q^ at

гда остатки a 2, a 3,... и a 2, a 3,..., возникающие в ходе применения ал­горитма Евклида к а0г и соответственно к а0г, отличаются лишь множителем и.) Будем обозначать это число шагов через С'Е{г). Таким

образом, если г = ^, то С'(г) = C E(a 0, a i).


§ 10. Качество оценок



Для дальнейшего будет полезным следующее свойство чисел Фи­боначчи:


 

Fn -1 Fn +1 = (-1) n, n = 1,2,... (10.6)

(доказывается индукцией по п). Рассмотрим вложенные отрезки Φ1 э зΦрΦ3э... числовой прямой:

f2„ f2„+1

п = 1,2,
Φ n
 

^ 2 п f2 +1 2 n -1, F 2n


 

Соотношение (10.6) позволяет установить, что ни один из этих

Очевидно, что
F 2n-1 F 2„

отрезков не пуст и что длина отрезка Φ n равна

Φ1 = [1, 2] (рис. 15). Далее можно доказать, что если рациональное


р 2


F4


Р 6


<== предыдущая лекция | следующая лекция ==>
У у V V ' ' ' V | Завершимость работы алгоритма
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 262; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.