Title: Deterministic Network Coding by Matrix Completion
1DeterministicNetwork Codingby Matrix Completion
- Nick HarveyDavid KargerKazuo Murota
2Network 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
3Network 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
4Multicast in DAGs
- 1 source, k sinks
- Source has r messages in alphabet ?
- Each sink wants all msgs
- Network code function node inputs ? outputs
- Thm ACLY00 Network coding solution exists iff
connectivity r to each sink
m1
m2
mr
Source
Sinks
5Linear Network Codes
- Treat alphabet ? as finite field
- Node outputs linearcombinations of inputs
- Thm LYC03 Linear codes sufficient for
multicast in DAGs - Thm HKMK03 Random linear codes work
A
B
?A?B
?A?B
6Our Contribution (Network Coding)
- Deterministic algorithm for multicast problems
- Derandomization of HKMK algorithm
- Runtime Õ( sinks edges3 )
- Related Work
- Jaggi et al deterministic alg
- Our algebraic technique more general
7Characterizing 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.
8Expanded 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
9Matrix 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 gt 1/2. - Used in RNC bipartite matching
- Thm G99 Completion in Fn can be
founddeterministically in O(n9) time.
10Simultaneous 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
11Our 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 Fk1 in time
O( N (n3 log n X n2) )For a single matrix,
the time is O( n3 log n )
12Mixed 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
13Computing 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 Ã
14Matrix 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.
15Simple 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
16Sharing work in computing rank
- When fill in one value, matrix doesnt change
much - So, reuse info from previous round to quickly
update rank computation for next matrix entry
17Computing rank by matroid union
1
1
1
1
1
1
1
Ã
z1
z2
x1
x2
z3
x3
18Computing rank by matroid union
1
1
1
MT
1
1
1
1
z1
MB
z2
x1
x2
z3
x3
19Computing rank by matroid union
JT
1
1
1
MT
1
1
1
1
z1
MB
z2
x1
x2
z3
x3
JB
20Independent Matching Approach
CT
1
1
1
MT
1
1
1
1
RT
CB
z1
MB
z2
x1
x2
z3
x3
21Independent Matching Approach
CT
1
1
1
MT
1
1
1
1
RT
CB
z1
MB
z2
x1
x2
z3
x3
22Independent 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
23Computing 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
24Better Completion Algorithm
- 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
25Better Completion Algorithm
z1
z2
x2
x1
z3
x3
- 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
26Better 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
27Handling XM
- Example
- Assign x1 the value v
1
1
1
1
1
1
1
CB
z1
x1
z2
x1
x1
x3
z3
x3
x3
28Handling 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
29Handling 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
30Handling XM
c2
c4
Swapping Lemma ?v s.t.JT c2 c4 andJB c1
c3 are indep
1
1
1
1
1
1
1
z2
c1
c3
31Handling XM
c2
c4
Swapping Lemma ?v s.t.JT c2 c4 andJB c1
c3 are indep
1
1
1
1
1
1
1
z2
c1
c3
32Handling XM
c2
c4
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
c1
c3
33Better 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)
34Simultaneous 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 Fk1 - Pf Sketch Run simultaneously on all Ni. Choose
values v that are good for all Ni.
35Summary
- Network coding model for sending data
- Deterministic alg for multicast
- New deterministic alg for matrix completion