CODES APPLIED TO
CODES APPLIED TO
GRAPHS
GRAPHS
Network
Network
coding
coding
Ángela Barbero
Universidad de Valladolid Universidad Complutense
Redes de
Redes de
transporte
transporte
a muelle d b c z refinería e 3 2 5 2 4 2 4
a muelle d b c z refinería e 3 2 5 2 4 2 4 2 2 1 1 1 0 2 Flujo 2 2 2 2 4 4 2 Flujo máximo
Flujo F en una red de transporte G :
es una asignación para cada arista de modo que
1. 2.
3. Conservación del flujo Valor del flujo
) , ( 0 , i j Fi j ≥ ∀ ) , ( , , C i j Fi j ≤ i j ∀ , ,
∑
∑
= = k z k i i a F F F z a j F F k k j i j i, =∑
, ∀ ≠ ,∑
j i F , ( ji, )Flujo
Una red de comunicaciones
Una red de comunicaciones
v
Una red de comunicaciones
Una red de comunicaciones
v
v
í
í
a sat
a sat
é
é
lite
lite
transmisores satélites receptores 2 1, X X X3 X4, X5, X6 X7 X8[
X1, X8]
[
X2, X7]
[ ]
X4[
X5, X6]
[
X3, X5]
[
X3, X7, X8]
SeaSea G=(V,E)G=(V,E) unun grafografo dirigidodirigido concon fuentefuente s s y y sumiderossumideros (o terminales)
(o terminales) tt11, t, t22....t....trr. . SeaSea hh la tasa de la tasa de informaciinformacióónn de de la
la fuentefuente y y seasea CCijij la la capacidadcapacidad del del canalcanal ((i,ji,j)). . Entonces
Entonces ((C,h,GC,h,G) ) es es admisible admisible (i.e., (i.e., existe existe una una manera
manera de de codificar codificar que que safisface safisface todos todos los los requisitos requisitos para la
para la multidifusimultidifusióón n ((multicastmulticast) en la red) si y ) en la red) si y ssóólo lo si si el
el valor valor del del flujo flujo mmááximo ximo desde desde la la fuente fuente s s a a cada cada uno uno de de los
los sumideros sumideros tti i, , i=1,....r i=1,....r es al es al menos menos hh.. (
( Ahlswede Ahlswede et al.)et al.)
Un
1 3 3 3 2 2 1 1 4
Flujo
1 3 3 3 2 2 1 1 4 (Corte mínimo)
Flujo
1 3 3 3 2 2 1 1 4
Flujo
1 3 3 3 2 2 1 1 4 (Corte mínimo)
Flujo
Redes de
Redes de
transporte
transporte
vs.
vs.
Redes de
Redes de
comunicaci
comunicaci
ó
ó
n
n
digital
digital
A
Redes de
Redes de
transporte
transporte
vs.
vs.
Redes de
Redes de
comunicaci
comunicaci
ó
ó
n
n
digital
digital
A
Redes de
Redes de
transporte
transporte
vs.
vs.
Redes de
Redes de
comunicaci
comunicaci
ó
ó
n
n
digital
digital
A
Redes de
Redes de
transporte
transporte
vs.
vs.
Redes de
Redes de
comunicaci
comunicaci
ó
ó
n
n
digital
digital
a b a a b b a b
1 3 3 3 2 2 1 1 4
Flujo
1 3 3 3 2 2 1 1 4 5 4b b 3 b 5 4b b 3 2 1b b b 3 b 5 4 3b b b 2 1b b 3 2 1b b b
Flujo
Redes de
Redes de
transporte
transporte
vs.
vs.
Redes de
Redes de
comunicaci
comunicaci
ó
ó
n
n
a
a
b
Redes de
Redes de
transporte
transporte
vs.
vs.
Redes de
Redes de
comunicaci
comunicaci
ó
ó
n
n
a a b b a+b a+b a+b
¿
¿
C
C
ó
ó
mo
mo
dise
dise
ñ
ñ
ar
ar
c
c
ó
ó
digos
digos
?
?
Problemas Problemas concon redes redes ccííclicasclicas
Si Si hayhay varias varias opcionesopciones, , ¿¿cucuááll elegirelegir? ?
¿¿Y si en la Y si en la transmisitransmisióónn ocurrenocurren erroreserrores y/o y/o borraduras
borraduras??
¿¿CuCuááll es el es el tamatamaññoo mmíínimonimo del del alfabetoalfabeto??
CuestionesCuestiones de de seguridadseguridad
MultidifusiMultidifusióónn generalgeneral
OptimizaciOptimizacióónn teniendoteniendo en en cuentacuenta los los costescostes
Redes Redes inalinaláámbricasmbricas...
MuchosMuchos muchosmuchos mmááss problemas....problemas....
Problemas
¿
¿
C
C
ó
ó
mo
mo
dise
dise
ñ
ñ
ar
ar
el
el
c
c
ó
ó
digo
digo
?
?
Codificaci
Codificaci
ó
ó
n
n
lineal (Li et al. )
lineal (Li et al. )
Codificaci
Codificaci
ó
ó
n
n
aleatoria
aleatoria
(
(
distribu
distribu
í
í
da
da
)
)
Es
Es asintasintóóticamente ticamente óóptimaptima, , pero pero no no óóptima ptima para para cada
cada red.red. Necesita
Necesita alfabetos alfabetos grandesgrandes Es simple y
Es simple y robusta robusta frente frente a a cambios cambios en la red.en la red.
Codificaci
Codificaci
ó
ó
n
n
determinista
determinista
(
(
centralizada
centralizada
)
)
RequiereRequiere el el conocimientoconocimiento de la de la topologtopologííaa de la redde la red
Es Es óóptimaptima para para cadacada red.red.
¿
¿
C
C
ó
ó
mo
mo
dise
dise
ñ
ñ
ar
ar
el
el
c
c
ó
ó
digo
digo
?
?
Codificaci
Codificaci
ó
ó
n
n
determinista
determinista
Caracterizaciones
Caracterizaciones
algebraicas
algebraicas
(
(
Koetter
Koetter
&
&
Medard
Medard
)
)
Algoritmo
Algoritmo
polinomial
polinomial
para
para
flujo
flujo
de
de
informaci
informaci
ó
ó
n
n
en redes:
en redes:
LIF
LIF
-
-
Algorithm
Algorithm
(Sanders et al.)
(Sanders et al.)
Hay
Hay
otros
otros
algoritmos
algoritmos
para
para
codificaci
codificaci
ó
ó
n
n
determinista
determinista
(
(
Erez
Erez
y
y
Feder
Feder
) con
) con
complejidad
¿
¿
C
C
ó
ó
mo
mo
dise
dise
ñ
ñ
ar
ar
el
el
c
c
ó
ó
digo
digo
?
?
Codificaci
Codificaci
ó
ó
n
n
determinista
determinista
Resultados
Resultados
LIFLIF--AlgorithmAlgorithm (Sanders, Egner & (Sanders, Egner & TolhuizenTolhuizen)) Problema: No
Problema: No funciona funciona si la red tiene si la red tiene ciclos ciclos de de cualquier
cualquier tipotipo))
LIFELIFE--AlgorithmAlgorithm ((BarberoBarbero & Ytrehus)& Ytrehus) Funciona
Funciona con con ciclos ciclos en los en los canales canales ((link link cyclescycles), ), pero pero no
no con con ciclos ciclos en el en el flujo flujo ( ( flow flow cyclescycles).).
LIFELIFE--CYCLECYCLE AlgorithmAlgorithm ((BarberoBarbero & Ytrehus)& Ytrehus) Funciona
Funciona con con ciclos ciclos de de flujo flujo simplessimples..
LIFELIFE--KNOT AlgorithmKNOT Algorithm (Barbero & (Barbero & YtrehusYtrehus) ) Cierra
Cierra el el problema problema al al funcionar funcionar tambien tambien con con ciclos ciclos de de flujo
1.
1. Cada fuente generarCada fuente generará á un sun síímbolo del alfabeto en cada mbolo del alfabeto en cada instante de tiempo. Consideraremos
instante de tiempo. Consideraremos h h fuentes fuentes distintas.
distintas.
2.
2. Cada canal tendrCada canal tendrá á capacidad 1, es decir, en cada capacidad 1, es decir, en cada instante de tiempo se puede transmitir un s
instante de tiempo se puede transmitir un síímbolo del mbolo del alfabeto.
alfabeto.
3.
3. La transmisiLa transmisióón estn está á libre de error, es decir, cada nodo libre de error, es decir, cada nodo recibe a trav
recibe a travéés de cada canal exactamente el ss de cada canal exactamente el síímbolo mbolo que fue enviado en ese canal.
que fue enviado en ese canal.
4.
4. La topologLa topologíía de la red completa es conocida de a de la red completa es conocida de
antemano ya que usaremos algoritmos centralizados.
antemano ya que usaremos algoritmos centralizados.
Hip
Bajo las hip
Bajo las hipóótesis 1 y 2, las condiciones requeridas por tesis 1 y 2, las condiciones requeridas por el teorema de flujo m
el teorema de flujo mááximo se satisfacen si y sximo se satisfacen si y sóólo si lo si existen l
existen lííneas de flujo ( neas de flujo ( flow flow paths paths ) ) ffsi,tj si,tj desde cada desde cada
fuente
fuente ssi i a cada sumidero a cada sumidero ttj j de tal modo que las lde tal modo que las lííneas neas de flujo que terminan en el mismo sumidero son lado
de flujo que terminan en el mismo sumidero son lado- -disjuntos.
disjuntos.
Hip
Algoritmo
Algoritmo
Algoritmo
LIF
LIF
a b b b a a a+b a+b a+b
S1 S2 A B C H D G K E F
Redes
Redes
Redes
con
con
ciclos
ciclos
S1 S2 A B C H D G K E F
H no puede ser visitado hasta que G haya sido visitado
G no puede ser visitado hasta que F haya sido visitado
F no puede ser visitado hasta que H haya sido visitado
Redes
Redes con conciclosciclos: : en en esta esta red, red, una una vez vez que que las las llííneas neas de de flujo flujo han han sido sido trazadas
trazadas, se , se puede puede dar dar un un orden orden topoltopolóógico gico a los a los canales canales que que forman el
forman el ciclociclo..
S1 S2 A B C H D G K E F GH FG p ⇒ HF GH p ⇒ ⇒ FG p GH p HF Link cyclic Flow acyclic
S1 S2 A B C H D G K E F GH FG p ⇒ HF GH p ⇒ ⇒ FG p GH p HF Link cyclic Flow acyclic IDEA:
IDEA: viajar viajar a a travtravéés s de de la red
la red visitando visitando los los lados
lados de de acuerdo acuerdo con con el orden
el orden parcial parcial dado dado por
por las las llííneas neas de de flujoflujo Redes
Redes con conciclosciclos: : en en esta esta red, red, una una vez vez que que las las llííneas neas de de flujo flujo han han sido sido trazadas
trazadas, se , se puede puede dar dar un un orden orden topoltopolóógico gico a los a los canales canales que que forman el
Redes
Redes con conciclosciclos: : en en esta esta red, red, una una vez vez que que las las llííneas neas de de flujo flujo han han sido sido trazadas
trazadas, se , se puede puede dar dar un un orden orden topoltopolóógico gico a los a los canales canales que que forman el
forman el ciclociclo
S1 S2 A B C H D G K E F a b a a a a b b a+b a+b a+b a+b b b b S1 S2 A B C H D G K E F F GH FG p ⇒ HF GH p ⇒ ⇒ FG p GH p HF Link cyclic Flow acyclic a b a a a a b b a+b a+b a+b a+b b b b S1 S2 A B C H D G K E F F
LIFE
s1 s2 A B t2 t1 D C
Redes de
s1 s2 A B t2 t1 D C
Redes de
Redes de
flujo
flujo
c
c
í
í
clico
clico
CD BC AB p p ⇒ AB DA CD p p ⇒ ⇒ AB p AB Link cyclic Flow cyclic
Ideas
Ideas
Distinguir
Distinguir
claramente
claramente
entre
entre
codificaci
codificaci
ó
ó
n
n
global
global
y
y
codificaci
codificaci
ó
ó
n
n
local
local
Tratar
Tratar
el
el
ciclo
ciclo
como
como
un
un
todo
todo
El
El
tiempo
tiempo
cobra
cobra
importancia
importancia
,
,
as
as
í
í
que
que
...
...
IntroducirIntroducir el el conceptoconcepto de de generacigeneracióónn
IntroducirIntroducir la la ideaidea de de retrasoretraso ((delaydelay) y ) y explotarexplotar su uso, su uso,
tanto
tanto comocomo retrasoretraso naturalnatural comocomo artificialartificial..
IntroducirIntroducir la la ideaidea de foto de foto instantinstantááneanea ((snapshotsnapshot))
Principios
Principios
DesecharDesechar ssíímbolosmbolos viejosviejos ((old symbol old symbol removalremoval))
PasarPasar informaciinformacióónn ((pass pass onon informationinformation))
Si el Si el grafografo de de llííneasneas de de flujoflujo es es minimalminimal entoncesentonces todostodos los los coeficientescoeficientes
locales
locales puedenpueden ser ser nono nulosnulos. .
El El ccáálculolculo óóptimoptimo de las de las llííneasneas de de flujoflujo es es unun problema en problema en ssíí..
ModificarModificar la la ideaidea de de rangorango completocompleto ((modifiedmodified full rank invariantfull rank invariant))
LIFE-algorithm
Condiciones
Condiciones
Ciclos
Ciclos
simples
simples
CYCLE-processing = LIFE-CYCLE algorithm
Resultados
Resultados
En En unun grafografo de de flujoflujo G sin G sin nudosnudos, si , si qq es el es el mmááximoximo n
núúmeromero de de llííneasneas de de flujoflujo queque pasanpasan porpor unun canalcanal o o queque intervienen
intervienen en en unun ciclociclo simple, simple, entoncesentonces el el algoritmoalgoritmo LIFE
LIFE--CYCLE CYCLE producirproduciráá unauna codificacicodificacióónn vváálidalida si el si el tama
tamaññoo del del alfabetoalfabeto usadousado es es q q o o mmááss. .
DichoDicho tamatamaññoo es es suficientesuficiente, , peropero nono necesarionecesario para la para la existenciaexistencia
de la
de la codificacicodificacióónn..
En En unun grafografo de de flujoflujo G G sin sin nudosnudos, la , la complejidadcomplejidad del del algoritmo
algoritmo LIFELIFE--CYCLE es CYCLE es polinomialpolinomial en el en el nnúúmeromero de de lados
s1 s2 A B t2 t1 D C a(x-2)+b(x-4) a(x-4)+b(x-2) a(x) a(x) b(x) b(x) a(x-2)+b(x-4) a(x-4)+b(x-2) a(x-3)+b(x-1) a(x-1)+b(x-3)
Redes de
Redes de
flujo
flujo
c
c
í
í
clico
clico
LIFE
A B C D t1 t 2 t3 r1 r2 r4 r3
A B C D t1 t 2 t3 r1 r2 r4 r3 Link cyclic Flow cyclic
Nudos
Nudos
Dos (o
Dos (o
m
m
á
á
s
s
)
)
ciclos
ciclos
que
que
comparten
comparten
uno
uno
(o
(o
m
m
á
á
s
s
lados
lados
forman
forman
un
un
nudo
nudo
r1
r2
r4 r3
Permitir
Permitir
combinaciones
combinaciones
de
de
diferentes
diferentes
generaciones
generaciones
de los mismos
de los mismos
s
s
í
í
mbolos
mbolos
siempre
siempre
que
que
sea
sea
necesario
necesario
LIFE-algorithm
Principios
Principios
para
para
nudos
nudos
DesecharDesechar ssíímbolosmbolos viejos.viejos.-- FFóórmularmula de de MasonMason
PasarPasar informaciinformacióónn
ModificarModificar la forma de la forma de conservarconservar el el rangorango completo.completo.- -Trabajamos
Trabajamos en el en el cuerpocuerpo de de funcionesfunciones racionalesracionales en la en la variable D (
variable D (delaydelay))
Ideas
Ideas
para
para
nudos
nudos
Notación: A B C D t1 t 2 t3 r1 r2 r4 r3 a(x) a(x) a(x) b(x) b(x) b(x) c(x) c(x) c(x) d(x) d(x) d(x) A(x-4)+c(x-2) b(x-2)+D(x-4) a(x-1)+b(x-2)+D(x-4) A(x-4)+c(x-2)+d(x-1) A(x-3)+b(x-1)+D(x-3 ) A(x-3)+c(x-1)+D(x-3) a (x -2 )+ b (x -3 )+ D (x -5 ) A(x-5)+c(x-3)+d(x-2) A(x-2)+b(x-3)+c(x-3)+D(x-2) ∑ = + = ( ) 0 )) ( 3 ( ) ( y k i y l i a y A where ), ( ) ( 3k y l y y = + . 2 ) ( 0≤ yl ≤
Ú
Ú
ltimas
ltimas
observaciones
observaciones
El
El
retardo
retardo
con
con
que
que
cada
cada
s
s
í
í
mbolo
mbolo
llega
llega
a
a
cada
cada
terminal es
terminal es
finito
finito
y
y
coincide
coincide
exactamente
exactamente
con
con
la
la
longitud
longitud
de la
de la
l
l
í
í
nea
nea
de
de
flujo
flujo
que
que
transporta
transporta
ese
ese
s
s
í
í
mbolo
mbolo
desde
desde
la
la
fuente
fuente
que
que
lo
lo
produce
produce
hasta la
hasta la
terminal
terminal
dada
dada
.
.
La
La
memoria
memoria
que
que
cada
cada
nodo
nodo
y/o
y/o
cada
cada
terminal
terminal
necesita
necesita
es
es
siempre
siempre
finita
finita
.
.
La
La
f
f
ó
ó
rmula
rmula
de
de
Mason
Mason
para
para
circuitos
circuitos
es
es
usada
usada
aqu
aqu
í
í
para
para
dise
dise
ñ
ñ
ar
ar
c
c
ó
ó
digos
digos
para redes
para redes
con
con
ciclos
ciclos
.
.
Otros
Otros
algoritmos
algoritmos
para
para
crear
crear
c
c
ó
ó
digos
digos
en redes
en redes
tienen
Otros
Otros
resultados
resultados
Algoritmo
Algoritmo
oportunista
oportunista
para
para
trabajar
trabajar
en
en
un
un
cuerpo
cuerpo
de
de
cardinal
cardinal
tan
tan
peque
peque
ñ
ñ
o
o
como
como
sea
sea
posible
posible
Comienza
Comienza
en el
en el
cuerpo
cuerpo
binario
binario
y
y
s
s
ó
ó
lo
lo
’
’
salta
salta
’
’
a
a
extensiones
extensiones
gradualmente
gradualmente
mayores
mayores
de
de
dicho
dicho
cuerpo
cuerpo
cuando
cuando
no
no
es
es
posible
posible
encontrar
encontrar
el
el
vector
vector
adecuado
adecuado
en el
en el
cuerpo
cuerpo
que
que
se tiene hasta el
se tiene hasta el
momento
momento
Algoritmos
Algoritmos
para
para
calcular
calcular
las
las
l
l
í
í
neas
neas
de
de
flujo
Random
Random
network
network
coding
coding
En redes peque
En redes peque
ñ
ñ
as con topolog
as con topolog
í
í
a
a
completamente conocida la codificaci
completamente conocida la codificaci
ó
ó
n
n
determinista da resultados
determinista da resultados
ó
ó
ptimos o
ptimos o
cercanos a
cercanos a
ó
ó
ptimos.
ptimos.
Pero en redes muy grandes, din
Pero en redes muy grandes, din
á
á
micas, o
micas, o
de cuya topolog
de cuya topolog
í
í
a no se tiene
a no se tiene
conocimiento completo
conocimiento completo
…
…
no se puede
no se puede
aplicar, o no resulta eficiente
Random
Random
network
network
coding
coding
RNC consiste en que cada nodo intermedio
RNC consiste en que cada nodo intermedio
combina los bits que llegan a trav
combina los bits que llegan a trav
é
é
s de sus
s de sus
canales
canales
input
input
usando coeficientes elegidos
usando coeficientes elegidos
aleatoriamente para canal de output
aleatoriamente para canal de output
Si el cuerpo que se usa es suficientemente
Si el cuerpo que se usa es suficientemente
grande la probabilidad de que los nodos
grande la probabilidad de que los nodos
terminales reciban un sistema de ecuaciones
terminales reciban un sistema de ecuaciones
con rango h es suficientemente alta.
con rango h es suficientemente alta.
En cada transmisi
En cada transmisi
ó
ó
n han de enviarse los
n han de enviarse los
coeficientes usados como encabezamiento.
Index
Index
coding
coding
: planteamiento
: planteamiento
del problema
del problema
Cómo satisfacer las demandas de todos los usuarios
con el mínimo número de transmisiones
Index
Index
coding
coding
: planteamiento del
: planteamiento del
problema
problema
Solución trivial:
4 transmisiones, cada una con uno de los paquetes requeridos
Index
Index
coding
coding
: planteamiento del
: planteamiento del
problema
problema
Solución inteligente:
Codificar para reducir el número de transmisiones, aprovechando la información que los usuarios ya tienen.
Index
Index
coding
coding
: relaci
: relaci
ó
ó
n con
n con
network
network
coding
coding
P1 P2 P3 P4
4 3
2 1
Index
Index
coding
coding
: variantes
: variantes
Multiple
Multiple
unicast
unicast
: cada paquete es
: cada paquete es
requerido por un
requerido por un
ú
ú
nico usuario
nico usuario
Multiple
Multiple
multicast/
multicast/
groupcast
groupcast
: Un paquete
: Un paquete
puede ser requerido por varios usuarios
Bibliograf
Bibliograf
í
í
a
a
Barbero
Barbero
& Ytrehus:
& Ytrehus:
Cycle-Logical Treatment
for Cyclopathic Networks
(IEEE Trans. Info.
(IEEE Trans. Info.
Theory
Theory
, June
, June
2006)
2006)
Barbero
Barbero
&
&
Ytrehus
Ytrehus
:
:
Heuristic Algorithms for
Heuristic Algorithms for
Small Field Multicast Encoding
Small Field Multicast Encoding
, Proceedings
, Proceedings
of ITW
of ITW
’
’
06 Chengdu, October 2006
06 Chengdu, October 2006
Barbero
Barbero
&
&
Ytrehus
Ytrehus
:
:
Introduction to network
Introduction to network
coding for acyclic and cyclic networks.
coding for acyclic and cyclic networks.
(Selected topics in information and coding
(Selected topics in information and coding
theory,
theory,
Woungang
Woungang
,
,
Misra
Misra
,
,
Misra
Misra
Eds.
Eds.
Wrold
Wrold
Scientific, 2010)
Scientific, 2010)
Gracias
r1
r2
r4 r3