Підтримка
www.wikidata.uk-ua.nina.az
Amortizacijnij analiz metod analizu shvidkodiyi algoritmiv sho rozglyadaye usyu poslidovnist operacij vikonuvanih programoyu Tut mi userednyuyemo chas neobhidnij dlya vikonannya operaciyi nad pevnoyu strukturoyu danih Z amortizacijnim analizom mi mozhemo pokazati sho serednij chas neobhidnij na odnu operaciyu netrivalij hocha pevni operaciyi u poslidovnosti vimagayut bagato chasu Amortizacijnij analiz vidriznyayetsya vid analizu serednogo vipadku tim sho jmovirnist ne maye znachennya amortizacijnij analiz garantuye serednyu shvidkodiyu kozhnoyi operaciyi v najgirshomu vipadku Prikladami struktur danih chiyi operaciyu analizuyutsya za dopomogoyu amortizacijnogo analizu ye gesh tablici neperetinni mnozhini rozshiryuvani dereva Amortizacijnij analiz pochatkovo vinik z metodu vidomogo yak agregacijnij analiz abo metod grupuvannya yakij narazi ye odnim zi sposobiv provedennya amortizacijnogo analizu Odnak formalno tehnika bula predstavlena Robertom Tar yanom u jogo dokumenti 1985 roku Amortizovana skladnist obchislen yakij visvitlyuvav bilsh korisnij riznovid analizu nizh zvichajnij imovirnisnij analiz VstupAnaliz najgirshogo vipadku mozhe dati zanadto pesimistichnu ocinku dlya poslidovnosti operacij cherez te sho takij analiz nehtuye vzayemodiyeyu mizh riznimi operaciyami na tij samij strukturi danih Amortizacijnij analiz mozhe privesti do bilsh realistichnoyi ocinki najgirshogo vipadku zavdyaki vrahuvannyu cih vzayemodij Zauvazhte sho ocinka predstavlena amortizacijnim analizom naspravdi ye najgirshim vipadkom na serednyu operaciyu deyaki operaciyi v poslidovnosti mozhut mati bilshu trudomistkist nizh cya ocinka mezhi ale serednya vartist v kozhnij pravilnij poslidovnosti nikoli ne bude yiyi perevishuvati Amortizacijnij analiz podibnij do analizu serednogo vipadku v tomu sensi sho vin cikavitsya vartistyu userednenoyu na vsyu poslidovnist operacij Odnak analiz serednogo vipadku pokladayetsya na jmovirnisni pripushennya shodo strukturi danih i algoritmu dlya togo shob obchisliti spodivanij chas vikonannya algoritmu Tobto jogo vikoristannya zalezhit vid pevnih pripushen shodo jmovirnisnogo rozpodilu vhidnih danih z chogo viplivaye sho ocinka ne pravilna yaksho pripushennya ne dotrimani abo jmovirnisnij analiz ne mozhna vikoristovuvati vzagali yaksho ne mozhna rozpodil vhidnih danih Amortizacijnij analiz ne potrebuye takih pripushen Takozh vin proponuye verhnyu mezhu na najgirshu shvidkodiyu poslidovnosti operacij i cya mezha zavzhdi chinna Z inshogo boku mezha vstanovlena analizom serednogo vipadku ne viklyuchaye sho trapitsya operaciya z visokoyu trudomistkistyu yaka vimagatime bilshe chasu nizh spodivanij serednij chas navit yaksho umovi na rozpodil dotrimani Ci vidminnosti mizh amortizacijnim analizom i analizom serednogo vipadku mayut vazhlivi naslidki dlya interpretaciyi i dorechnosti otrimanih mezh Amortizacijnij analiz blizko pov yazanij zi zmagovim analizom yakij vklyuchaye porivnyannya shvidkodiyi najgirshogo vipadku onlajn algoritmu zi shvidkodiyeyu optimalnogo offlajn algoritmu na tih samih danih Amortizaciya korisna tomu sho mezhi vstanovleni konkurentnim analizom povinni buti chinnimi nezalezhno vid vhidnih danih yaki onlajn algoritm bachit yak poslidovnist a ne vsi odrazu na pochatku vikonannya Metod grupuvannyaMetod grupuvannya prostij metod yakij obchislyuye mezhu na poslidovnist operacij todi dilit yiyi na kilkist operacij shob otrimati amortizacijnu vartist navit yaksho operacij riznogo tipu napriklad dodavannya odnogo elementu do steku abo vishtovhuvannya dekilkoh elementiv zi steku Priklad Rozglyanemo stek na yakomu viznacheni tri operaciyi Push S x displaystyle mbox Push S x dodaye element x displaystyle x do steku potrebuye O 1 displaystyle O 1 Pop S displaystyle mbox Pop S vishtovhuye element z vershini steku i povertaye jogo potrebuye O 1 displaystyle O 1 Multipop S k displaystyle mbox Multipop S k vishtovhuye k displaystyle k elementiv zi steku potrebuye O k displaystyle O k Oskilki operaciyi Push displaystyle mbox Push i Pop displaystyle mbox Pop mayut chasovu skladnist O 1 displaystyle O 1 mi mozhemo vvazhati sho cina kozhnoyi z cih operacij 1 displaystyle 1 Cina poslidovnosti z n displaystyle n operacij stanovit n displaystyle n Teper dodamo do poslidovnosti operaciyu Multipop displaystyle mbox Multipop Chasova skladnist ciyeyi operaciyi v najgirshomu vipadku stanovit O n displaystyle O n oskilki stek mistit shonajbilshe n displaystyle n elementiv Vihodit sho najgirsha chasova skladnist dlya vsih troh operacij stanovit O n displaystyle O n otzhe poslidovnist u najgirshomu vipadku vimagaye O n 2 displaystyle O n 2 Cej rezultat pravilnij ale nedostatno tochnij Vikoristovuyuchi metod grupuvannya mi mozhemo otrimati krashu ocinku Oskilki mi mozhemo vishtovhnuti element zi steku lishe odin raz na kozhne dodavannya otzhe poslidovnist operacij Push displaystyle mbox Push Pop displaystyle mbox Pop i Multipop displaystyle mbox Multipop potrebuye O n displaystyle O n chasu Z cogo otrimuyemo serednyu vartist operaciyi yak O n n O 1 displaystyle O n n O 1 Dlya otrimannya ciyeyi ocinki mi ne vikoristovuvali jmovirnisnih argumentiv Mi znajshli mezhu najgirshogo vipadku dlya poslidovnosti z n displaystyle n operacij podilili na kilkist operacij i otrimali serednyu vartist operaciyi abo amortizacijnu vartist Oblikovij metodOblikovij metod nakladaye rizni vartosti na rizni operaciyi taka vartist mozhe buti bilshoyu abo menshoyu nizh dijsna vartist operaciyi i nazivayetsya amortizacijnoyu vartistyu Yaksho amortizacijna vartist perevishuye dijsnu vartist to riznicya zberigayetsya v ob yekti yakij mi nazivayemo peredoplata Peredoplata mozhe dopomogti oplatiti odnu z dalshih operacij yaksho yiyi spravzhnya vartist bilsha nizh amortizacijna Cej metod vidriznyayetsya vid metodu grupuvannya v yakomu vsi operaciyi mayut odnakovu amortizacijnu vartist Mi povinni garantuvati sho pidsumkova amortizacijna vartist poslidovnosti operacij ye ne menshoyu nizh pidsumkova dijsna vartist poslidovnosti operacij Yaksho poznachiti amortizacijnu vartist i displaystyle i yi operaciyi yak c i displaystyle hat c i todi mi vimagayemo shob i 1 n c i i 1 n c i displaystyle sum i 1 n hat c i geq sum i 1 n c i dlya vsih mozhlivih poslidovnostej Pri takomu zapisi peredoplata stanovit i 1 n c i i 1 n c i displaystyle sum i 1 n hat c i sum i 1 n c i I vin zavzhdi povinen buti nevid yemnim Priklad Dlya ilyustraciyi oblikovogo metodu mozhna vikoristati priklad steka navedenij vishe Dijsna vartist operacij stanovit Push displaystyle mbox Push 1 Pop displaystyle mbox Pop 1 Multipop displaystyle mbox Multipop min k s displaystyle min k s De s displaystyle s visota steka Sprobuyemo naznachiti taki amortizacijni vartosti Push displaystyle mbox Push 2 Pop displaystyle mbox Pop 0 Multipop displaystyle mbox Multipop 0 Oskilki na kozhne dodavannya pripadaye ne bilshe nizh odne vishtovhuvannya za umovi podvijnoyi plati za dodavannya mi mozhemo sobi dozvoliti ne brati platu za vishtovhuvannya elementiv po odnomu chi grupami Metod potencialivMetod potencialiv predstavlyaye peredoplatu yak potencialnu energiyu abo prosto potencial yakij mozhna vikoristovuvati dlya oplati nastupnih operacij Mi pov yazuyemo potencial z usiyeyu strukturoyu danih nad yakoyu mi provodimo operaciyi Mi provedemo n displaystyle n operacij nad strukturoyu danih D displaystyle D yaka pochatkovo perebuvaye v stani D 0 displaystyle D 0 Kozhna operacij z i 1 2 n displaystyle i 1 2 dots n perevodit strukturu zi stanu D i 1 displaystyle D i 1 u stan D i displaystyle D i i yiyi dijsna vartist stanovit c i displaystyle c i Vvedemo potencialnu funkciyu F displaystyle Phi yaka stavit u vidpovidnist kozhnomu stanu dijsne chislo Todi yaksho poznachiti amortizacijnu vartist yak c i displaystyle hat c i mayemo c i c i F D i F D i 1 displaystyle hat c i c i Phi D i Phi D i 1 Z cogo otrimuyemo amortizacijnu vartist dlya poslidovnosti operacij i 1 n c i i 1 n c i F D n F D 0 displaystyle sum i 1 n hat c i sum i 1 n c i Phi D n Phi D 0 Yaksho mi mozhemo viznachiti potencialnu funkciyu tak sho F D n F D 0 displaystyle Phi D n geq Phi D 0 todi pidsumkova amortizacijna vartist stanovit verhnyu mezhu dlya pidsumkovoyi dijsnoyi vartosti Oskilki mi ne znayemo skilki operacij bude vikonano mi povinni viznachiti potencialnu funkciyu tak shob i F D i F D 0 displaystyle forall i Phi D i geq Phi D 0 Zazvichaj mi viznachayemo F D 0 0 displaystyle Phi D 0 0 Priklad Znov rozglyanemo priklad zi stekom Mi viznachimo potencialnu funkciyu yak kilkist ob yektiv u steku Dlya porozhnogo steku F D 0 0 displaystyle Phi D 0 0 i pislya bud yakoyi poslidovnosti z n displaystyle n operacij F D n 0 F D 0 displaystyle Phi D n geq 0 Phi D 0 Rozglyanemo chomu dorivnyuyut amortizacijni vartosti operacij Dlya operaciyi Push displaystyle mbox Push riznicya potencialiv stanovit F D i F D i 1 s 1 s 1 displaystyle Phi D i Phi D i 1 s 1 s 1 Otzhe amortizacijna vartist c i displaystyle hat c i dorivnyuye 1 1 2 displaystyle 1 1 2 Dlya operacij Pop displaystyle mbox Pop i Multipop displaystyle mbox Multipop mayemo 0 displaystyle 0 i 0 displaystyle 0 PrimitkiTar yan Robert 1985 Amortizovana skladnist obchislen SIAM Journal on Algebraic and Discrete Methods 6 2 306 318 doi 10 1137 0606031 angl T Kormen Ch Lejzerson R Rivest K Stajn 2009 1990 17 2 Oblikovij metod Vstup do algoritmiv vid 3rd MIT Press i McGraw Hill ISBN 0 262 03384 4 Posilannya Prinstonskij universitet angl
Топ