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