Emne: Den tredie og sidste forelæsning (3. april) om External Memory Algoirthms vil omhandle beregningen af minimum udspændende træer for store grafer. Forelæsningen tager udgangspunkt i nedenstående to artikler. Fra Abello et al. vil blive gennemået de dele der vedrører minimum udspændende træer i afsnitene 1-4 og 6, og fra Arge et al. vil blive gennemgået afsnitene 1 og 2.
Tekst:
A Functional Approach to External Graph Algorithms.
James Abello, Adam L. Buchsbaum, Jeffery R.Westbrook.
Proc. 6th Annual European Symposium on Algorithms, LNCS 1461, 332-343, 1998.
(online udgave: http://www.research.att.com/~alb/biblio/func-esa98.ps.Z).
On External Memory MST, SSSP and Multi-way Planar Graph Separation.
Lars Arge, Gerth Stølting Brodal, Laura Toma.
Proc. 7th Scandinavian Workshop on Algorithm Theory, LNCS 1851, 433-447, 2000. (online udgave: swat20mst.pdf).
Slides fra forelæsningen i uge 9 [ps,pdf]
Opgave 3 forneden er afleveringsopgave, dvs. den skal afleveres 17/4.
I denne opgave antager vi at vi i ekstern hukommelse har givet et
statisk B-træ af højde h, hvor alle blade gemmer B elementer og alle interne
knuder har B børn. Vi antager desuden at M>=h*B og at vi i intern
hukommelse altid husker de M/B sidste tilgange blokke i ekstern
hukommelse.
En øvre grænse for antallet af I/Oer for en enkelt
forespørgsel er O(logBN) I/Oer. For en sekvens af k
forespørgsler giver dette en øvre grænse på O(k*logBN)
I/Oer. Dette er dog en pessimistisk øvre grænse, da effekten af at
huske tidligere læste blokke ignoreres. I det følgende søges bedre
øvre grænser for nogle specifikke tilgangsmønste.
Givet et B-træ som gemmer N elementer med nøgler fra et totalt ordnet univers og et forespørgsels interval [x,y], så vil vi i denne opgave finde alle de elementerne i T som har en nøgle som er indeholdt i intervalet [x,y].
En klassisk implementation af prioritetskøer understøttende insert og deletemin i intern hukommelse er en binær bunke (``Heap sort'', Cormen et al., Kapitel 7). I ekstern hukommelse er binære bunker dog ikke særligt effektive, specielt kræver en deletemin typisk et konstant antal I/Oer. I denne opgave studeres mulige forbedringer af binære bunker således at de bliver I/O effektive.
Vi definerer en ekstern binær bunke til at være et perfekt binært træ (ligesom i en traditionel bunke) hvor hver knude istedet for kun ét element nu gemmer B elementer. Invarianten er nu at alle elementer i en knude skal have nøgler der er større end eller lig med nøglerne af alle elementerne i fader knuden.
Datastruktureren betragtet i denne opgave er beskrevet i artikelen.
L. M. Wegner and J. I. Teuhola. The external heapsort.
IEEE Transactions on Software Engineering, volume 15, 917-925,1989.