350 likes | 389 Views
Discover how to solve multicast problems efficiently by using matrix completion in network coding. Our contribution offers deterministic algorithms and derandomization methods for optimal runtime. Learn about simultaneous matrix completion and the computation of mixed matrices in this groundbreaking research.
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