1
Network Coding and its Applications in Communication
Networks
Alex Sprintson
Computer Engineering GroupDepartment of Electrical and
Computer EngineeringTexas A&M University
NP-hardness result
Lemma (Rasala et. al. 2003). Deciding whether there exists a linear network code with alphabet size q for a multicast network coding instance is NP-hard when q is a prime power.
NP-hardness result
Proof: Reduction from the chromatic number problem
s
s1 s2 s3 s4
T3T1T4 T5T2
S1
S2 S3
S4
qmin= least prime power > X(G)-1
y
x+1*y
yx y
x+y S1
S2
S4
S3
x+0*y
Cyclic networks
In certain settings, cycles are necessary
s s
t1 t2
Acyclic Network Networks with Cycles
t1 t2
s
t1 t2
Quiz
Given a network (G,s,T) with minimum cut h, is it possible to transmit h packets to all T terminals if each link can only transmit one packet?
Always yes, if the network is acyclics
a b
a
a
b
aÅb
t1 t2
Quiz
Sometimes, if the network has cycles
t1 t2
a
a
a
b
b
b
t1 t2
a b
a
a b
ba
aÅb
aÅb
aÅbaÅb
Quiz
These networks are not really cyclic:
t1 t2
s
a b
a
a b
ba
aÅb
aÅb
aÅbaÅb
v
t1 t2
s
a b
a
a b
ba
aÅb
aÅb
aÅb
aÅb
v
Quiz
A example of a “truly” cyclic network We prove: it is impossible to send two
packets in one round to all destinations
t1 t2
s
a b
a
a b
bx y
x
xy
y
Proof: By way of contradiction
Quiz
Let e be the first link of the cycle v1->v2->v3->v4->v1 that transmits a packet.
Case study. If e=(v1,v2) then t1 gets no information about b
t1 t2
s
a b
a
a b
bx y
x
xy
y
v1
v2
v3
v4
Solution
We have shown that it is not possible to send two packets in one round to both terminals
However, it is possible to send 2n packets in n+1 rounds
Asymptotically, the rate is two packets per round
Use convolution codes
Convolution Codes
Idea: mix messages from different rounds
t1 t2
s
a b
a
a b
bx y
x
xy
xi=aiÅyi-1=aiÅbi-1Åxi-2=aiÅbi-1Åai-2Åyi-3=aiÅbi-1Åai-2Åbi-3 . . . Åa2Åb1
yi=biÅxi-1=biÅai-1Åyi-2=biÅai-1Åbi-2Åxi-3=biÅai-1Åbi-2Åai-3 . . . Åb2Åa1
Å
otherwise
1 if
1
1
ii
i ya
iax
Å
otherwise
1 if
1
1
ii
i xb
iby
Convolution Codes
Recovery at terminal t1
t1
x
a
Å
otherwise
1 if
1
1
ii
i ya
iax
a1
ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ
otherwise...
even is if...
123321
1234321
abababa
ibabababax
iiii
iiii
i
1 2 3 4
a2
b1
a3 a4
b2 b3
5
a5
b4
13
Algebraic framework
t1 t2 t3 t4 t5 t6
z1 z2 z3 z4
s x2x1
=
z1
z2
z3
z4
a11 a12
a22a21
a31 a32x2x1
a41 a42
Ax=z
Observation: Any two rows of matrix A must be linearly independent
aij,xi,ziGF(2n)
14
Algebraic framework (cont.)
A4x=z
Observation: Matrices A1, A2,…,Ak must be of full rank (invertible)
t3
=
z1
z2
z3
a11a21a31
x2
x1
G
s
t1
t2t4
t5
z82
z64
z54
a12a22a32
a13a23a33
x3
y11
y12y21
y22
y23
z31y41
z42 y43
y44
y51
y52
y61
y62 y71
z73
z74
y75
y81z82
z83z84
z91
y24
y11=b1x3+b2y24
y4 y1y2
x2 x3x1
- the collection of () packets generated at node
- Packets transmitted on link e
- Packets received by the destination node
15
Notation
All operations in the network are linear
Y(e)
16
Intermediate source
All operations in the network are linear
Y(e1) Y(e2)
Y(e3)
X(v,l)
At the intermediate nodes
17
Receiver node
Y(e1) Y(e2)
Z(e3)
18
Example 1
Example 2
Transfer matrix
2,1,
2,1,
55
44
00
00
00
ee
ee
B
Transfer matrix
Observation: The information propagates throughout networks on paths with different length.
Length of the path - the number of hops between the source and the tail of the edge.
For example, for edge e5 there are two paths - one through path (e2,e5) and one through path (e1,e3,e5)
Transfer matrix
Let be the vector of packets transmitted over all links
Let be the contribution (gain) of paths on length i:
Note that
0i ,,,,,54321
ie
ie
ie
ie
ie
i YYYYYY
54321
,,,, eeeee YYYYYY
...210 YYYY
Transfer matrix
00010
00001 ,,,, 21
00000
0
54321
XXYYYYY
AXY
eeeee
Contribution of paths of length zero:
Contribution of paths of length one
00000
00000
0000
0000
000
00010
00001
00000
00000
0000
0000
000
,,,,,,,,
53
52
4131
53
52
4131
5432154321
21
0000011111
01
ee
ee
eeee
ee
ee
eeee
eeeeeeeeee
XX
YYYYYYYYYY
FAXFYY
Contribution of paths of length two
00000
00000
00000
00000
0000
00010
00001
00000
00000
0000
0000
000
,,,,,,,,
5331
53
52
4131
5432154321
21
1111122222
220112
eeee
ee
ee
eeee
eeeeeeeeee
XX
YYYYYYYYYY
FAXFYYFYY
Transfer matrix
00010
00001 ,,,, 21
00000
54321
XXYYYYY eeeee
00000
00000
0000
0000
000
00010
00001 ,,,,
53
52
4131
54321 2111111
ee
ee
eeee
eeeee XXYYYYY
00000
00000
00000
00000
0000
00010
00001 ,,,,
5331
54321 2122222
eeee
eeeee XXYYYYY
Transfer matrix
10
01
00
00
00
00000
00000
00000
00000
0000
00000
00000
0000
0000
000
10000
01000
00100
00010
00001
00010
00001
,,,,
5331
53
52
4131
5431
21
2
eeee
ee
ee
eeee
eeeee
XX
YYYYY
Transfer matrix
10
01
00
00
00
,,,,5432121 eeeee YYYYYZZ
10
01
00
00
00
00000
00000
00000
00000
0000
00000
00000
0000
0000
000
10000
01000
00100
00010
00001
00010
00001
5331
53
52
4131
21
21
eeee
ee
ee
eeee
XX
ZZ
Transfer matrix
10
01
00
00
00
10000
01000
0100
0010
01
00010
00001
53
52
53314131
2121 ee
ee
eeeeeeee
XXZZ
2121 0
52
533141 ZZXXee
eeeeee
TBFFIAM ...)( 2
Transfer matrix
Transfer matrix
10
01
00
00
00
10000
01000
0100
0010
01
00010
00001
53
52
53314131
2121 ee
ee
eeeeeeee
XXZZ
0
52
533141
2121
ee
eeeeeeXXZZ
TBFFIAM ...)( 2
Linear network system
34
Example 3
Point-to-point connections
35
Example 3
36
Point-to-Point connections
Define matrices A, B, and M
37
Point-to-Point connections
Idea: Choose parameters in an extension field such that the determinant of
is nonzero over
Then, we can set A to be the identity matrix and B so that M is the identity matrix
38
Critical property
The equation
Admits a choice of variables over so that the polynomial does not evaluate to zero!!
39
Point-to-Point connections
A possible solution:Set
And set to be equal zero.
Equivalent to finding three disjoint paths between s and t!
An algebraic max flow min cut condition
[KM01, 02, 03]
41
Recap (from Wikipedia)
( )
42
Polynomial Ring
Let F be a field. The set of all polynomials with coefficients in the field F, together with the addition and the multiplication forms itself a ring, the polynomial ring over F, which is denoted by F[X].