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
Top Related