Спец часть (часть 3) (3 поток) (2015) (by Кибитова) (1161603), страница 3
Текст из файла (страница 3)
Если элементобменов, чем больше потребуетсяименьшеΘ.и только тогда, когда одновременно f (n) = O(g(n)) и f (n) = Ω(g(n)); 2например,n = ..O(n),неверно,что=nΘΘ(n2имеет). Здесьи далее,пользупомимоэтого,f (n)Соотношение= ноΩ(g(n))тогдаи=толькотогда,когдаg(n) =Предложениеf (n)(g(n))местотогдаяськванторами∃,∀,мызаписываемсвязываемыеимипеременные,и толькотогда, когда одновременно f (n) = O(g(n)) и f (n) = Ω(g(n));=O( f (n)).равноэтого,как и f условия,определяющиемножестваэтихпомимо(n) = Ω(g(n))тогда и толькотогда,значенийкогда g(n)= переменных,в видевыраженийпри кванторах.Это частоЕслиразмервходаиндексныхявляется целымположительнымчислом,то воз= O(f (n)).позволяетфункцииобходитьсябез дополнительныхскобок и облегчаетчтениеникающиеявляютсяпоследовательностями.Для единообраЕслиразмервходаявляетсяцелымположительнымчислом,товоззияформул.мы, как правило, будем говорить о функциях, подразумевая, ноникающиефункцииявляютсяпоследовательностями.Для единообраИногдабываютполезныминижниеасимптотическиеоценки.
лишьне упоминаяспециально,что каждаятакаяфункция определеназия мы, как правило, будем говорить о функциях, подразумевая, нодляцелыхположительныхаргумента(возможнодаже,тогдатольОпределение.. Соотношениеf (n)= Ω(g(n))имеет местоне упоминаяспециально,что значенийкаждая такаяфункцияопределеналишькодостаточнобольшихцелыхаргументаположительныхаргументолькотогда, когданайдутсяположительныеc,значенийN даже,такие,чтодлядляидляцелыхположительныхзначений(возможнотольта).Итак,приn→∞оценкивидаf(n)=Λ(g(n)),гдеΛ—одинизко всехдля достаточнобольших| fцелыхзначений аргуменn > N выполнено(n) | " положительныхc| g(n) |.Глава .Сложностиалгоритмов какфункциичисловыхитолькотогда,когда одновременноf (n)= O(g(n))и f (n)аргументов= Ω(g(n));помимо этого, f (n) = Ω(g(n)) тогда и только тогда, когда g(n) =числа= O( f (n)).| f (n) | ! c1 | g(n) |, | f (n) | " c2 | g(n) |, c1 | g(n) | " | f (n) | " c2 | g(n) |(.)Если размер входа является целым положительным числом, то возтоже, в соответствиис определением,должно выполнятьсялишьникающиефункции являютсяпоследовательностями.Для единообрадляn,ГлавабольшихнекоторогоN.Заметим,однако,чтоподразумевая,если аргументовf (n)аргументови g(n)зиямы,какбудемговоритьофункциях,но.правило,СложностиалгоритмовфункциичисловыхГлава.Сложностиалгоритмовкак какфункциичисловых+определеныдля всех n ∈ что# каждаяи принимаютпри 1 " определенаn " N ненулевыенеупоминая специально,такая функциялишьзначения,то можно считать,что соответствующеенеравенствопедляцелых положительныхзначенийаргумента (возможнодаже,изтольчислачисларечисленныхв (.)выполняетсядля всех n, так как,положивкодля достаточнобольшихцелых положительныхзначенийаргумен| f (n)c1 | g(n)| f |(n)c2 | g(n)c1 | g(n)" | f| "(n)||"c2 | |g(n)(.)|(.)| f (n)| ! c|1!| g(n)|, | ,f (n)" c|2"| g(n)|, c|1, | g(n)| " | f| (n)cg(n)2та).
Итак, при n → ∞ оценкивидаf (n) = Λ(g(n)),| f (n)|| f (n) | где Λ — один изmin, M = max, g(n) определесимволов, O, Θm, =предполагают,fвыполняться(n),тоже,в соответствиисn"определением,лишьлишьтоже,в Ωсоответствииопределением,выполняться| что функции| g(n)|1"Nс | g(n)1должно"n" NдолжноГлава.СложностиалгоритмовкакфункциичисловыхаргументовныдлядлябольшихдостаточнобольшихСоответствующеенеравенствоиздляn,некоторогоN. Заметим,однако,что еслиf (n) fи(n)g(n)n,всехбольшихнекоторогоN. n.Заметим,однако,чтоеслии g(n)мы можем заменить c1 , c2+в (.)на c′1 = min{c1 , m}, c′2 = min{c2 , M}.
+определеныдля всехвсехn∈#и принимаютпри при1 " n1"ненулевыеопределеныn∈#и принимают"Nn "N ненулевыечислаЭтозамечаниедляв некоторыхслучаяхбудет для насполезным.значения,то можносчитать,чтосоответствующеенеравенствоизделепезначения,ток можносчитать,соответствующеенеравенствоиз пеВернемсяпримеру..Для|чтосложностиалгоритмапробных|f(n)|!c|g(n)|,|f(n)|"c|g(n),c|g(n)|"|f(n)|"c|g(n)|(.)1212речисленныхв ошибкой(.)выполняетсядлячтовсехn,сложностьтакположивречисленныхв (.)выполняетсядлявсехn, как,так как,положивнийбыло бы#утверждать,егопо числуделе#тоже,всоответствиисопределением,должновыполнятьсялишь| f (n)| f (n)ний есть Θ( n).
Но оценкаO(n), разумеется,верна| f| (n)| |f (n) | и, более того,m =mmin, |M=однако,max,=min,M=max,дляn, большихнекоторогоN.Заметим,чтоесли|g(n)||g(n)являетсяточнойв смыслеследующегоопределения.1"n"1N"n" N | g(n) |1"n"1N"n" N ||g(n)| f (n) и g(n)определены для всех n ∈ #+ и принимаютпри 1 " n " N′ ненулевые′′мыможемзаменитьc,cв(.)наc=min{cm},, M}.Определение..Еслиимеетместооценка(n)=cO(g(n)),тоона1 c21 , cчто1f,неравенство2пемы можемзаменить(.) наc′2 =изmin{c1 c1 = min{c2 = min{cзначения,то можносчитать,2 в соответствующее1 , m},2 , M}.Этозамечаниевнекоторыхслучаяхбудетдлянасполезным.называетсяточной,кольскоросуществуетнеограниченновозрастаречисленныхв (.)выполняетсяслучаяхдля всехбудетn, такдлякак,насположивЭто замечаниев некоторыхполезным.Вернемсякпримеру..Длясложностиалгоритмапробныхделе-делеющаяпоследовательностьнеотрицательныхцелыхчисел{nk } такая,Вернемся к примеру| f..алгоритмапробных(n) | Для сложности| f (n)|m=min,M=max,чтодляϕ(k)=f(n),ψ(k)=g(n)имеетместоϕ(k)=Ω(ψ(k)).нийбылобыошибкойутверждать,чтоегосложностьпочислуделе-делеkний было#бы#ошибкойсложностьпо числуg(n) |#k # 1что| g(n)|1"n" N |утверждать,"n" N егонийнийестьестьΘ( Θn).Но НооценкаO( O(n), разумеется,вернаи, более того,того,( n).оценкаn),разумеется,Дляупомянутыхϕ,(k)и (.)ψ(k) нав силуэтого , определения′′верна и,и болеемыможемзаменитьccвc=min{cm},c=min{c2 , семанM}.
1 2 следующего1являетсяточнойвсмысле1 определения.2являетсяточнойвсмыслеследующегоопределения.тикисимволаΘвыполненоϕ(k)=Θ(ψ(k)).Это замечание в некоторых случаях будет для нас полезным.При рассмотренииалгоритмапробныхделенийдлядоказательОпределение....Еслиимеетместооценкаf (n) f=(n)O(g(n)),то онаВернемсяк примеру..Дляимеетсложностиалгоритмапробныхделе#ОпределениеЕслиместооценка= O(g(n)),то онастваточностиоценкиO(n)можновзятьnравнымk-мупростомуназываетсяточной,кольскоро существуетнеограниченновозрастаkнийбылобыошибкойутверждать,чтоегосложностьпочислуделеназываетсясуществует неограниченно возраста# точной, коль скоро#числу,k=ющаяпоследовательностьцелых{nk }того,такая,нийестьΘ1,( 2,n)....Но оценканеотрицательныхO( n), разумеется,верначисели, болееющаяпоследовательностьнеотрицательныхцелыхчисел{nk } такая,Понятиеf(n)=O(g(n))можноопределитьявляетсяточнойв kсмыслеопределения.чтодляϕ (k)=точностиf (n), ψоценки(k) следующего= g(nвида)имеетместоϕ(k)=Ω(ψ(k)).kчто дляϕ (k) = f знакомого(nk ), ψ(k) =ϕ (k) = Ω(ψ(k)).o;k ) имеет местоанализатакжес помощьюизg(nматематическогосимвола Определение..ϕЕслиместооценкаf определения(n) = O(g(n)), ито семанонаДляупомянутых(k)иимеетψ(k)в силуэтогонапомним,чтоu(n)=o(v(n))приn→∞,кольскороu(n)=α(n)v(n)Для упомянутыхи существуетψ(k) в силуэтого определенияи семанназываетсяточной,кольϕ (k)скоронеограниченновозрастатикисимволаΘ выполненоϕ (k)= Θ(ψ(k)).и тикиlimαсимвола(n) = 0.Θ выполненоϕ (k) = Θ(ψ(k)).n→∞ последовательностьющаянеотрицательныхчиселk } такая, Прирассмотрении алгоритмапробных целыхделенийдля{nдоказатель#Прирассмотренииалгоритмапробныхделенийдлядоказательчтодляϕ(k)=f(n),ψ(k)=g(n)имеетместоϕ(k)=Ω(ψ(k)).kkства Предложениеточности оценкиn)#можноnk равнымk-му простому..O(Пустьf (n) =взятьO(g(n)).Эта оценкаявляетсястваточностиоценкиO(n)можновзятьnравнымk-мупростомуkточной,еслии тольконеверно,f (n)= o(g(n)).
и семанчислу,1, 2, ...Дляk =упомянутыхϕ (k)еслии ψ(k)в силучтоэтогоопределениячислу,k =точности1, 2, ... оценки вида f (n) = O(g(n)) можно определитьПонятиетикисимволаΘ выполненоϕоценка(k) = Θ(ψ(k)).Доказательство.Пустьявляетсяточной, можнои {nk } определить— возПонятиеточностиоценкивидаf (n)делений= O(g(n))такжес помощьюзнакомогоиз математическогоанализасимвола o;Прирассмотренииалгоритмапробныхдлядоказатель#растающаяпоследовательность,о которой говоритсяв определетакжес помощьюанализасимвола o;стваточностиO( n) можновзятьравнымпростомунапомним,что оценкиu(n) =знакомогоo(v(n))приизnматематического→ ∞, nкольскороk-муu(n)= α(n)v(n)kнии..Тогдасуществуетположительнаяконстантаcтакая,чтонапомним,k ==1, 0.2, что...
u(n) = o(v(n)) при n → ∞, коль скоро u(n) = α(n)v(n)ичислу,limα)(n)|nfи(n|!c|g(n)|,k=1,2,...,исоотношениеf(n)=o(g(n))местане→∞limkα(n)точности=k0.Понятиеоценкивидаf(n)=O(g(n))можноопределитьn→∞Обратно, если неверно, что f (n) = o(g(n)), то по определениюимеет.ПредложениеПустьизf математического(n) = O(g(n)). Этаоценкаявляетсятакжес помощью ..знакомогоанализасимволаo;символаoсуществуютϵ >Пусть0ивозрастающаяпоследовательность{nk }Предложение..f(n)=O(g(n)).Этаоценкаявляетсяточной,есличтои толькоесли неверно,f (n)скоро= o(g(n)).u(n) = оценкиo(v(n))при n →что∞, кольu(n) = α(n)v(n)§напомним,.Асимптотические(формализм)такие, есличто |неверно,f (nk ) | ! ϵ|g(nkf)(n)|, k == o(g(n)).1, 2, ... Если приточной,и толькочтоинатуральныхlim α(n) =если0.чиселn→∞Доказательство.Пусть оценка является точной, и {nk } — воз- этом выполненаоценка fПусть(n) = O(g(n)),тоявляетсяэта оценкаточна ви соотДоказательство.оценкаточной,{nk } — возрастающаяпоследовательность,о= которойговоритсяопределеПредложение..