Deterministic Network Coding by Matrix Completion Nick Harvey David Karger Kazuo Murota.

Post on 21-Dec-2015

214 views 0 download

Transcript of Deterministic Network Coding by Matrix Completion Nick Harvey David Karger Kazuo Murota.

DeterministicNetwork Coding

by Matrix Completion

Nick HarveyDavid KargerKazuo Murota

s tb1 b2

Nodes s and t want to swap bits b1 and b2

No disjoint paths from st and ts

bottleneck edge

Network Coding Example

b1⊕b2

b1⊕b2b1⊕b2

Network Coding Example

s tb1 b2

Key idea: allow nodes to encode data Send xor b1⊕b2 on bottleneck edge Nodes s and t can decode desired bit

Multicast in DAGs 1 source, k sinks Source has r messages in

alphabet Each sink wants all msgs Network code: function

node inputs outputs

Thm [ACLY’00]: Network coding solution exists iff connectivity r to each sink

m1 m2 mr…

Source:

Sinks:

Linear Network Codes Treat alphabet as finite field Node outputs linear

combinations of inputs

Thm [LYC’03]: Linear codes sufficient for multicast in DAGs

Thm [HKMK’03]: Random linear codes work

A B

A+B A+B

Our Contribution (Network Coding)

Deterministic algorithm for multicast problems

Derandomization of [HKMK] algorithm Runtime: Õ( |#sinks| * |#edges|3 )

Related Work:Jaggi et al: deterministic algOur algebraic technique more general

Characterizing Multicast Solutions

Sink receives linear comb of source msgs Linear combs have full rank can decode!

Def [KM]: Transfer matrix Mt for sink t

Thm [KM]: Network coding solution exists iffdet Mt 0, for all sinks t.

Expanded Transfer Matrices

Def: Expanded transfer matrix (for sink t)

A 0I-F Bt

Nt :=

Each entry is a number or a variable.

Lemma: det Mt = det Nt

Goal: substitute values into expanded transfer matrices s.t. they have full rank

A matrix completion problem

Matrix CompletionDef: A completion is an assignment of

values to the variables that maximizes the rank.

Thm [L79]: Choosing random values in Fn gives a completion with prob > 1/2.

Used in RNC bipartite matching

Thm [G99]: Completion in Fn can be founddeterministically in O(n9) time.

Simultaneous Completion Does Geelen solve our problem? No. We have set of mixed matrices N := {N1, …, Nk}

Each variable appears at most once per matrix A variable can appear in several matrices

Def: A simultaneous completion for N is an assignment of values to the variables that preserves the rank of all matrices

Hard part: matrices overlap, not identical Randomized algorithm still works

Our Contribution (Matrix Completion)

Let N := {N1, …, Nk} be a set of mixed matrices of size n x n

Let X be the variables in N

Thm: A simultaneous completion for N can be found deterministically over Fk+1 in time

O( |N| (n3 log n + |X| n2) )For a single matrix, the time is O( n3 log n )

Let A = Q + T be a mixed matrix whereQ contains only numbersT contains only variables (or zeros)

A is equivalent to

Numbers and variables in disjoint rows a layered mixed matrix (LM-matrix)

Mixed Matrices

I QÃ :=

(i.e. rank A = rank à - n)

I T

diag(z1,…,zn)

Computing rank of LM-matrices

Thm [M93]: rank à =

maxcols JT,JB |JT JB|

s.t. in top rows, columns JT are indep

in bottom rows, columns JB are indep

Find JT and JB by matroid union algorithm efficient alg to compute rank Ã

Matrix Completion Use black-box rank alg to find completion

Lemma: Let P(x1,…,xt) be a multivariatepolynomial with all exponents d.If qd then P(x1,…,xt) 0 has a solution in Fq.

Proof: Similar to Schwartz-Zippel.

Simple Completion Algorithm Let A be a mixed matrix Let X be the variables in A det(A) linear in each variable

non-root exists over F2

SimpleCompletion foreach x X

set x := 0 compute rank of A if rank has decreased, set x := 1

Sharing work in computing rank When fill in one value, matrix doesn’t

change much So, reuse info from previous round to

quickly update rank computation for next matrix entry

Computing rank by matroid union

1

1

1

z1

z2

z3

1 1

1

1

x1 x2

x3

à =

Computing rank by matroid union

1

1

1

z1

z2

z3

1 1

1

1

x1 x2

x3

MT

MB

Computing rank by matroid union

1

1

1

z1

z2

z3

1 1

1

1

x1 x2

x3

MT

MB

JT

JB

Independent Matching Approach

z1

z2

z3

x1 x2

x3

MT

MB

CT

CB

RT

1

1

1

1 1

1

1

Independent Matching Approach

z1

z2

z3

x1 x2

x3

MT

MB

RT

1

1

1

1 1

1

1

CT

CB

Independent Matching Approach

z1

z2

z3

x1 x2

x3

MT

MB

CT

CB

RT

1

1

1

1 1

1

1

JT

JB

Cols must be indep.

Non-zeroswhere edgesbend

Computing Rank of à Compute max indep matching, JT and JB

rank à = |JT| + |JB|

Time to find max indep matchingO(n3 log n): Cunningham 1986O(n2.62): Gabow-Xu 1996

Better Completion Algorithm

Idea: Use structure of matching to helpfind completion

Let XM X be variables used by JB

BetterCompletion Given A, compute LM-matrix à Compute max indep matching M for Ã

Idea: Use structure of matching to helpfind completion

Let XM X be variables used by JB

Lemma: Setting x X \ XM to 0does not affect rank

Better Completion Algorithm

z1

z2

z3

x2x1

x3

x1

x3

x1

x3

XM

Better Completion Algorithm

BetterCompletion Given A, compute LM-matrix à Compute max indep matching M for à Foreach x X \ XM, set x := 0

Variables in XM are more tricky

Handling XM

z1

z2

z3

x1

x3

1

1

1

1 1

1

1

Example• Assign x1 the value v

x1

x3

x1

x3

XM

CB

Handling XM

z1

z2

z3 x3

1

1

1

1 1

1

1

x3x3

XM

v

Example• Assign x1 the value v• x1 and its edge disappear• v appears in top matrix

Because A = Q + T andCB

I Qdiag(z1,…,zn) T

à =

Handling XM

z1

z2

z3 x3

1

1

1

1 1

1

1

x3x3

XM

v

Example• Must update M• All vertices in CB must have a matching edge

• Must add this col to JT

• Must swap a col from JT and add it to JB

CB

JT

Handling XM

Swapping Lemmav s.t.JT + c2 – c4 andJB – c1 + c3 are indep

z2

1

1

1

1 1

1

1

x1

c1

c2

c3

c4

Handling XM

Swapping Lemmav s.t.JT + c2 – c4 andJB – c1 + c3 are indep

z2

1

1

1

1 1

1

1

v

c1

c2

c3

c4

Handling XM

Thm: The value v can be found in O(n2) time

Proof: Maintain Gauss-Jordan pivoted copies of Q. Finding v now trivial.

z2

1

1

1

1 1

1

1

v

c1

c2

c3

c4

Better Completion Algorithm

BetterCompletion

1) Given A, compute LM-matrix Ã

2) Compute max indep matching M for Ã

3) Foreach x X \ XM, set x := 0

4) Foreach x XM,

5) Use swapping lemma and pivoted forms to find a good value v

6) Set x := v

Time required: O(n3 log n)

Simultaneous Matrix Completion

Let N := {N1, …, Nk} be a set of mixed matrices

A simultaneous completion for N is an assignment of values to the variables that preserves the rank of all matrices

Thm: BetterCompletion alg can be extended to find simultaneous completion for N over Fk+1

Pf Sketch: Run simultaneously on all Ni. Choose values v that are good for all Ni.

Summary Network coding model for sending data Deterministic alg for multicast New deterministic alg for matrix completion