1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology...

15
1 The Encoding Complexity The Encoding Complexity of Network Coding of Network Coding Michael Langberg Michael Langberg California Institute of Technology California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson Joint work with Jehoshua Bruck and Alex Sprintson

Transcript of 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology...

Page 1: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

1

The Encoding Complexity The Encoding Complexity of Network Codingof Network Coding

Michael LangbergMichael Langberg

California Institute of TechnologyCalifornia Institute of Technology

Joint work with Jehoshua Bruck and Alex SprintsonJoint work with Jehoshua Bruck and Alex Sprintson

Page 2: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

2

Multicast NetworksMulticast Networks

• Directed graph Directed graph G=(V,E)G=(V,E)..

• Source node Source node ss..

• Terminal nodes Terminal nodes T={tT={t11,t,t22,,

…}…}..

• Requirement: transfer Requirement: transfer

information from information from ss to to TT..

s

t2t1

t3

G=(V,E)

Page 3: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

3

Naive approachNaive approach

• Transmit each message on a disjoint

Steiner tree that connects Steiner tree that connects ss and and TT..

• Can transmit m1 and m2 to t1, t2 and t3

..

•Nodes forward messages..

s

t2t1

t3

Page 4: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

4

Network codingNetwork coding

Introduce nodes that perform Introduce nodes that perform encoding:encoding:

Network coding helps!Network coding helps!

mm11

mm22

mm33

FF11(m(m11,m,m22,m,m33))

FF22(m(m11,m,m22,m,m33))

s

t2t1

m1 m2

m1m2

Page 5: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

5

• Network codingNetwork coding [AhlswedeCaiLiYeung00, LiYeungCai03][AhlswedeCaiLiYeung00, LiYeungCai03]::

Multicast Min-Cut condition:

• Can transmit at Can transmit at capacitycapacity using random linear using random linear

combinations on each edge combinations on each edge

[HoKoetterMedardKargerEffros03].[HoKoetterMedardKargerEffros03].

Multicast of h messages from s to T iff Min-Cut between s and each ti is at least h.

h will be called the multicast capacity of G.

““History”History”s

t2t1

m1 m2

m1m2

Page 6: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

6

Forwarding vs. EncodingForwarding vs. Encoding

• Steiner tree packing:Steiner tree packing: all nodes forward packets. all nodes forward packets.

• Network coding:Network coding: allow encoding at specific nodes. allow encoding at specific nodes.

•Expensive to implement, increase delay.Expensive to implement, increase delay.

How many encoding nodes are needed to achieve How many encoding nodes are needed to achieve

capacity?capacity?

mm11

mm22

mm22

mm11

mm22

F(mF(m11,m,m22))

forwardingforwarding encodingencoding

Page 7: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

7

Our Goal Our Goal

• InputInput: Multicast network problem:: Multicast network problem:•Single source, Single source, kk terminals. terminals.

•Capacity = Capacity = hh (Min-Cut condition). (Min-Cut condition).

• Goal: Goal: find a find a “coding scheme”“coding scheme” that achieves that achieves capacity with minimum number of encoding nodes.capacity with minimum number of encoding nodes.

• Coding scheme: assigns a function F to each edge

tying incoming information to outgoing information.

mm11

mm22

F(mF(m11,m,m22))

Page 8: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

8

First ResultFirst Result• ‘‘Simple’ questionSimple’ question: Do we need encoding nodes at all? : Do we need encoding nodes at all?

• ObservationObservation: ‘Simple’ question is NP–Hard : ‘Simple’ question is NP–Hard Comp. minimum number of encoding nodes is NP-hard.Comp. minimum number of encoding nodes is NP-hard.•Reduction from the Reduction from the 2-Edge Disjoint Paths2-Edge Disjoint Paths problem. problem.•Even finding crude (Even finding crude (|V||V|1-1-) approximation is NP-hard!) approximation is NP-hard!

s

t2t1

G

Disjoint paths between Disjoint paths between ss11 to to tt11 and and ss22 to to tt22?? IffIffNo encoding nodes are No encoding nodes are needed to send needed to send 22 messages from messages from ss to to tt11 and and tt22..

s2s1

Page 9: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

9

Our ResultsOur ResultsTurn to study absolute bounds.Turn to study absolute bounds.

• InputInput: Multicast network problem with: Multicast network problem with

•Single source, k terminals.

•Capacity = h (Min-Cut condition).

Can we bound the number of encoding nodes?Can we bound the number of encoding nodes?

•G is acyclic:G is acyclic:

•Upper boundUpper bound = = O(hO(h33kk22)) Independent of Independent of |G||G|!!

•Lower bound = Lower bound = (h(h22k)k) Depends on Depends on h h andand k k..

s

t2t1

m1 m2

m1m2

•G contains cycles: G contains cycles: FESFES Min. feedback Min. feedback edge setedge set

Upper bound = Upper bound = O(FESO(FEShh33kk2+ 2+ hh33kk22)) Lower bound = Lower bound = (FES(FESh)h) may depend on |V|!

Page 10: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

10

Related workRelated work

Bounds on number of encoding nodes have been Bounds on number of encoding nodes have been

considered:considered:

• [FragouliSoljanin04]:[FragouliSoljanin04]:

•Special case in which Special case in which h=2h=2..

•Acyclic: number of encoding nodes Acyclic: number of encoding nodes ≤≤ kk. .

•Techniques do not seem to extend to general h.

• [TavoryFederRon04]:[TavoryFederRon04]:

•Partial results: for Partial results: for h=2h=2, other special cases., other special cases.

•ConjectureConjecture: universal bound depends on : universal bound depends on kk and and hh..

t2t1

s

Page 11: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

11

Upper bound (acyclic Upper bound (acyclic networks)networks)• Theorem:Theorem:

•Multicast of Multicast of h h packets to packets to kk destinations requires at destinations requires at most most O(hO(h33kk22)) encoding nodes. encoding nodes.

• Proof TechniquesProof Techniques::•Constructive: we construct a network coding scheme.Constructive: we construct a network coding scheme.

•Combinatorial: we build upon Combinatorial: we build upon Min-CutMin-Cut condition. condition.

•Analysis: we use tools from theory of network flows.Analysis: we use tools from theory of network flows.

Page 12: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

12

Proof overview: k=2Proof overview: k=2• Input:Input: Multicast network problem with single source, Multicast network problem with single source, k=2k=2

terminals, and capacity = terminals, and capacity = hh (Min-Cut condition). (Min-Cut condition).

• Objective: Objective: Coding scheme with Coding scheme with O(hO(h33)) encoding nodes. encoding nodes.

• Three steps:Three steps:

•Step 1: Reduce maximal degree of input instance.•Construct new instance with max. degree Construct new instance with max. degree 33..

•Step 2: Discard unnecessary edges.

•Step 3: Remaining graph has at most O(h3) nodes of in-

degree > 1 Any coding scheme will suffice.encoding

forwarding

Page 13: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

13

f1 f2

g1 g2 g3

f1 f3

g1 g2 g3

f3

f2

Step 1: degree 3Step 1: degree 3

• Input:Input: Multicast network problem with single Multicast network problem with single

source, source, k=2k=2 terminals, and capacity = terminals, and capacity = hh (Min-Cut (Min-Cut

condition).condition).

• Step 1:Step 1: Reduce maximal degree to Reduce maximal degree to 33..

•Encoding nodes have in-degree >1.

encoding

Page 14: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

16

Step 3Step 3• Graph: Graph: Max degree Max degree 33;; hh edge disjoint paths between edge disjoint paths between ss and and tt11 and and

hh disjoint paths between disjoint paths between ss and and tt22; minimal w.r.t. edge removal.; minimal w.r.t. edge removal.

• Step3: Step3: Prove that number of nodes with in-degree Prove that number of nodes with in-degree > 1> 1 is is O(hO(h33))..

• We show:We show: every pair of paths intersect in at most every pair of paths intersect in at most hh places. places.

• Implies bound of h3.

• Proof technique:Proof technique:

• Define h special paths between t1 and t2.

• No three different paths intersect more than once.

s t1

t2

encoding

Page 15: 1 The Encoding Complexity of Network Coding Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex Sprintson.

17

Future researchFuture research

• Seen:Seen: bounds on # encoding nodes needed at bounds on # encoding nodes needed at

capacity.capacity.

•Close gap between upper and lower bound.

• Other aspects of optimization may be considered:Other aspects of optimization may be considered:

•Cost on edges for reservation of capacity.