• Keine Ergebnisse gefunden

Generating a directed Graph

Identify the generated cycles:

Let min((i,j),(k,l)) :=

(i,j) ifi 6k∨i =k∧j<l

(k,l) otherwise .

For each edgee defineEdge0(e) =e;

For all edgese repeat logmtimes:

Edge0(e) =min(Edge0(e),Edge0(Succ(e))) Succ(e) =Succ(Succ(e)).

For each edge(i,j): if min((i,j),(j,i))6= (i,j)then letEdge0(e) =0.

Thus we have selected for each non-directed edge a directed one (resp. a direction).

Possible withmin timeO(logm).

We consider in the following on directed graphs.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:17 Introduction 2/10 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Generating a directed Graph

For all edgese repeat logmtimes:

Edge0(e) =min(Edge0(e),Edge0(Succ(e))) Succ(e) =Succ(Succ(e)).

For each edge(i,j): if min((i,j),(j,i))6= (i,j)then letEdge0(e) =0.

Thus we have selected for each non-directed edge a directed one (resp. a direction).

Possible withmin timeO(logm).

We consider in the following on directed graphs.

Generating a directed Graph

Identify the generated cycles:

Let min((i,j),(k,l)) :=

(i,j) ifi 6k∨i =k∧j<l

(k,l) otherwise .

For each edgee defineEdge0(e) =e;

For all edgese repeat logmtimes:

Edge0(e) =min(Edge0(e),Edge0(Succ(e))) Succ(e) =Succ(Succ(e)).

For each edge(i,j): if min((i,j),(j,i))6= (i,j)then letEdge0(e) =0.

Thus we have selected for each non-directed edge a directed one (resp. a direction).

Possible withmin timeO(logm).

We consider in the following on directed graphs.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:17 Introduction 4/10 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Generating a directed Graph

For all edgese repeat logmtimes:

Edge0(e) =min(Edge0(e),Edge0(Succ(e))) Succ(e) =Succ(Succ(e)).

For each edge(i,j): if min((i,j),(j,i))6= (i,j)then letEdge0(e) =0.

Thus we have selected for each non-directed edge a directed one (resp. a direction).

Possible withmin timeO(logm).

We consider in the following on directed graphs.

Generating a directed Graph

Identify the generated cycles:

Let min((i,j),(k,l)) :=

(i,j) ifi 6k∨i =k∧j<l

(k,l) otherwise .

For each edgee defineEdge0(e) =e;

For all edgese repeat logmtimes:

Edge0(e) =min(Edge0(e),Edge0(Succ(e))) Succ(e) =Succ(Succ(e)).

For each edge(i,j): if min((i,j),(j,i))6= (i,j)then letEdge0(e) =0.

Thus we have selected for each non-directed edge a directed one (resp. a direction).

Possible withmin timeO(logm).

We consider in the following on directed graphs.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:17 Introduction 6/10 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Generating a directed Graph

For all edgese repeat logmtimes:

Edge0(e) =min(Edge0(e),Edge0(Succ(e))) Succ(e) =Succ(Succ(e)).

For each edge(i,j): if min((i,j),(j,i))6= (i,j)then letEdge0(e) =0.

Thus we have selected for each non-directed edge a directed one (resp. a direction).

Possible withmin timeO(logm).

We consider in the following on directed graphs.

Generating a directed Graph

Identify the generated cycles:

Let min((i,j),(k,l)) :=

(i,j) ifi 6k∨i =k∧j<l

(k,l) otherwise .

For each edgee defineEdge0(e) =e;

For all edgese repeat logmtimes:

Edge0(e) =min(Edge0(e),Edge0(Succ(e))) Succ(e) =Succ(Succ(e)).

For each edge(i,j): if min((i,j),(j,i))6= (i,j)then letEdge0(e) =0.

Thus we have selected for each non-directed edge a directed one (resp. a direction).

Possible withmin timeO(logm).

We consider in the following on directed graphs.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:17 Introduction 8/10 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Generating a directed Graph

For all edgese repeat logmtimes:

Edge0(e) =min(Edge0(e),Edge0(Succ(e))) Succ(e) =Succ(Succ(e)).

For each edge(i,j): if min((i,j),(j,i))6= (i,j)then letEdge0(e) =0.

Thus we have selected for each non-directed edge a directed one (resp. a direction).

Possible withmin timeO(logm).

We consider in the following on directed graphs.

Generating a directed Graph

Identify the generated cycles:

Let min((i,j),(k,l)) :=

(i,j) ifi 6k∨i =k∧j<l

(k,l) otherwise .

For each edgee defineEdge0(e) =e;

For all edgese repeat logmtimes:

Edge0(e) =min(Edge0(e),Edge0(Succ(e))) Succ(e) =Succ(Succ(e)).

For each edge(i,j): if min((i,j),(j,i))6= (i,j)then letEdge0(e) =0.

Thus we have selected for each non-directed edge a directed one (resp. a direction).

Possible withmin timeO(logm).

We consider in the following on directed graphs.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:17 Introduction 10/10 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Generating a directed Graph

For all edgese repeat logmtimes:

Edge0(e) =min(Edge0(e),Edge0(Succ(e))) Succ(e) =Succ(Succ(e)).

For each edge(i,j): if min((i,j),(j,i))6= (i,j)then letEdge0(e) =0.

Thus we have selected for each non-directed edge a directed one (resp. a direction).

Possible withmin timeO(logm).

We consider in the following on directed graphs.

Step 1

LetG= (V,E)be a directed graph.

Sort the edges into an arrayEdge.

using the order:(i,j)<(k,l)⇔j<l∨(j=l∧i<k).

Sort the edges into an arraySucc.

using the order:(i,j)<(k,l)⇔i<k∨(i =k∧j<l).

We have already defined the cycles:

Successor of edgee=Edge(i)is the edgeSucc(i).

We also store inP(i)the position ofSucc(i)in Edge.

I.e.Edge(P(i)) =Succ(i).

This information could be updated during the sorting ofSucc. This could be done in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:18 The algorithm 2/8 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 1

LetG= (V,E)be a directed graph.

Sort the edges into an arrayEdge.

using the order:(i,j)<(k,l)⇔j<l∨(j=l∧i<k).

Sort the edges into an arraySucc.

using the order:(i,j)<(k,l)⇔i<k∨(i =k∧j<l).

We have already defined the cycles:

Successor of edgee=Edge(i)is the edgeSucc(i).

We also store inP(i)the position ofSucc(i)in Edge.

I.e.Edge(P(i)) =Succ(i).

This information could be updated during the sorting ofSucc. This could be done in timeO(logm)usingO(m)processors.

Step 1

LetG= (V,E)be a directed graph.

Sort the edges into an arrayEdge.

using the order:(i,j)<(k,l)⇔j<l∨(j=l∧i<k).

Sort the edges into an arraySucc.

using the order:(i,j)<(k,l)⇔i<k∨(i =k∧j<l).

We have already defined the cycles:

Successor of edgee=Edge(i)is the edgeSucc(i).

We also store inP(i)the position ofSucc(i)in Edge.

I.e.Edge(P(i)) =Succ(i).

This information could be updated during the sorting ofSucc. This could be done in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:18 The algorithm 4/8 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 1

LetG= (V,E)be a directed graph.

Sort the edges into an arrayEdge.

using the order:(i,j)<(k,l)⇔j<l∨(j=l∧i<k).

Sort the edges into an arraySucc.

using the order:(i,j)<(k,l)⇔i<k∨(i =k∧j<l).

We have already defined the cycles:

Successor of edgee=Edge(i)is the edgeSucc(i).

We also store inP(i)the position ofSucc(i)in Edge.

I.e.Edge(P(i)) =Succ(i).

This information could be updated during the sorting ofSucc. This could be done in timeO(logm)usingO(m)processors.

Step 1

LetG= (V,E)be a directed graph.

Sort the edges into an arrayEdge.

using the order:(i,j)<(k,l)⇔j<l∨(j=l∧i<k).

Sort the edges into an arraySucc.

using the order:(i,j)<(k,l)⇔i<k∨(i =k∧j<l).

We have already defined the cycles:

Successor of edgee=Edge(i)is the edgeSucc(i).

We also store inP(i)the position ofSucc(i)in Edge.

I.e.Edge(P(i)) =Succ(i).

This information could be updated during the sorting ofSucc. This could be done in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:18 The algorithm 6/8 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 1

LetG= (V,E)be a directed graph.

Sort the edges into an arrayEdge.

using the order:(i,j)<(k,l)⇔j<l∨(j=l∧i<k).

Sort the edges into an arraySucc.

using the order:(i,j)<(k,l)⇔i<k∨(i =k∧j<l).

We have already defined the cycles:

Successor of edgee=Edge(i)is the edgeSucc(i).

We also store inP(i)the position ofSucc(i)in Edge.

I.e.Edge(P(i)) =Succ(i).

This information could be updated during the sorting ofSucc. This could be done in timeO(logm)usingO(m)processors.

Step 1

LetG= (V,E)be a directed graph.

Sort the edges into an arrayEdge.

using the order:(i,j)<(k,l)⇔j<l∨(j=l∧i<k).

Sort the edges into an arraySucc.

using the order:(i,j)<(k,l)⇔i<k∨(i =k∧j<l).

We have already defined the cycles:

Successor of edgee=Edge(i)is the edgeSucc(i).

We also store inP(i)the position ofSucc(i)in Edge.

I.e.Edge(P(i)) =Succ(i).

This information could be updated during the sorting ofSucc. This could be done in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:18 The algorithm 8/8 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 1

LetG= (V,E)be a directed graph.

Sort the edges into an arrayEdge.

using the order:(i,j)<(k,l)⇔j<l∨(j=l∧i<k).

Sort the edges into an arraySucc.

using the order:(i,j)<(k,l)⇔i<k∨(i =k∧j<l).

We have already defined the cycles:

Successor of edgee=Edge(i)is the edgeSucc(i).

We also store inP(i)the position ofSucc(i)in Edge.

I.e.Edge(P(i)) =Succ(i).

This information could be updated during the sorting ofSucc. This could be done in timeO(logm)usingO(m)processors.

Step 2

Situation: We have a directed graph covered by cycles.

Problem: Compute for each edgee the cycles wheree belongs to.

Solution: compute for each cycle the minimal edge ((i,j)<(k,l)⇔i <k∨(i=k∧j<l)).

Algorithm:

Programm:

for allPi where 16i 6mdo in parallel CycleRep(i) :=Succ(i)

fori:=1todlogmedo:

CycleRep(i) :=min(CycleRep(i),CycleRep(P(i))) P(i) :=P(P(i))

We use again the doubling technique.

Possible in timeO(logm)usingO(m)Processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:19 The algorithm 2/7 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2

Situation: We have a directed graph covered by cycles.

Problem: Compute for each edgee the cycles wheree belongs to.

Solution: compute for each cycle the minimal edge ((i,j)<(k,l)⇔i <k∨(i=k∧j<l)).

CycleRep(i) :=min(CycleRep(i),CycleRep(P(i))) P(i) :=P(P(i))

We use again the doubling technique.

Possible in timeO(logm)usingO(m)Processors.

Step 2

Situation: We have a directed graph covered by cycles.

Problem: Compute for each edgee the cycles wheree belongs to.

Solution: compute for each cycle the minimal edge ((i,j)<(k,l)⇔i <k∨(i=k∧j<l)).

Algorithm:

Programm:

for allPi where 16i 6mdo in parallel CycleRep(i) :=Succ(i)

fori:=1todlogmedo:

CycleRep(i) :=min(CycleRep(i),CycleRep(P(i))) P(i) :=P(P(i))

We use again the doubling technique.

Possible in timeO(logm)usingO(m)Processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:19 The algorithm 4/7 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2

Situation: We have a directed graph covered by cycles.

Problem: Compute for each edgee the cycles wheree belongs to.

Solution: compute for each cycle the minimal edge ((i,j)<(k,l)⇔i <k∨(i=k∧j<l)).

CycleRep(i) :=min(CycleRep(i),CycleRep(P(i))) P(i) :=P(P(i))

We use again the doubling technique.

Possible in timeO(logm)usingO(m)Processors.

Step 2

Situation: We have a directed graph covered by cycles.

Problem: Compute for each edgee the cycles wheree belongs to.

Solution: compute for each cycle the minimal edge ((i,j)<(k,l)⇔i <k∨(i=k∧j<l)).

Algorithm:

Programm:

for allPi where 16i 6mdo in parallel CycleRep(i) :=Succ(i)

fori:=1todlogmedo:

CycleRep(i) :=min(CycleRep(i),CycleRep(P(i))) P(i) :=P(P(i))

We use again the doubling technique.

Possible in timeO(logm)usingO(m)Processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:19 The algorithm 6/7 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2

Situation: We have a directed graph covered by cycles.

Problem: Compute for each edgee the cycles wheree belongs to.

Solution: compute for each cycle the minimal edge ((i,j)<(k,l)⇔i <k∨(i=k∧j<l)).

CycleRep(i) :=min(CycleRep(i),CycleRep(P(i))) P(i) :=P(P(i))

We use again the doubling technique.

Possible in timeO(logm)usingO(m)Processors.

Step 2

Situation: We have a directed graph covered by cycles.

Problem: Compute for each edgee the cycles wheree belongs to.

Solution: compute for each cycle the minimal edge ((i,j)<(k,l)⇔i <k∨(i=k∧j<l)).

Algorithm:

Programm:

for allPi where 16i 6mdo in parallel CycleRep(i) :=Succ(i)

fori:=1todlogmedo:

CycleRep(i) :=min(CycleRep(i),CycleRep(P(i))) P(i) :=P(P(i))

We use again the doubling technique.

Possible in timeO(logm)usingO(m)Processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:20 The algorithm 1/8 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2 (Continued)

Situation: the cycles of the coverage are identified byCycleRep.

Problem: join the cycle into a single one.

Solution: Identify the nodes of the cycle.

C ={CycleRep(i)|16i6m}. (NoteC is a edge set)

Step 2 (Continued)

Situation: the cycles of the coverage are identified byCycleRep.

Problem: join the cycle into a single one.

Solution: Identify the nodes of the cycle.

C ={CycleRep(i)|16i6m}. (NoteC is a edge set) G0=V∪C

E0={(u,v)|u∈V,v∈C :v is identified in the cycle byu}

Computing ofE0: Programm:

for allPi where 16i 6mdo in parallel (u,v) =Edge(i)

Edge0(2·i) = (u,CycleRep(i)) Edge0(2·i+1) = (v,CycleRep(i))

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:20 The algorithm 3/8 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2 (Continued)

Situation: the cycles of the coverage are identified byCycleRep.

Problem: join the cycle into a single one.

Solution: Identify the nodes of the cycle.

C ={CycleRep(i)|16i6m}. (NoteC is a edge set)

Step 2 (Continued)

Situation: the cycles of the coverage are identified byCycleRep.

Problem: join the cycle into a single one.

Solution: Identify the nodes of the cycle.

C ={CycleRep(i)|16i6m}. (NoteC is a edge set) G0=V∪C

E0={(u,v)|u∈V,v∈C :v is identified in the cycle byu}

Computing ofE0: Programm:

for allPi where 16i 6mdo in parallel (u,v) =Edge(i)

Edge0(2·i) = (u,CycleRep(i)) Edge0(2·i+1) = (v,CycleRep(i))

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:20 The algorithm 5/8 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2 (Continued)

Situation: the cycles of the coverage are identified byCycleRep.

Problem: join the cycle into a single one.

Solution: Identify the nodes of the cycle.

C ={CycleRep(i)|16i6m}. (NoteC is a edge set)

Step 2 (Continued)

Situation: the cycles of the coverage are identified byCycleRep.

Problem: join the cycle into a single one.

Solution: Identify the nodes of the cycle.

C ={CycleRep(i)|16i6m}. (NoteC is a edge set) G0=V∪C

E0={(u,v)|u∈V,v∈C :v is identified in the cycle byu}

Computing ofE0: Programm:

for allPi where 16i 6mdo in parallel (u,v) =Edge(i)

Edge0(2·i) = (u,CycleRep(i)) Edge0(2·i+1) = (v,CycleRep(i))

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:20 The algorithm 7/8 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2 (Continued)

Situation: the cycles of the coverage are identified byCycleRep.

Problem: join the cycle into a single one.

Solution: Identify the nodes of the cycle.

C ={CycleRep(i)|16i6m}. (NoteC is a edge set)

Step 2 (Continued)

Situation: the cycles of the coverage are identified byCycleRep.

Problem: join the cycle into a single one.

Solution: Identify the nodes of the cycle.

C ={CycleRep(i)|16i6m}. (NoteC is a edge set) G0=V∪C

E0={(u,v)|u∈V,v∈C :v is identified in the cycle byu}

Computing ofE0: Programm:

for allPi where 16i 6mdo in parallel (u,v) =Edge(i)

Edge0(2·i) = (u,CycleRep(i)) Edge0(2·i+1) = (v,CycleRep(i))

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:21 The algorithm 1/12 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

SortEdge0. Programm:

for allPi where 16i 6mdo in parallel ifEdge0(i) =Edge0(i+1)thenEdge(i) =∞ SortEdge0.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:21 The algorithm 3/12 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

SortEdge0. Programm:

for allPi where 16i 6mdo in parallel ifEdge0(i) =Edge0(i+1)thenEdge(i) =∞ SortEdge0.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:21 The algorithm 5/12 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

SortEdge0. Programm:

for allPi where 16i 6mdo in parallel ifEdge0(i) =Edge0(i+1)thenEdge(i) =∞ SortEdge0.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:21 The algorithm 7/12 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

SortEdge0. Programm:

for allPi where 16i 6mdo in parallel ifEdge0(i) =Edge0(i+1)thenEdge(i) =∞ SortEdge0.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:21 The algorithm 9/12 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

SortEdge0. Programm:

for allPi where 16i 6mdo in parallel ifEdge0(i) =Edge0(i+1)thenEdge(i) =∞ SortEdge0.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:21 The algorithm 11/12 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Step 2 (Continued)

Situation: Cover of cycles and graphG0defined.

Problem: there are multiple edges.

Solution: sort them out.

SortEdge0. Programm:

for allPi where 16i 6mdo in parallel ifEdge0(i) =Edge0(i+1)thenEdge(i) =∞ SortEdge0.

Consider only the first|E0|elements ofEdge0.

Problem: nodeucould appear several times in a cyclev. As before we may compute a single representative.

Let these edge be(i,u) =Cert(u,v).

May be done in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:22 The algorithm 1/9 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 3

Situation: Covering of the cycles and graphG0computed.

Problem: Compute cycle inG0.

Solution: compute spanning teeT for the bipartite GraphG0.

To compute spanning tree we needO(log2m)time withO(m/log2m) Processors.

Then we substitute each edge inT with two directed edges.

The new graphT0 is Eulerian.

The Eulerian cycle is easy to find:

To do so, compute for each node of the tree the order of edges.

Could be don in timeO(logm)usingO(m)processors.

Step 3

Situation: Covering of the cycles and graphG0computed.

Problem: Compute cycle inG0.

Solution: compute spanning teeT for the bipartite GraphG0.

To compute spanning tree we needO(log2m)time withO(m/log2m) Processors.

Then we substitute each edge inT with two directed edges.

The new graphT0 is Eulerian.

The Eulerian cycle is easy to find:

To do so, compute for each node of the tree the order of edges.

Could be don in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:22 The algorithm 3/9 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 3

Situation: Covering of the cycles and graphG0computed.

Problem: Compute cycle inG0.

Solution: compute spanning teeT for the bipartite GraphG0.

To compute spanning tree we needO(log2m)time withO(m/log2m) Processors.

Then we substitute each edge inT with two directed edges.

The new graphT0 is Eulerian.

The Eulerian cycle is easy to find:

To do so, compute for each node of the tree the order of edges.

Could be don in timeO(logm)usingO(m)processors.

Step 3

Situation: Covering of the cycles and graphG0computed.

Problem: Compute cycle inG0.

Solution: compute spanning teeT for the bipartite GraphG0.

To compute spanning tree we needO(log2m)time withO(m/log2m) Processors.

Then we substitute each edge inT with two directed edges.

The new graphT0 is Eulerian.

The Eulerian cycle is easy to find:

To do so, compute for each node of the tree the order of edges.

Could be don in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:22 The algorithm 5/9 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 3

Situation: Covering of the cycles and graphG0computed.

Problem: Compute cycle inG0.

Solution: compute spanning teeT for the bipartite GraphG0.

To compute spanning tree we needO(log2m)time withO(m/log2m) Processors.

Then we substitute each edge inT with two directed edges.

The new graphT0 is Eulerian.

The Eulerian cycle is easy to find:

To do so, compute for each node of the tree the order of edges.

Could be don in timeO(logm)usingO(m)processors.

Step 3

Situation: Covering of the cycles and graphG0computed.

Problem: Compute cycle inG0.

Solution: compute spanning teeT for the bipartite GraphG0.

To compute spanning tree we needO(log2m)time withO(m/log2m) Processors.

Then we substitute each edge inT with two directed edges.

The new graphT0 is Eulerian.

The Eulerian cycle is easy to find:

To do so, compute for each node of the tree the order of edges.

Could be don in timeO(logm)usingO(m)processors.

Colorings I Eulerian cycle Matchings Colorings II MIS Coloring III S.

3:22 The algorithm 7/9 Walter Unger 30.1.2017 11:52 WS2016/17 Z

Step 3

Situation: Covering of the cycles and graphG0computed.

Problem: Compute cycle inG0.

Solution: compute spanning teeT for the bipartite GraphG0.

To compute spanning tree we needO(log2m)time withO(m/log2m) Processors.

To compute spanning tree we needO(log2m)time withO(m/log2m) Processors.