1 / 35

Deterministic Network Coding by Matrix Completion

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 ts. b 1 ⊕ b 2. b 1 ⊕ b 2. b 1 ⊕ b 2.

gzifa
Download Presentation

Deterministic Network Coding by Matrix Completion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DeterministicNetwork Codingby Matrix Completion Nick HarveyDavid KargerKazuo Murota

  2. bottleneck edge Network Coding Example s t b1 b2 • Nodes s and t want to swap bits b1 and b2 • No disjoint paths from st and ts

  3. 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

  4. 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:

  5. 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

  6. 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

  7. 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.

  8. 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

  9. 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.

  10. 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

  11. 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 )

  12. 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

  13. Computing rank of LM-matrices Thm [M93]: rank à = maxcolsJT,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 Ã

  14. Matrix Completion • Use black-box rank alg to find completion Lemma: Let P(x1,…,xt) be a multivariatepolynomial with all exponents  d.If qd then P(x1,…,xt)  0 has a solution in Fq. Proof: Similar to Schwartz-Zippel.

  15. 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

  16. 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

  17. Computing rank by matroid union 1 1 1 1 1 1 1 Ã = z1 z2 x1 x2 z3 x3

  18. Computing rank by matroid union 1 1 1 MT 1 1 1 1 z1 MB z2 x1 x2 z3 x3

  19. Computing rank by matroid union JT 1 1 1 MT 1 1 1 1 z1 MB z2 x1 x2 z3 x3 JB

  20. Independent Matching Approach CT 1 1 1 MT 1 1 1 1 RT CB z1 MB z2 x1 x2 z3 x3

  21. Independent Matching Approach CT 1 1 1 MT 1 1 1 1 RT CB z1 MB z2 x1 x2 z3 x3

  22. 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

  23. 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

  24. Better Completion Algorithm • Idea: Use structure of matching to helpfind completion • Let XMXbe variables used by JB BetterCompletion • Given A, compute LM-matrix à • Compute max indep matching M for à …

  25. XM x1 x1 x3 x3 Better Completion Algorithm • Idea: Use structure of matching to helpfind completion • Let XMXbe variables used by JB • Lemma: Setting xX \XM to 0does not affect rank z1 z2 x2 x1 z3 x3

  26. Better Completion Algorithm • Variables in XMare more tricky BetterCompletion • Given A, compute LM-matrix à • Compute max indep matching M for à • Foreach xX \XM, set x := 0 …

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. Better Completion Algorithm BetterCompletion Given A, compute LM-matrix à Compute max indep matching M for à Foreach xX \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)

  34. 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.

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

More Related