Upload
anis-hudson
View
215
Download
0
Embed Size (px)
Citation preview
Solving Network Coding Problems with Genetic Algorithmic Methods
Anthony Kim
Advisers: Muriel Medard and
Una-May O’Reilly
What is network coding?• Method to increase the throughput of information flow
through networks by means of coding at intermediate nodes.
The “butterfly” network
A
A
B
B
A
A
B
B
A
A
B
B
Routing gives rates of 1/2 at each sink
What is network coding?• Method to increase the throughput of information flow
through networks by means of coding at intermediate nodes.
The “butterfly” network
A
A
B
B
A
A
B
B
Network coding gives rates of 1
A
A
A+B
A+B
A+B
B
B
Problem Description• Given:
– Acyclic graph G– Input processes & output processes– Connections between processes with desired rates
• Goal:– Determine whether or not all the connections are possible to
satisfy, with network coding if necessary.
z_2
y_1
z_1
y_2Ex.
• Input processes: y_1, y_2• Output processes: z_1, z_2• Connections: {y_1, z_2, rate of 1}, {y_2,
z_1, rate of 1}
Questions to ask
• Given a graph G with a set of desired connections, can we determine the feasibility of the problem?
• If the problem is feasible, can we find a network coding solution in a reasonable amount of time?
• If the problem is infeasible, can we relax constraints or introduce slight modification to the graph so that the problem now is feasible?
Project• Network coding problems can be reformulated in terms of
multivariate polynomials– Two sets of polynomials, P and Q– Goal: find, if possible, a solution over a finite field such that
polynomials in P evaluate to 0 and ones in Q evaluate to nonzero.
– In general, it is still a hard problem.• Use genetic algorithms to solve the algebraic problem
An example (extended)• Step 1: Compute the line graph
z1,z2
y1
z3, z4
y2 y3 y4
21
4
3
8
65
9
7
Graph G
Connections wanted:
y1 ->z1, y2 ->z2,
y3->z3, y4->z4
An example (extended)• Step 1: Compute the line graph
z1,z2
y1
z3, z4
y2 y3 y4
21
4
3
8
65
9
7
1
2
5
3
6
4 7
8
9
x1
x2
x3
x4
x5
x6
x7
x8x9
x10
Graph G Line graph of G
An example (extended)• Step 2: Compute matrices A, F, B and the transfer matrix M
from the line graph
An example (extended)• Step 2: Compute matrices A, F, B and the transfer matrix M
from the line graph
An example (extended)• Step 2: Compute matrices A, F, B and the transfer matrix M
from the line graph
An example (extended)• Step 3: Using the theorem, find polynomials in P and Q
y1
y4
y2y3
z1 z4z2 z3
An example (extended)• Step 3: Using the theorem, find polynomials in P and Q
y1
y4
y2y3
z1 z4z2 z3
Submatrices in rectangle have to be nonsingular for decodability, i.e. the determinants have to be nonzero.
An example (extended)• Step 3: Using the theorem, find polynomials in P and Q
y1
y4
y2y3
z1 z4z2 z3
Submatrices in rectangle have to be zero matrices for the zero interference condition.
An example (extended)• Step 4: Solve the polynomial equations (P,Q). This is the hard part.
Find a finite field F and values of x_i’s such that polynomials in Q evaluate to nonzero value in F and polynomials in P evaluate to zero in F.
An example (extended)• Step 4: Solve the polynomial equations (P,Q). This is the hard part.
It happens that this network coding problem is infeasible. There are conflicting variables that you can show by cases are not solvable. (For example, last four polynomials in P and 2 polynomials in Q.)
• Polynomial equations are solvable by Groebner basis algorithms after reformulating the polynomial equations in terms of algebraic variety. ( Implementation available in Matlab, Maple, Mathematica, etc.)
• Computation can be doubly exponential in the problem size
• Experiments seems to show that Groebner basis algorithms can take a long time even on polynomials derived from network coding problems.
Groebner Basis
Maybe genetic algorithmic methods can help!
Current Progress
• Reasonably good understanding of where the polynomials come from and how they correspond to certain structures of the given graph
• A few graphs with their corresponding polynomials
References