Parallele Algorithmen – Dr. Schaudt – SS 2016

Werbung
ParalleleAlgorithmen–Dr.Schaudt–SS2016
1.Einleitung&Grundbegriffe •
(2,5VL)
Beweis
Satz1.2:JederAlgorithmusmitLaufzeittundmArbeitsschrittenlässtsichmitp
ProzessoreninO(m/p+t)implementieren Beweis
Definitionen:PRAM-Modell,SIMD-Modell,CREW-Modell
1.1DieKlasseNC
•
Satz1.1:NCliegtinP
1.2ElementareTechniken
•
•
•
Algorithmus:Verdoppeln
Algorithmus:Binärbaummethode
Algorithmus:Polynomeauswerten
1.3BrentsGesetz
•
2.Graphenalgorithmen
(11,5VL)
Beweis
2.1KürzesteWege
•
•
Algorithmus:ParallelesAPSP
Satz2.1:APSPgehtmitO(n^3/logn)ProzessoreninZeitO(log^2n)
2.2Zusammenhangskomponenten
•
•
•
Algorithmus:BerechnungderZHKeinesGraphenin5Schritten
Lemma2.2:DerAlgorithmusistkorrektbzw.berechnetdenkorrektenC-Vektor
Satz2.3:ZHKbestimmengehtmitO(n^2/log^2n)ProzessoreninZeitO(log^2n)
Beweis
Beweis
2.3MinimaleSpannbäume
•
•
•
Algorithmus:MSTinallgemeinenGraphen
Lemma2.4:DerberechneteSpannbaumhatminimaleKosten Satz2.5:MSTberechnengehtmitO(n^2/log^2n)ProzessoreninZeitO(log^2n)
Beweis
Beweis
2.42-ZHK
•
•
•
•
•
•
•
Definitionen:2-ZHK
Lemma2.6:ZweiKanteneinesGraphenliegeninderselben2-ZHKgenaudann,wenn
eseinenKreisdurchbeideKantengibt
Algorithmus:2-ZHKinallgemeinenGraphen
Lemma2.7:SindzweiKantenimselbenFundamentalkreis,dannliegensieinder
gleichenZHKvonG‘
Lemma2.8:IstCeinKreisinGundsinde,fKantenaufC,dannliegene,finder gleichenZHKvonG‘
Lemma2.9:LiegenzweiKantene,fvonGindergleichenZHKvonG‘,dannliegen
e,findergleichen2-ZHKvonG
Satz2.10:DieBerechnungder2-ZHKeinesGraphenistinNC Beweis
Beweis
Beweis
Beweis
Beweis
2.5Eulertouren
•
•
•
•
•
Definitionen:Zykel
Satz2.11:Gzsmh.gerichtethateineEulertourgenaudann,wenninjedemKnoten
gleichvieleKanteneingehenwieausgehen
Algorithmus:BerechnungvonEulertoureningerichtetenGraphen
Satz2.12:DieBerechnungvonEulertoureningerichtetenGraphenistinNC Algorithmus:BerechnungvonEulertoureninungerichtetenGraphen
2.6MaximaleMatchings
•
•
Definitionen:Matching,maximalesMatching,Knotenüberdeckung
Algorithmus:SPLITfürmaximaleMatchings
Beweis
Beweis
•
•
•
Lemma2.13:Nachmax.3+logdelta(G_i)vieleninnerenIterationenistM_igefunden Beweis
Lemma2.14:Nachmax.log_(3/2)|V|vielenäußerenIterationenistMgefunden
Beweis
Satz2.15:DieBerechnungvonmaximalenMatchingsliegtinNC
3.ParallelesSortieren
•
(7VL)
Definitionen:compare-exchange(i,j)
3.1EinfacheSortieralgorithmen
•
•
•
•
Algorithmus:odd-even-mergemitinterleave(R,S),odd-even(S)undjoin(R,S)
Lemma3.1:Wennjedes0/1-wertigeArraykorrektsortiertwird,dannauchjedes
Z-wertige
Satz3.2:DerAlgorithmusodd-even-mergesortiertkorrekt.
Algorithmus:bitonic-mergemitshuffle(S)undjoin(S)bzw.bitonic-step(M)
Beweis
Beweis
3.2SortiereninO(logn)bzw.ColesAlgorithmus
•
•
•
•
•
•
•
•
•
•
•
Definitionen:Sampler,Sortiernetz,primitivesSortiernetz
Algorithmus:merge-with-help(S,T,R)mitrank[x,R],reduce(R)
Lemma3.3:SeienR,Sgleichlangundvorsortiert.Dannlässtsichmerge-with-help
Beweis
inO(1)SchrittenmitO(|S|+|T|)Prozessorenrealisieren,sofernbestimmterank-Arrays
gegebensind Lemma3.4:SeiReinSamplerfürR’undSfürS‘,allesortiert.Dannistmerge(R,S)ein Beweis
SamplerfürR‘undS‘
Lemma3.5:Zwischendemi-tenunddem(i+j)-tenElementaus-∞|M|∞liegen
Beweis
höchstens2j+4WerteausM‘
Lemma3.6:reduce(merge(R,S))isteinSamplerfürreduce(merge(R’,S’))
Beweis
Lemma3.7:EsreichenO(n)vieleProzessorenaus,daeszujedemZeitpunktnurO(n) Beweis
vieleElementeinunvollst.Knotengibt
Lemma3.8:rank[x,R]kannmitO(R)ProzessoreninO(1)bestimmtwerden
Beweis
Lemma3.9:SindR,Ssortiertunddisjunkt,T=merge(R,S),dannkannrank[S,R]und
Beweis
rank[R,S]mitO(T)ProzessoreninO(1)bestimmtwerden
Lemma3.10:SindR,S,R‘,S‘undM=merge(R,S)sortiert,RsampeltR‘,SsampeltS‘und Beweis
wirkennenrank[R‘,R]undrank[S,S‘],dannkönnenwirrank[R‘/S‘/M/M,M/M/R‘/S‘]in
O(1)SchrittenmitO(R+S)Prozessorenberechnen
Satz3.11:EinArraymitnEinträgenkönnenwirmitO(n)ProzessoreninO(logn)
Schrittensortieren
4.P-Vollständigkeit •
•
(4VL)
Definitionen:Erzeugbarkeitsproblem,3-Erzeugbarkeit
Lemma4.2:3-ErzeugbarkeitbesitzteineNC-ReduktionaufErzeugbarkeit
Satz4.3:ErzeugbarkeitistP-vollständig Beweis
Beweis
Beweis
Beweis
Beweis
Beweis
Definitionen:NC-Reduktion,P-vollständig
Vermutung4.1:NC≠P
4.1ErzeugbarkeitistP-vollständig
•
•
•
4.2WeitereP-vollständigeProbleme
•
•
•
•
•
Definitionen:Auswertungsproblem,monotonerSchaltkreis
Satz4.4:DasmonotoneAuswertungsproblemistP-vollständig Satz4.5:DFSistP-vollständig
Lemma4.6:verhältinCdenWert1ódfi(s(v))<dfi(t(v))startendinfirst(v_1)
Satz4.7:Maximum-FlowistP-vollständig ThemenvondenBlättern
•
•
•
•
•
•
•
•
•
Blatt2:Präfixsummen
Blatt3:TransitiveReduktion
Blatt4:EulerkreiseinBäumen,TiefensucheinBäumen
Blatt5:Pre-undPost-OrderinBäumen
Blatt6:Knoten-undKantenfärbungvonBäumen
Blatt7:KantenfärbungvonbipartitenGraphen
Blatt8:AuswertungvonarithmetischenAusdrücken
Blatt9:Alternativerbitonic-merge
Blatt11:KonvexeHüllen
Reduktionen
•
•
•
•
•
CVPàDFS(VL23)
CVPàMAXFLOW(VL24)
SortierenàKonvexeHülle(Blatt11)
3-Erzeugbarkeità2-Erzeugbarkeit(Blatt12)
TMCVPàLFMIS(Blatt12)
Fragen
•
•
•
Satz2.1:WieergibtsichdieAnzahlderProzessoren?WegenBrentsGesetz?
Lemma2.14:WarumfindeicheineKnotenüberdeckungmit2/3dervorherigenKnoten?
Lemma3.3:WobrauchenwirS,RundT,R?
Beweisideen
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Satz1.1:EinProzessorschafftalleSchritteinpolynomiellerZeit
Satz1.2:JederProzessormachtsequentiellm/pSchritte
Satz2.1:AdjazenzmatrixM.BerechneQ(i,k,j)=M(i,k)+M(k,j)unddanachM(i,j)=minQ(i,k,j).
LaufzeitergibtsichmitBrentsGesetz
Lemma2.4:SeiE_kdieKantenmengedieindererstenIterationhinzugefügtwerden,welcheeinen
Fehlermacht.DannsagtaberPrims-Algorithmus,dasseinsukzessivesEinfügenkorrektseinmuss.
Lemma2.6:FallunterscheidungunddannperInduktionmitHilfederKonstruktionsregeln
Lemma2.7:ZerlegeCaufminimaleWeiseinFundamentalkreise.Dannhabenjezwei
aufeinanderfolgendeKreiseeinegemeinsameKanteundnachLemma2.6liegensomitalleKanten
beiderF-KreiseindergleichenZHKvonG’.Alsoliegeninduktivauche,findergleichenZHKvonG’
fürjezweiKantene,fausdergleichen2ZHKvonG
Lemma2.9:Zwischene,fgebeesinG’einPfadP.DannsindjezweibenachbarteKantenaufdem
Pfadaufeinemgem.F-KreisinG’undsomitineiner2-ZHK.Gleiche2-ZHKisteineÄquivalenzrel.
derKanten,dahersindauche,findergleichen2-ZHK
Satz2.10:KorrektheitfolgtausdenLemmata,LaufzeitausdemZHK-Algo
Lemma2.13:AktiveKnotenbleibennachjederinnerenIterationaktiv.NachlogDeltaG_i+1vielen
IterationenhatjederKnotenmaxGrad3.NachzweiweiterenIterationenistM_igefunden
Satz2.15:FolgtausdenvorherigenLemmata
Lemma3.1:Seifmonoton.WirdAzuBsortiert,dannauchf(A)zuf(B).Setzef(z)=0für???
Satz3.2:Zeigeinduktiv,dass0/1-wertigeArrayskorrektsortiertwerden.Fallunterscheidungfür
delta=0,1,2.Dannsindentwederr,sbeidegerade,einsgeradeoderbeideungerade.
Lemma3.3:FürS_i,T_ijenachR[i-1]/R[i]trennen.Konkatenationbenutztrank[R,S]undrank[R,T]
Lemma3.4:DermergemachtdenSamplerhöchstens‚feiner‘alsvorher.
Lemma3.7:Untersteunvollst.EbeneenthältnElemente,darüberjeweilsdieHälfte.Mitgeom.
Reiheabschätzen.
Lemma3.8:Nagenausowiemansichdasvorstellt...
•
•
•
Lemma3.9:FürxausRgilt:rank[x,S]=rank[x,T]-rank[x,R]
Satz4.3:FüreinbeliebigesProblemAausP,dasdurcheineTuringmaschineMberechnetwerden
kann,definierenwireinenext-Funktion,diedreibenachbartenFeldernzumgleichenZeitpunktden
jeweiligenEndzustandnachMzuweist
Satz4.7:ReduzierevonCVP.OBdAmonotonundbestimmteEigenschaftengelten.Konstruiere
basierendaufeinertopol.SortierungderKnoteneinNetzwerkmitzusätzlicherQuelle&Senke.
DannhatderFlussungeradeParitätgenaudann,wenndasCVPtrueergibt.
Übungsblätter
Blatt7
• Aufgabe1:
o a)FügexhinzuundverbindeihnmitallenungeradenKnoten.G‘istdanneulersch,berechne
eineEulertour.DiesezerlegtdenGraphenG‘inZykel,alsoGinZykelundPfade
o b)Labelabwechselnd0/1entlangdesEulerkreisesausa).DannhatdieZerlegungjeweils
max-Grad=Delta/2
o c)ZerlegedenGraphensolangewieinb),biseinMatchingübrigbleibt.FärbejedesderDelta
vielenMatchingsanders
• Aufgabe2:lognfachesAnwendenvonSPLIT.VorsichtbeiderBerechnungvonk.Korrektes
Labelingbeachten.
• Aufgabe3:Wirzeigen,dassdiebeidengegebenenAusdrückefürjedenOperatorinMenthalten
sind.Außerdemzeigenwir,dassjedeVerkettungsolcherAusdrückewiedervondieserFormist
Herunterladen