360 likes | 501 Views
Deterministic Network Coding by Matrix Completion. Nick Harvey David Karger Kazuo Murota. bottleneck edge. Network Coding Example. s. t. b 1. b 2. Nodes s and t want to swap bits b 1 and b 2 No disjoint paths from s t and ts. b 1 ⊕ b 2. b 1 ⊕ b 2. b 1 ⊕ b 2.
E N D
DeterministicNetwork Codingby Matrix Completion Nick HarveyDavid KargerKazuo Murota
bottleneck edge Network Coding Example s t b1 b2 • Nodes s and t want to swap bits b1 and b2 • No disjoint paths from st and ts
b1⊕b2 b1⊕b2 b1⊕b2 Network Coding Example b1 b2 s t • 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 m2 mr m1 … Source: Sinks:
Linear Network Codes • Treat alphabet as finite field • Node outputs linearcombinations 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 alg • Our algebraic technique more general
Characterizing Multicast Solutions • Sink receives linear comb of source msgs • Linear combs have full rank can decode! Def [KM]: Transfer matrixMtfor 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 0 Nt := I-F Bt • 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 Completion Def: 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 )
Mixed Matrices • Let A = Q + T be a mixed matrix where • Q contains only numbers • T contains only variables (or zeros) • A is equivalent to • Numbers and variables in disjoint rows a layered mixed matrix (LM-matrix) (i.e. rank A = rank à - n) I Q à := diag(z1,…,zn) I T
Computing rank of LM-matrices Thm [M93]: rank à = maxcolsJT,JB |JTJB| 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 variablenon-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 1 1 1 1 Ã = z1 z2 x1 x2 z3 x3
Computing rank by matroid union 1 1 1 MT 1 1 1 1 z1 MB z2 x1 x2 z3 x3
Computing rank by matroid union JT 1 1 1 MT 1 1 1 1 z1 MB z2 x1 x2 z3 x3 JB
Independent Matching Approach CT 1 1 1 MT 1 1 1 1 RT CB z1 MB z2 x1 x2 z3 x3
Independent Matching Approach CT 1 1 1 MT 1 1 1 1 RT CB z1 MB z2 x1 x2 z3 x3
Independent Matching Approach CT Cols must be indep. JT 1 1 1 MT 1 1 1 1 RT CB Non-zeroswhere edgesbend JB z1 MB z2 x1 x2 z3 x3
Computing Rank of à • Compute max indep matching, JT and JB • rank à =|JT| + |JB| • Time to find max indep matching • O(n3 log n): Cunningham 1986 • O(n2.62): Gabow-Xu 1996
Better Completion Algorithm • Idea: Use structure of matching to helpfind completion • Let XMXbe variables used by JB BetterCompletion • Given A, compute LM-matrix à • Compute max indep matching M for à …
XM x1 x1 x3 x3 Better Completion Algorithm • Idea: Use structure of matching to helpfind completion • Let XMXbe variables used by JB • Lemma: Setting xX \XM to 0does not affect rank z1 z2 x2 x1 z3 x3
Better Completion Algorithm • Variables in XMare more tricky BetterCompletion • Given A, compute LM-matrix à • Compute max indep matching M for à • Foreach xX \XM, set x := 0 …
XM Handling XM • Example • Assign x1 the value v 1 1 1 1 1 1 1 CB z1 x1 z2 x1 x1 x3 z3 x3 x3
XM Handling XM • Example • Assign x1 the value v • x1 and its edge disappear • v appears in top matrix Because A = Q + T and 1 1 1 v 1 1 1 1 CB I Q z1 Ã = diag(z1,…,zn) T z2 x3 z3 x3 x3
JT XM Handling XM • 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 1 1 1 v 1 1 1 1 CB z1 z2 x3 z3 x3 x3
x1 Handling XM c4 c2 Swapping Lemma v s.t.JT + c2 – c4 andJB – c1 + c3 are indep 1 1 1 1 1 1 1 z2 c3 c1
v Handling XM c4 c2 Swapping Lemma v s.t.JT + c2 – c4 andJB – c1 + c3 are indep 1 1 1 1 1 1 1 z2 c3 c1
v Handling XM c4 c2 Thm:The value v can be found in O(n2) time Proof: Maintain Gauss-Jordan pivoted copies of Q. Finding v now trivial. 1 1 1 1 1 1 1 z2 c3 c1
Better Completion Algorithm BetterCompletion Given A, compute LM-matrix à Compute max indep matching M for à Foreach xX \XM, set x := 0 Foreach x XM, Use swapping lemma and pivoted forms to find a good value v 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