03.07.2013 Views

Algoritmen en Datastructuren III Partim: Parallelle algoritmen - caagt

Algoritmen en Datastructuren III Partim: Parallelle algoritmen - caagt

Algoritmen en Datastructuren III Partim: Parallelle algoritmen - caagt

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

48 Hoofdstuk 4. Ontwerptechniek<strong>en</strong> voor parallelle algoritm<strong>en</strong><br />

In fase 2 gebruik<strong>en</strong> we de dubbel-logaritmische boom op de n ′ overblijv<strong>en</strong>de elem<strong>en</strong>t<strong>en</strong>. Deze<br />

fase vereist tijd T2(n) = Θ(loglogn ′ ) = Θ(loglogn) <strong>en</strong> werk W2(n) = Θ(n ′ loglogn ′ ) = O(n).<br />

Het totale algoritme is dus optimaal <strong>en</strong> vereist Θ(loglogn) parallelle tijd.<br />

Stelling 4.4.2. Het grootste van e<strong>en</strong> rij van n elem<strong>en</strong>t<strong>en</strong> kan optimaal bepaald word<strong>en</strong> in Θ(loglogn)<br />

tijd op e<strong>en</strong> CRCW PRAM.<br />

4.4.5 Opmerking: speciaal geval<br />

E<strong>en</strong> belangrijk speciaal geval van de techniek van accelerated cascading bestaat in het gebruik<br />

van e<strong>en</strong> optimaal sequ<strong>en</strong>tieel algoritme in fase 1. Ook bij het probleem van het bepal<strong>en</strong> van het<br />

maximum kan op die manier e<strong>en</strong> optimaal algoritme met uitvoeringstijd Θ(loglogn) bekom<strong>en</strong><br />

word<strong>en</strong>.<br />

Daartoe partitioner<strong>en</strong> we de input in n/log 2 log 2 n blokk<strong>en</strong> Bi, met elk ongeveer log 2 log 2 n elem<strong>en</strong>t<strong>en</strong>.<br />

Via het sequ<strong>en</strong>tiële algoritme bepal<strong>en</strong> we dan het maximum van elk blok; dit kan voor<br />

de verschill<strong>en</strong>de blokk<strong>en</strong> in parallel gebeur<strong>en</strong>. Vervolg<strong>en</strong>s werk<strong>en</strong> we verder via de boom van<br />

dubbel-logaritmische diepte om het maximum te bepal<strong>en</strong>.<br />

<strong>Algoritm<strong>en</strong></strong> <strong>en</strong> Datastructur<strong>en</strong> <strong>III</strong> Veerle.Fack@UG<strong>en</strong>t.be

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!