Sending Messages on Communication Networks on Time Ronald Koch, - - PowerPoint PPT Presentation

sending messages on communication networks on time
SMART_READER_LITE
LIVE PREVIEW

Sending Messages on Communication Networks on Time Ronald Koch, - - PowerPoint PPT Presentation

Sending Messages on Communication Networks on Time Ronald Koch, Britta Peis, Martin Skutella, Andreas Wiese TU Berlin The Message Routing Problem In a distributed system, processes residing at different nodes of the network communicate by


slide-1
SLIDE 1

Sending Messages on Communication Networks

  • n Time

Ronald Koch, Britta Peis, Martin Skutella, Andreas Wiese

TU Berlin

slide-2
SLIDE 2

The Message Routing Problem

◮ In a distributed system, processes residing at different nodes

  • f the network communicate by passing messages.
slide-3
SLIDE 3

The Message Routing Problem

◮ In a distributed system, processes residing at different nodes

  • f the network communicate by passing messages.

◮ It is an important question, whether a given set of messages

{Mi}i∈I can be routed through the network on time.

slide-4
SLIDE 4

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

slide-5
SLIDE 5

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

◮ It takes one time unit to send a packet on each link.

slide-6
SLIDE 6

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit.

slide-7
SLIDE 7

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-8
SLIDE 8

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:00

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-9
SLIDE 9

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:01

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-10
SLIDE 10

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:02

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-11
SLIDE 11

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:03

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-12
SLIDE 12

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:04

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-13
SLIDE 13

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:05

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-14
SLIDE 14

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:06

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-15
SLIDE 15

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:07

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-16
SLIDE 16

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:08

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-17
SLIDE 17

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:09

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-18
SLIDE 18

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:10

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-19
SLIDE 19

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:11

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-20
SLIDE 20

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:12

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-21
SLIDE 21

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:13

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-22
SLIDE 22

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-23
SLIDE 23

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:04

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-24
SLIDE 24

The Model

◮ Message Mi = (si, ti, li) consists of li unit-size packets that

need to be send from si to ti within time horizon T.

00:12

◮ It takes one time unit to send a packet on each link. ◮ At most one packet may traverse a link per time unit. ◮ Each message must be completely received by a node before it

can be traversed to the next one.

slide-25
SLIDE 25

Special Case: Packet Routing

◮ In the packet routing problem, each message consists of

  • nly one packet.
slide-26
SLIDE 26

Special Case: Packet Routing

◮ In the packet routing problem, each message consists of

  • nly one packet.

◮ Integral multicommodity flow problem over time with

unit travel times and capacities.

slide-27
SLIDE 27

Special Case: Packet Routing

◮ In the packet routing problem, each message consists of

  • nly one packet.

00:00

◮ Integral multicommodity flow problem over time with

unit travel times and capacities.

slide-28
SLIDE 28

Special Case: Packet Routing

◮ In the packet routing problem, each message consists of

  • nly one packet.

00:01

◮ Integral multicommodity flow problem over time with

unit travel times and capacities.

slide-29
SLIDE 29

Special Case: Packet Routing

◮ In the packet routing problem, each message consists of

  • nly one packet.

00:02

◮ Integral multicommodity flow problem over time with

unit travel times and capacities.

slide-30
SLIDE 30

Special Case: Packet Routing

◮ In the packet routing problem, each message consists of

  • nly one packet.

00:03

◮ Integral multicommodity flow problem over time with

unit travel times and capacities.

slide-31
SLIDE 31

Special Case: Packet Routing

◮ In the packet routing problem, each message consists of

  • nly one packet.

00:04

◮ Integral multicommodity flow problem over time with

unit travel times and capacities.

slide-32
SLIDE 32

Special Case: Packet Routing

◮ In the packet routing problem, each message consists of

  • nly one packet.

00:05

◮ Integral multicommodity flow problem over time with

unit travel times and capacities.

slide-33
SLIDE 33

Single-Sink-Single-Source Packet and Message Routing

Observation

1-sink-1-source packet routing can be solved efficiently.

Proof.

Calculate a maximum s-t-flow over time with time horizon T.

slide-34
SLIDE 34

Single-Sink-Single-Source Packet and Message Routing

Observation

1-sink-1-source packet routing can be solved efficiently.

Proof.

Calculate a maximum s-t-flow over time with time horizon T.

Observation

1-sink-1-source message routing is NP-complete.

Proof.

Reduction from 3-PARTITION.

{

s t 1 2 k a1

2

a

3k

a 2B 2B k

slide-35
SLIDE 35

Contents

The message- and packet routing problem Message routing and job shop scheduling Path-finding algorithm Message- and packet routing on special graph classes Periodic message routing

slide-36
SLIDE 36

Contents

The message- and packet routing problem Message routing and job shop scheduling Path-finding algorithm Message- and packet routing on special graph classes Periodic message routing

slide-37
SLIDE 37

Congestion and Dilation

◮ In case the paths {Pi}i∈I are known in advance,

we have to trivial lower bounds on T:

slide-38
SLIDE 38

Congestion and Dilation

◮ In case the paths {Pi}i∈I are known in advance,

we have to trivial lower bounds on T:

◮ the congestion

C := max

e∈E

  • i:e∈Pi

li,

slide-39
SLIDE 39

Congestion and Dilation

◮ In case the paths {Pi}i∈I are known in advance,

we have to trivial lower bounds on T:

◮ the congestion

C := max

e∈E

  • i:e∈Pi

li,

◮ and the dilation

D := max

i∈I |Pi|li.

slide-40
SLIDE 40

Congestion and Dilation

◮ In case the paths {Pi}i∈I are known in advance,

we have to trivial lower bounds on T:

◮ the congestion

C := max

e∈E

  • i:e∈Pi

li,

◮ and the dilation

D := max

i∈I |Pi|li. ◮ Assigning priorities → acyclic job shop scheduling problem!

slide-41
SLIDE 41

Job Shop Scheduling

◮ Jobs J1, . . . , Jn, machines M1, . . . , Mm, each job consists of a

sequence of operations Ji = ((Mi1, pi1), ..., (Mik, pik)) to be performed in order. Goal: Find feasible schedule with minimal makespan.

slide-42
SLIDE 42

Job Shop Scheduling

◮ Jobs J1, . . . , Jn, machines M1, . . . , Mm, each job consists of a

sequence of operations Ji = ((Mi1, pi1), ..., (Mik, pik)) to be performed in order. Goal: Find feasible schedule with minimal makespan.

◮ Example:

JR = ((M2, 3), (M3, 3)) JB = ((M1, 1), (M2, 1), (M4, 1), (M5, 1)).

1 2 4 3 5

slide-43
SLIDE 43

Job Shop Scheduling

◮ Jobs J1, . . . , Jn, machines M1, . . . , Mm, each job consists of a

sequence of operations Ji = ((Mi1, pi1), ..., (Mik, pik)) to be performed in order. Goal: Find feasible schedule with minimal makespan.

◮ Example:

JR = ((M2, 3), (M3, 3)) JB = ((M1, 1), (M2, 1), (M4, 1), (M5, 1)).

1 2 4 3 5

M M M M M

1 2 3 4 5

slide-44
SLIDE 44

Results on Job Shop Scheduling

◮ AJSS is NP-hard to approximate within a factor of 5 4

[Sevast’janov et al. 93]

slide-45
SLIDE 45

Results on Job Shop Scheduling

◮ AJSS is NP-hard to approximate within a factor of 5 4

[Sevast’janov et al. 93]

◮ O(C + D log log lmax)-schedule exists [Feige, Scheideler 02]

slide-46
SLIDE 46

Results on Job Shop Scheduling

◮ AJSS is NP-hard to approximate within a factor of 5 4

[Sevast’janov et al. 93]

◮ O(C + D log log lmax)-schedule exists [Feige, Scheideler 02] ◮ O(C + D)-schedule if all operation lengths are one [Leighton,

Maggs, Richa 94]

slide-47
SLIDE 47

Results on Job Shop Scheduling

◮ AJSS is NP-hard to approximate within a factor of 5 4

[Sevast’janov et al. 93]

◮ O(C + D log log lmax)-schedule exists [Feige, Scheideler 02] ◮ O(C + D)-schedule if all operation lengths are one [Leighton,

Maggs, Richa 94]

◮ First constant factor approximation for packet routing

[Srinivasan, Teo 01]

slide-48
SLIDE 48

Results on Job Shop Scheduling

◮ AJSS is NP-hard to approximate within a factor of 5 4

[Sevast’janov et al. 93]

◮ O(C + D log log lmax)-schedule exists [Feige, Scheideler 02] ◮ O(C + D)-schedule if all operation lengths are one [Leighton,

Maggs, Richa 94]

◮ First constant factor approximation for packet routing

[Srinivasan, Teo 01]

◮ Our algorithm finds paths for the message routing problem

with C and D small.

slide-49
SLIDE 49

Results on Job Shop Scheduling

◮ AJSS is NP-hard to approximate within a factor of 5 4

[Sevast’janov et al. 93]

◮ O(C + D log log lmax)-schedule exists [Feige, Scheideler 02] ◮ O(C + D)-schedule if all operation lengths are one [Leighton,

Maggs, Richa 94]

◮ First constant factor approximation for packet routing

[Srinivasan, Teo 01]

◮ Our algorithm finds paths for the message routing problem

with C and D small.

◮ It improves the result of Srinivasan and Teo for packet routing

by a factor of 2.

slide-50
SLIDE 50

Contents

The message- and packet routing problem Message routing and job shop scheduling Path-finding algorithm Message- and packet routing on special graph classes Periodic message routing

slide-51
SLIDE 51

Paths with C and D small

◮ For some fixed D ≤ T define

Pi := {si, ti-paths of length ≤ D li } ∀i ∈ I.

slide-52
SLIDE 52

Paths with C and D small

◮ For some fixed D ≤ T define

Pi := {si, ti-paths of length ≤ D li } ∀i ∈ I.

◮ We are interested in an optimal {0, 1}-solution of

minx≥0 C ∀i ∈ I :

  • P∈Pi xP ≥ 1

∀e ∈ E :

  • i∈I
  • P∈Pi:e∈P lixP ≤ C
slide-53
SLIDE 53

Paths with C and D small

◮ For some fixed D ≤ T define

Pi := {si, ti-paths of length ≤ D li } ∀i ∈ I.

◮ We are interested in an optimal {0, 1}-solution of

minx≥0 C ∀i ∈ I :

  • P∈Pi xP ≥ 1

∀e ∈ E :

  • i∈I
  • P∈Pi:e∈P lixP ≤ C

Theorem

Our algorithm finds a {0, 1}-solution ˆ x such that ˆ C < C ∗ + D, where C ∗ is the congestion of an optimal fractional solution.

slide-54
SLIDE 54

An optimal fractional solution

Observation

An optimal fractional solution x∗ of minx≥0 C ∀i ∈ I :

  • P∈Pi xP ≥ 1

∀e ∈ E :

  • i∈I
  • P∈Pi:e∈P lixP ≤ C

can be found efficiently.

slide-55
SLIDE 55

An optimal fractional solution

Observation

An optimal fractional solution x∗ of minx≥0 C ∀i ∈ I :

  • P∈Pi xP ≥ 1

∀e ∈ E :

  • i∈I
  • P∈Pi:e∈P lixP ≤ C

can be found efficiently.

Proof.

The pricing problem is the constant-length-bounded shortest path problem (→ modified Dijkstra).

slide-56
SLIDE 56

Rounding algorithm

Algorithm

F ← messages with fixed paths (initially empty). Iteratively:

  • 1. Compute a basic optimal solution x∗ of

minx≥0 C ∀i ∈ I :

  • P∈Pi xP ≥ 1

∀e ∈ E :

  • i∈I
  • P∈Pi:e∈P lixP ≤ C −

i∈F:e∈Pi li

  • 2. Fix variables with x∗

P = 1; (move corresponding i from I to F;)

  • 3. Remove variables with x∗

P = 0;

  • 4. Remove constraint e with
  • i∈I
  • P∈Pi:e∈P

li < C ∗ −

  • i∈F:e∈Pi

li + D.

slide-57
SLIDE 57

The algorithm is well-defined

Theorem

If 0 < x∗

P < 1 for all paths P, there exists a constraint e with

  • i∈I
  • P∈Pi:e∈P

li < C ∗ −

  • i∈F:e∈Pi

li + D.

Proof.

Since x∗ is b.f.s., there exist linearly independent tight constraints T1 and T2 of type (1) and (2) with n = |supp(x∗)| = |T1| + |T2|. If ∀e ∈ T2 :

  • i∈I
  • P∈Pi:e∈P

li(1 − x∗

P) ≥ D,

then nD ≤

  • i∈T1 D

P∈Pi x∗ P + e∈T2

  • i∈I
  • P∈Pi:e∈P li(1 − x∗

P)

  • i∈I
  • P∈Pi(Dx∗

P + e∈T2:e∈P li(1 − x∗ P))

  • i∈I
  • P∈Pi(Dx∗

P + D − Dx∗ P) = Dn.

Contradiction to linear independency!

slide-58
SLIDE 58

Corollary

Corollary

The algorithm determines paths with small congestion and dilation.

slide-59
SLIDE 59

Contents

The message- and packet routing problem Message routing and job shop scheduling Path-finding algorithm Message- and packet routing on special graph classes Periodic message routing

slide-60
SLIDE 60

Message Routing on a Directed Path

slide-61
SLIDE 61

Message Routing on a Directed Path

slide-62
SLIDE 62

Message Routing on a Directed Path

Optimal Schedule: Farthest−Destination−First: 19 22

slide-63
SLIDE 63

Message Routing on a Directed Path

Optimal Schedule: Farthest−Destination−First: 19 22

◮ Theorem (Leung, Tam, Wong, Young 96)

Message routing on a directed path is NP-complete (reduction from 3-PARTITION).

slide-64
SLIDE 64

Message Routing on a Directed Path

Optimal Schedule: Farthest−Destination−First: 19 22

◮ Theorem (Leung, Tam, Wong, Young 96)

Message routing on a directed path is NP-complete (reduction from 3-PARTITION).

◮ Theorem

Farthest-Destination-First is optimal if si <P sj = ⇒ ti ≤P tj.

slide-65
SLIDE 65

Further results on special graph classes

Message routing problem:

◮ NP-hard to approximate with a factor < 7 6 on a tree even if

message lengths of 1 and 2, only.

◮ NP-hard on a grid even in the single-sink, single-source case.

Packet routing problem:

◮ FDF optimal on directed paths, in-trees and out-trees. ◮ FDF arbitrarily bad on trees. ◮ 2-approximation on trees. ◮ C + D − 1-approximation on directed trees. ◮ NP-hard to approximate with a factor < 10 9 on trees. ◮ NP-hard to approximate with a factor < 7 6 on planar graphs. ◮ NP-hard to approximate with a factor < 6 5 on general graphs. ◮ 2-approximation on a grid with pairwise different origins and

destinations.

slide-66
SLIDE 66

Contents

The message- and packet routing problem Message routing and job shop scheduling Path-finding algorithm Message- and packet routing on special graph classes Periodic message routing

slide-67
SLIDE 67

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 4 4 4 2

period

slide-68
SLIDE 68

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 2 4 4 4 2 4 4 4 4 2

slide-69
SLIDE 69

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 2 4 4 4 2 4 4 4 4 2

◮ Feasible schedule: each packet is sent before the next one is

released.

slide-70
SLIDE 70

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 4 2 4 2 4 4 2 4 4 4

◮ Feasible schedule: each packet is sent before the next one is

released.

slide-71
SLIDE 71

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 4 4 2 4 4 4 2 2 4

t=0

4

◮ Feasible schedule: each packet is sent before the next one is

released.

slide-72
SLIDE 72

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 4 4 4 4 2 2 2 4 4 4

t=1 ◮ Feasible schedule: each packet is sent before the next one is

released.

slide-73
SLIDE 73

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 4 4 4 4 2 2 2 4 4 4

t=1 ◮ Feasible schedule: each packet is sent before the next one is

released.

slide-74
SLIDE 74

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 4 4 2 2 4 4 4 2 4 2 2 4

t=2 ◮ Feasible schedule: each packet is sent before the next one is

released.

slide-75
SLIDE 75

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 4 4 2 2 4 4 4 2 4 2 2 4

t=2 ◮ Feasible schedule: each packet is sent before the next one is

released.

slide-76
SLIDE 76

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 4 4 2 4 4 2 4 2 4 2 2 4

t=3 ◮ Feasible schedule: each packet is sent before the next one is

released.

slide-77
SLIDE 77

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 4 4 2 4 4 2 4 2 4 2 2 4

t=3 ◮ Feasible schedule: each packet is sent before the next one is

released.

slide-78
SLIDE 78

Periodic message routing

◮ Each message (here: packet) is released periodically.

2 4 4 4 2 4 4 2 2 2 4 2 4 4 2 4 2 4 4 4

t=4 ◮ Feasible schedule: each packet is sent before the next one is

released.

slide-79
SLIDE 79

Color algorithm

◮ Send packets according to the color algorithm:

  • 1. Order the paths by increasing periods;
  • 2. Color a path P with period p with a color class

[cP] ∈ {[0 mod p], [1 mod p], . . . , [(p − 1) mod p]} such that [cP] ∩ [cP′] = ∅ if P and P′ overlap.

  • 3. Color the edges ek of {e0, e1, . . . , en} with time-dependent

color (k + t) mod pmax for t = 0, . . . ;

  • 4. Send packet P along ek at time step t if ek + t ∈ [cP];
slide-80
SLIDE 80

Color algorithm

◮ Send packets according to the color algorithm:

  • 1. Order the paths by increasing periods;
  • 2. Color a path P with period p with a color class

[cP] ∈ {[0 mod p], [1 mod p], . . . , [(p − 1) mod p]} such that [cP] ∩ [cP′] = ∅ if P and P′ overlap.

  • 3. Color the edges ek of {e0, e1, . . . , en} with time-dependent

color (k + t) mod pmax for t = 0, . . . ;

  • 4. Send packet P along ek at time step t if ek + t ∈ [cP];

◮ Theorem: Feasible schedule if all periods are powers of 2.

slide-81
SLIDE 81

Color algorithm

◮ Send packets according to the color algorithm:

  • 1. Order the paths by increasing periods;
  • 2. Color a path P with period p with a color class

[cP] ∈ {[0 mod p], [1 mod p], . . . , [(p − 1) mod p]} such that [cP] ∩ [cP′] = ∅ if P and P′ overlap.

  • 3. Color the edges ek of {e0, e1, . . . , en} with time-dependent

color (k + t) mod pmax for t = 0, . . . ;

  • 4. Send packet P along ek at time step t if ek + t ∈ [cP];

◮ Theorem: Feasible schedule if all periods are powers of 2. ◮ Thus, for general periods feasible if utilities

u(e) :=

  • i:e∈Pi

1 pi ≤ 1 2 ∀e ∈ E.

slide-82
SLIDE 82

Further Research

Solve all the open questions!