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.