Upload
truongnga
View
216
Download
0
Embed Size (px)
Citation preview
Mapa
Comprimiendo Grafos de la Web
Gonzalo Navarro
Centro de Investigacion de la WebDepartamento de Ciencias de la Computacion
Universidad de Chile
En colaboracion con los estudiantes Francisco Claude y Rodrigo Gonzalez
G. Navarro Comprimiendo Grafos de la Web
Mapa
Mapa
Motivacion
Conceptos BasicosEntropıaGrafos y CompresionRank, Select, y Autoındices
Propuesta I: Autoindexamiento
Propuesta II: Rank/Select de Sımbolos
Conclusiones
G. Navarro Comprimiendo Grafos de la Web
Mapa
Mapa
Motivacion
Conceptos BasicosEntropıaGrafos y CompresionRank, Select, y Autoındices
Propuesta I: Autoindexamiento
Propuesta II: Rank/Select de Sımbolos
Conclusiones
G. Navarro Comprimiendo Grafos de la Web
Mapa
Mapa
Motivacion
Conceptos BasicosEntropıaGrafos y CompresionRank, Select, y Autoındices
Propuesta I: Autoindexamiento
Propuesta II: Rank/Select de Sımbolos
Conclusiones
G. Navarro Comprimiendo Grafos de la Web
Mapa
Mapa
Motivacion
Conceptos BasicosEntropıaGrafos y CompresionRank, Select, y Autoındices
Propuesta I: Autoindexamiento
Propuesta II: Rank/Select de Sımbolos
Conclusiones
G. Navarro Comprimiendo Grafos de la Web
Mapa
Mapa
Motivacion
Conceptos BasicosEntropıaGrafos y CompresionRank, Select, y Autoındices
Propuesta I: Autoindexamiento
Propuesta II: Rank/Select de Sımbolos
Conclusiones
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Estructuras de Datos Compactas
I Modificadas para ocupar poco espacio.I Y eso no es compresion?
I Deben retener su funcionalidad y acceso directo.I Para que, si la memoria es tan barata?
I Mejora el rendimiento debido a la jerarquıa de memoria.I Cada vez mas populares por motivos tecnologicos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Estructuras de Datos Compactas
I Modificadas para ocupar poco espacio.I Y eso no es compresion?
I Deben retener su funcionalidad y acceso directo.I Para que, si la memoria es tan barata?
I Mejora el rendimiento debido a la jerarquıa de memoria.I Cada vez mas populares por motivos tecnologicos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Estructuras de Datos Compactas
I Modificadas para ocupar poco espacio.I Y eso no es compresion?
I Deben retener su funcionalidad y acceso directo.I Para que, si la memoria es tan barata?
I Mejora el rendimiento debido a la jerarquıa de memoria.I Cada vez mas populares por motivos tecnologicos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Estructuras de Datos Compactas
I Modificadas para ocupar poco espacio.I Y eso no es compresion?
I Deben retener su funcionalidad y acceso directo.I Para que, si la memoria es tan barata?
I Mejora el rendimiento debido a la jerarquıa de memoria.I Cada vez mas populares por motivos tecnologicos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Estructuras de Datos Compactas
I Modificadas para ocupar poco espacio.I Y eso no es compresion?
I Deben retener su funcionalidad y acceso directo.I Para que, si la memoria es tan barata?
I Mejora el rendimiento debido a la jerarquıa de memoria.I Cada vez mas populares por motivos tecnologicos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Estructuras de Datos Compactas
I Modificadas para ocupar poco espacio.I Y eso no es compresion?
I Deben retener su funcionalidad y acceso directo.I Para que, si la memoria es tan barata?
I Mejora el rendimiento debido a la jerarquıa de memoria.I Cada vez mas populares por motivos tecnologicos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Compresion de Grafos
I Util para ejecutar, en memoria principal, algoritmos sobregrafos grandes.
I Algoritmos como que?
I Descubrir comunidades, calcular PageRank, minerıa degrafos, ... (mas ejemplos en la charla de Claudio)
I Consideraremos las operaciones mas basicas:I Obtener los vecinos de un nodo u: v , (u, v) ∈ E .I Obtener los vecinos reversos de un nodo u: v , (v , u) ∈ E .I Calcular el grado interior/exterior de un nodo u.I Verificar la existencia de arista (u, v) in E .
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Compresion de Grafos
I Util para ejecutar, en memoria principal, algoritmos sobregrafos grandes.
I Algoritmos como que?
I Descubrir comunidades, calcular PageRank, minerıa degrafos, ... (mas ejemplos en la charla de Claudio)
I Consideraremos las operaciones mas basicas:I Obtener los vecinos de un nodo u: v , (u, v) ∈ E .I Obtener los vecinos reversos de un nodo u: v , (v , u) ∈ E .I Calcular el grado interior/exterior de un nodo u.I Verificar la existencia de arista (u, v) in E .
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Compresion de Grafos
I Util para ejecutar, en memoria principal, algoritmos sobregrafos grandes.
I Algoritmos como que?
I Descubrir comunidades, calcular PageRank, minerıa degrafos, ... (mas ejemplos en la charla de Claudio)
I Consideraremos las operaciones mas basicas:I Obtener los vecinos de un nodo u: v , (u, v) ∈ E .I Obtener los vecinos reversos de un nodo u: v , (v , u) ∈ E .I Calcular el grado interior/exterior de un nodo u.I Verificar la existencia de arista (u, v) in E .
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Compresion de Grafos
I Util para ejecutar, en memoria principal, algoritmos sobregrafos grandes.
I Algoritmos como que?
I Descubrir comunidades, calcular PageRank, minerıa degrafos, ... (mas ejemplos en la charla de Claudio)
I Consideraremos las operaciones mas basicas:I Obtener los vecinos de un nodo u: v , (u, v) ∈ E .I Obtener los vecinos reversos de un nodo u: v , (v , u) ∈ E .I Calcular el grado interior/exterior de un nodo u.I Verificar la existencia de arista (u, v) in E .
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Compresion de Grafos
I Util para ejecutar, en memoria principal, algoritmos sobregrafos grandes.
I Algoritmos como que?
I Descubrir comunidades, calcular PageRank, minerıa degrafos, ... (mas ejemplos en la charla de Claudio)
I Consideraremos las operaciones mas basicas:I Obtener los vecinos de un nodo u: v , (u, v) ∈ E .I Obtener los vecinos reversos de un nodo u: v , (v , u) ∈ E .I Calcular el grado interior/exterior de un nodo u.I Verificar la existencia de arista (u, v) in E .
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Compresion de Grafos
I Util para ejecutar, en memoria principal, algoritmos sobregrafos grandes.
I Algoritmos como que?
I Descubrir comunidades, calcular PageRank, minerıa degrafos, ... (mas ejemplos en la charla de Claudio)
I Consideraremos las operaciones mas basicas:I Obtener los vecinos de un nodo u: v , (u, v) ∈ E .I Obtener los vecinos reversos de un nodo u: v , (v , u) ∈ E .I Calcular el grado interior/exterior de un nodo u.I Verificar la existencia de arista (u, v) in E .
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Compresion de Grafos
I Util para ejecutar, en memoria principal, algoritmos sobregrafos grandes.
I Algoritmos como que?
I Descubrir comunidades, calcular PageRank, minerıa degrafos, ... (mas ejemplos en la charla de Claudio)
I Consideraremos las operaciones mas basicas:I Obtener los vecinos de un nodo u: v , (u, v) ∈ E .I Obtener los vecinos reversos de un nodo u: v , (v , u) ∈ E .I Calcular el grado interior/exterior de un nodo u.I Verificar la existencia de arista (u, v) in E .
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Motivacion
Compresion de Grafos
I Util para ejecutar, en memoria principal, algoritmos sobregrafos grandes.
I Algoritmos como que?
I Descubrir comunidades, calcular PageRank, minerıa degrafos, ... (mas ejemplos en la charla de Claudio)
I Consideraremos las operaciones mas basicas:I Obtener los vecinos de un nodo u: v , (u, v) ∈ E .I Obtener los vecinos reversos de un nodo u: v , (v , u) ∈ E .I Calcular el grado interior/exterior de un nodo u.I Verificar la existencia de arista (u, v) in E .
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Mapa
Motivacion
Conceptos BasicosEntropıaGrafos y CompresionRank, Select, y Autoındices
Propuesta I: Autoindexamiento
Propuesta II: Rank/Select de Sımbolos
Conclusiones
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Entropıa (Empırica)
I Entropıa binaria: si hay n0 ceros y n1 unos en B(n0 + n1 = n = |B|)
H0(B) =n0
nlog
nn0
+n1
nlog
nn1
I Entropıa de orden cero: si hay na ocurrencias de a en S,
H0(S) =∑a∈Σ
na
nlog
nna
I Cota inferior a cualquier codificacion de Σ que asignesiempre el mismo codigo al mismo sımbolo.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Entropıa (Empırica)
I Entropıa binaria: si hay n0 ceros y n1 unos en B(n0 + n1 = n = |B|)
H0(B) =n0
nlog
nn0
+n1
nlog
nn1
I Entropıa de orden cero: si hay na ocurrencias de a en S,
H0(S) =∑a∈Σ
na
nlog
nna
I Cota inferior a cualquier codificacion de Σ que asignesiempre el mismo codigo al mismo sımbolo.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Entropıa (Empırica)
I Entropıa binaria: si hay n0 ceros y n1 unos en B(n0 + n1 = n = |B|)
H0(B) =n0
nlog
nn0
+n1
nlog
nn1
I Entropıa de orden cero: si hay na ocurrencias de a en S,
H0(S) =∑a∈Σ
na
nlog
nna
I Cota inferior a cualquier codificacion de Σ que asignesiempre el mismo codigo al mismo sımbolo.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Entropıa (Empırica)
I Entropıa de orden k : si SA son los caracteres que siguen alas ocurrencias de A en S,
Hk (S) =1n
∑A∈Σk
|SA|H0(SA)
I Cota inferior a codificaciones que consideran los ksımbolos precedentes.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Entropıa (Empırica)
I Entropıa de orden k : si SA son los caracteres que siguen alas ocurrencias de A en S,
Hk (S) =1n
∑A∈Σk
|SA|H0(SA)
I Cota inferior a codificaciones que consideran los ksımbolos precedentes.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Mapa
Motivacion
Conceptos BasicosEntropıaGrafos y CompresionRank, Select, y Autoındices
Propuesta I: Autoindexamiento
Propuesta II: Rank/Select de Sımbolos
Conclusiones
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Matriz de Incidencia
a
d
e
c
b
d eb ca
a
b
c
d
e
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Matriz de IncidenciaI Con n nodos y e aristas, ocupa n2 bits.I Responde existencia en tiempo O(1).I Encuentra todos los vecinos directos/reversos en O(n).I Calcula grado interior/exterior en O(n).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Matriz de IncidenciaI Con n nodos y e aristas, ocupa n2 bits.I Responde existencia en tiempo O(1).I Encuentra todos los vecinos directos/reversos en O(n).I Calcula grado interior/exterior en O(n).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Matriz de IncidenciaI Con n nodos y e aristas, ocupa n2 bits.I Responde existencia en tiempo O(1).I Encuentra todos los vecinos directos/reversos en O(n).I Calcula grado interior/exterior en O(n).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Matriz de IncidenciaI Con n nodos y e aristas, ocupa n2 bits.I Responde existencia en tiempo O(1).I Encuentra todos los vecinos directos/reversos en O(n).I Calcula grado interior/exterior en O(n).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Lista de Adyacencia
b:
c:
d:
e:
d
d,c,a
d,c
d,c,ba:
a
d
e
c
b
b:
c:
d:
e:
a,b,e
a
ba:
a,b,c,e
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Lista de Adyacencia
I Con n nodos y e aristas, ocupa n log e + e log n bits.I Encuentra cada vecino en tiempo O(1).I Calcula grado exterior en tiempo O(1).I Responde existencia en tiempo O(n).I Necesita otro tanto para los reversos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Lista de Adyacencia
I Con n nodos y e aristas, ocupa n log e + e log n bits.I Encuentra cada vecino en tiempo O(1).I Calcula grado exterior en tiempo O(1).I Responde existencia en tiempo O(n).I Necesita otro tanto para los reversos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Lista de Adyacencia
I Con n nodos y e aristas, ocupa n log e + e log n bits.I Encuentra cada vecino en tiempo O(1).I Calcula grado exterior en tiempo O(1).I Responde existencia en tiempo O(n).I Necesita otro tanto para los reversos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Lista de Adyacencia
I Con n nodos y e aristas, ocupa n log e + e log n bits.I Encuentra cada vecino en tiempo O(1).I Calcula grado exterior en tiempo O(1).I Responde existencia en tiempo O(n).I Necesita otro tanto para los reversos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Lista de Adyacencia
I Con n nodos y e aristas, ocupa n log e + e log n bits.I Encuentra cada vecino en tiempo O(1).I Calcula grado exterior en tiempo O(1).I Responde existencia en tiempo O(n).I Necesita otro tanto para los reversos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Relaciones BinariasI Con tecnicas muy novedosas de estructuras sucintas para
relaciones binarias...I ... se puede conseguir e log(n2/e) (1 + o(1)) bits...I ... y responder todo en tiempo O(log log n).I Obtiene lo mejor de los dos mundos...I ... pero aun no es demasiado bueno para la Web.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Relaciones BinariasI Con tecnicas muy novedosas de estructuras sucintas para
relaciones binarias...I ... se puede conseguir e log(n2/e) (1 + o(1)) bits...I ... y responder todo en tiempo O(log log n).I Obtiene lo mejor de los dos mundos...I ... pero aun no es demasiado bueno para la Web.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Relaciones BinariasI Con tecnicas muy novedosas de estructuras sucintas para
relaciones binarias...I ... se puede conseguir e log(n2/e) (1 + o(1)) bits...I ... y responder todo en tiempo O(log log n).I Obtiene lo mejor de los dos mundos...I ... pero aun no es demasiado bueno para la Web.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Relaciones BinariasI Con tecnicas muy novedosas de estructuras sucintas para
relaciones binarias...I ... se puede conseguir e log(n2/e) (1 + o(1)) bits...I ... y responder todo en tiempo O(log log n).I Obtiene lo mejor de los dos mundos...I ... pero aun no es demasiado bueno para la Web.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Relaciones BinariasI Con tecnicas muy novedosas de estructuras sucintas para
relaciones binarias...I ... se puede conseguir e log(n2/e) (1 + o(1)) bits...I ... y responder todo en tiempo O(log log n).I Obtiene lo mejor de los dos mundos...I ... pero aun no es demasiado bueno para la Web.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Representacion de Grafos
Algunos ejemplos de bpe’s (crawls reales)
Grafo n e Matriz Lista 2 x Lista Rel. BinUK 18.5M 298M 1.15M 25.89 51.78 20.13EU 860K 19M 39K 20.81 41.62 15.25Arabic 23M 640M 827K 25.51 51.02 19.66Indochina 7M 194M 253K 23.73 47.46 17.95
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Grafos Planares y Variantes
I Con n nodos, tienen O(n) aristas.I Distintas tecnicas para comprimirlos a O(n) bits.I Algunas permiten acceso directo.I Hay algunos resultados para tipos especiales de grafos.I Es improbable que tengan algun impacto en grafos Web.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Grafos Planares y Variantes
I Con n nodos, tienen O(n) aristas.I Distintas tecnicas para comprimirlos a O(n) bits.I Algunas permiten acceso directo.I Hay algunos resultados para tipos especiales de grafos.I Es improbable que tengan algun impacto en grafos Web.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Grafos Planares y Variantes
I Con n nodos, tienen O(n) aristas.I Distintas tecnicas para comprimirlos a O(n) bits.I Algunas permiten acceso directo.I Hay algunos resultados para tipos especiales de grafos.I Es improbable que tengan algun impacto en grafos Web.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Grafos Planares y Variantes
I Con n nodos, tienen O(n) aristas.I Distintas tecnicas para comprimirlos a O(n) bits.I Algunas permiten acceso directo.I Hay algunos resultados para tipos especiales de grafos.I Es improbable que tengan algun impacto en grafos Web.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Grafos Planares y Variantes
I Con n nodos, tienen O(n) aristas.I Distintas tecnicas para comprimirlos a O(n) bits.I Algunas permiten acceso directo.I Hay algunos resultados para tipos especiales de grafos.I Es improbable que tengan algun impacto en grafos Web.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Separadores de Grafos
I Mejor exponente: Blandford [PhD Thesis, 2006]I Encontrar zonas que se pueden desconectar cortando
unas pocas aristas.I Renumerar los nodos y comprimirlos separadamente.I Pueden obtener 13–16 bits por arista (bpe) y ser mas
rapidos que la version descomprimida (por efectos decache).
I Para vecinos reversos necesitan el grafo traspuesto.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Separadores de Grafos
I Mejor exponente: Blandford [PhD Thesis, 2006]I Encontrar zonas que se pueden desconectar cortando
unas pocas aristas.I Renumerar los nodos y comprimirlos separadamente.I Pueden obtener 13–16 bits por arista (bpe) y ser mas
rapidos que la version descomprimida (por efectos decache).
I Para vecinos reversos necesitan el grafo traspuesto.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Separadores de Grafos
I Mejor exponente: Blandford [PhD Thesis, 2006]I Encontrar zonas que se pueden desconectar cortando
unas pocas aristas.I Renumerar los nodos y comprimirlos separadamente.I Pueden obtener 13–16 bits por arista (bpe) y ser mas
rapidos que la version descomprimida (por efectos decache).
I Para vecinos reversos necesitan el grafo traspuesto.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Separadores de Grafos
I Mejor exponente: Blandford [PhD Thesis, 2006]I Encontrar zonas que se pueden desconectar cortando
unas pocas aristas.I Renumerar los nodos y comprimirlos separadamente.I Pueden obtener 13–16 bits por arista (bpe) y ser mas
rapidos que la version descomprimida (por efectos decache).
I Para vecinos reversos necesitan el grafo traspuesto.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Separadores de Grafos
I Mejor exponente: Blandford [PhD Thesis, 2006]I Encontrar zonas que se pueden desconectar cortando
unas pocas aristas.I Renumerar los nodos y comprimirlos separadamente.I Pueden obtener 13–16 bits por arista (bpe) y ser mas
rapidos que la version descomprimida (por efectos decache).
I Para vecinos reversos necesitan el grafo traspuesto.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Los Grafos Web son Muy CompresiblesI Distribucion sesgada de grados interior/exterior (power
laws).I Una lista de adyacencia tiene baja entropıa.
I Localidad de referencia: la mayorıa de los links apuntan almismo site.
I Listar los nodos en orden lexicografico de URL.I Usar tecnicas de codificacion de gaps para comprimir las
listas.I Modelo de copia: los links que salen se parecen a los de
alguna otra pagina.I Encontrar una pagina similar y codificar diferencialmente.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Los Grafos Web son Muy CompresiblesI Distribucion sesgada de grados interior/exterior (power
laws).I Una lista de adyacencia tiene baja entropıa.
I Localidad de referencia: la mayorıa de los links apuntan almismo site.
I Listar los nodos en orden lexicografico de URL.I Usar tecnicas de codificacion de gaps para comprimir las
listas.I Modelo de copia: los links que salen se parecen a los de
alguna otra pagina.I Encontrar una pagina similar y codificar diferencialmente.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Los Grafos Web son Muy CompresiblesI Distribucion sesgada de grados interior/exterior (power
laws).I Una lista de adyacencia tiene baja entropıa.
I Localidad de referencia: la mayorıa de los links apuntan almismo site.
I Listar los nodos en orden lexicografico de URL.I Usar tecnicas de codificacion de gaps para comprimir las
listas.I Modelo de copia: los links que salen se parecen a los de
alguna otra pagina.I Encontrar una pagina similar y codificar diferencialmente.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Los Grafos Web son Muy CompresiblesI Distribucion sesgada de grados interior/exterior (power
laws).I Una lista de adyacencia tiene baja entropıa.
I Localidad de referencia: la mayorıa de los links apuntan almismo site.
I Listar los nodos en orden lexicografico de URL.I Usar tecnicas de codificacion de gaps para comprimir las
listas.I Modelo de copia: los links que salen se parecen a los de
alguna otra pagina.I Encontrar una pagina similar y codificar diferencialmente.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Los Grafos Web son Muy CompresiblesI Distribucion sesgada de grados interior/exterior (power
laws).I Una lista de adyacencia tiene baja entropıa.
I Localidad de referencia: la mayorıa de los links apuntan almismo site.
I Listar los nodos en orden lexicografico de URL.I Usar tecnicas de codificacion de gaps para comprimir las
listas.I Modelo de copia: los links que salen se parecen a los de
alguna otra pagina.I Encontrar una pagina similar y codificar diferencialmente.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Los Grafos Web son Muy CompresiblesI Distribucion sesgada de grados interior/exterior (power
laws).I Una lista de adyacencia tiene baja entropıa.
I Localidad de referencia: la mayorıa de los links apuntan almismo site.
I Listar los nodos en orden lexicografico de URL.I Usar tecnicas de codificacion de gaps para comprimir las
listas.I Modelo de copia: los links que salen se parecen a los de
alguna otra pagina.I Encontrar una pagina similar y codificar diferencialmente.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Los Grafos Web son Muy CompresiblesI Distribucion sesgada de grados interior/exterior (power
laws).I Una lista de adyacencia tiene baja entropıa.
I Localidad de referencia: la mayorıa de los links apuntan almismo site.
I Listar los nodos en orden lexicografico de URL.I Usar tecnicas de codificacion de gaps para comprimir las
listas.I Modelo de copia: los links que salen se parecen a los de
alguna otra pagina.I Encontrar una pagina similar y codificar diferencialmente.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Los Grafos Web son Muy CompresiblesI Mejor exponente: Boldi y Vigna [WWW 2006].
I 3 bpe para compresion puraI 6 bpe para recuperar cada vecino directo o reverso dentro
del microsegundoI Esto considera el grafo y su traspuesto
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Los Grafos Web son Muy CompresiblesI Mejor exponente: Boldi y Vigna [WWW 2006].
I 3 bpe para compresion puraI 6 bpe para recuperar cada vecino directo o reverso dentro
del microsegundoI Esto considera el grafo y su traspuesto
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Los Grafos Web son Muy CompresiblesI Mejor exponente: Boldi y Vigna [WWW 2006].
I 3 bpe para compresion puraI 6 bpe para recuperar cada vecino directo o reverso dentro
del microsegundoI Esto considera el grafo y su traspuesto
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Compresion de Grafos
Los Grafos Web son Muy CompresiblesI Mejor exponente: Boldi y Vigna [WWW 2006].
I 3 bpe para compresion puraI 6 bpe para recuperar cada vecino directo o reverso dentro
del microsegundoI Esto considera el grafo y su traspuesto
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Mapa
Motivacion
Conceptos BasicosEntropıaGrafos y CompresionRank, Select, y Autoındices
Propuesta I: Autoindexamiento
Propuesta II: Rank/Select de Sımbolos
Conclusiones
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select Binarios
I Sea B[1, n] un array de bits.I rankb(B, i) = numero de b’s en B[1, i].I selectb(B, i) = posicion del i-esimo b en B.I b = 1 por defecto, rank1(B, i) = i − rank0(B, i).I Ambos se pueden resolver en tiempo constante usando
o(|B|) bits ademas de B.I E incluso con nH0(B) + o(n) bits en total.I Existen implementaciones practicas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select Binarios
I Sea B[1, n] un array de bits.I rankb(B, i) = numero de b’s en B[1, i].I selectb(B, i) = posicion del i-esimo b en B.I b = 1 por defecto, rank1(B, i) = i − rank0(B, i).I Ambos se pueden resolver en tiempo constante usando
o(|B|) bits ademas de B.I E incluso con nH0(B) + o(n) bits en total.I Existen implementaciones practicas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select Binarios
I Sea B[1, n] un array de bits.I rankb(B, i) = numero de b’s en B[1, i].I selectb(B, i) = posicion del i-esimo b en B.I b = 1 por defecto, rank1(B, i) = i − rank0(B, i).I Ambos se pueden resolver en tiempo constante usando
o(|B|) bits ademas de B.I E incluso con nH0(B) + o(n) bits en total.I Existen implementaciones practicas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select Binarios
I Sea B[1, n] un array de bits.I rankb(B, i) = numero de b’s en B[1, i].I selectb(B, i) = posicion del i-esimo b en B.I b = 1 por defecto, rank1(B, i) = i − rank0(B, i).I Ambos se pueden resolver en tiempo constante usando
o(|B|) bits ademas de B.I E incluso con nH0(B) + o(n) bits en total.I Existen implementaciones practicas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select Binarios
I Sea B[1, n] un array de bits.I rankb(B, i) = numero de b’s en B[1, i].I selectb(B, i) = posicion del i-esimo b en B.I b = 1 por defecto, rank1(B, i) = i − rank0(B, i).I Ambos se pueden resolver en tiempo constante usando
o(|B|) bits ademas de B.I E incluso con nH0(B) + o(n) bits en total.I Existen implementaciones practicas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select Binarios
I Sea B[1, n] un array de bits.I rankb(B, i) = numero de b’s en B[1, i].I selectb(B, i) = posicion del i-esimo b en B.I b = 1 por defecto, rank1(B, i) = i − rank0(B, i).I Ambos se pueden resolver en tiempo constante usando
o(|B|) bits ademas de B.I E incluso con nH0(B) + o(n) bits en total.I Existen implementaciones practicas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select Binarios
I Sea B[1, n] un array de bits.I rankb(B, i) = numero de b’s en B[1, i].I selectb(B, i) = posicion del i-esimo b en B.I b = 1 por defecto, rank1(B, i) = i − rank0(B, i).I Ambos se pueden resolver en tiempo constante usando
o(|B|) bits ademas de B.I E incluso con nH0(B) + o(n) bits en total.I Existen implementaciones practicas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select de Sımbolos
I Sea S[1, n] una secuencia sobre el alfabeto Σ de tamanoσ.
I ranka(S, i) = numero de a’s en S[1, i].I selecta(S, i) = posicion del i-esimo a en S.I Ademas, obtener S[i] si la estructura reemplaza S.I Wavelet trees (generalizados): nH0(S) + o(n log σ) bits,
tiempo O(1 + log σlog log n ).
I Mas rapido: n log σ + o(n log σ) bits, O(log log σ) rank yacceso, O(1) select.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select de Sımbolos
I Sea S[1, n] una secuencia sobre el alfabeto Σ de tamanoσ.
I ranka(S, i) = numero de a’s en S[1, i].I selecta(S, i) = posicion del i-esimo a en S.I Ademas, obtener S[i] si la estructura reemplaza S.I Wavelet trees (generalizados): nH0(S) + o(n log σ) bits,
tiempo O(1 + log σlog log n ).
I Mas rapido: n log σ + o(n log σ) bits, O(log log σ) rank yacceso, O(1) select.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select de Sımbolos
I Sea S[1, n] una secuencia sobre el alfabeto Σ de tamanoσ.
I ranka(S, i) = numero de a’s en S[1, i].I selecta(S, i) = posicion del i-esimo a en S.I Ademas, obtener S[i] si la estructura reemplaza S.I Wavelet trees (generalizados): nH0(S) + o(n log σ) bits,
tiempo O(1 + log σlog log n ).
I Mas rapido: n log σ + o(n log σ) bits, O(log log σ) rank yacceso, O(1) select.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select de Sımbolos
I Sea S[1, n] una secuencia sobre el alfabeto Σ de tamanoσ.
I ranka(S, i) = numero de a’s en S[1, i].I selecta(S, i) = posicion del i-esimo a en S.I Ademas, obtener S[i] si la estructura reemplaza S.I Wavelet trees (generalizados): nH0(S) + o(n log σ) bits,
tiempo O(1 + log σlog log n ).
I Mas rapido: n log σ + o(n log σ) bits, O(log log σ) rank yacceso, O(1) select.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select de Sımbolos
I Sea S[1, n] una secuencia sobre el alfabeto Σ de tamanoσ.
I ranka(S, i) = numero de a’s en S[1, i].I selecta(S, i) = posicion del i-esimo a en S.I Ademas, obtener S[i] si la estructura reemplaza S.I Wavelet trees (generalizados): nH0(S) + o(n log σ) bits,
tiempo O(1 + log σlog log n ).
I Mas rapido: n log σ + o(n log σ) bits, O(log log σ) rank yacceso, O(1) select.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Rank y Select
Rank y Select de Sımbolos
I Sea S[1, n] una secuencia sobre el alfabeto Σ de tamanoσ.
I ranka(S, i) = numero de a’s en S[1, i].I selecta(S, i) = posicion del i-esimo a en S.I Ademas, obtener S[i] si la estructura reemplaza S.I Wavelet trees (generalizados): nH0(S) + o(n log σ) bits,
tiempo O(1 + log σlog log n ).
I Mas rapido: n log σ + o(n log σ) bits, O(log log σ) rank yacceso, O(1) select.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Autoındices Comprimidos para Texto
FuncionalidadI Estructuras de datos comprimidas para un texto
T = t1 . . . tn.I Sobre un alfabeto Σ de tamano σ.I Operaciones basicas soportadas:
I Dadas posiciones l , r , mostrar el area de texto tl . . . tr .I Dado un patron P = p1 . . . pm, contar las ocurrencias de P
en T .I Ubicar cada una de esas occ ocurrencias.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Autoındices Comprimidos para Texto
FuncionalidadI Estructuras de datos comprimidas para un texto
T = t1 . . . tn.I Sobre un alfabeto Σ de tamano σ.I Operaciones basicas soportadas:
I Dadas posiciones l , r , mostrar el area de texto tl . . . tr .I Dado un patron P = p1 . . . pm, contar las ocurrencias de P
en T .I Ubicar cada una de esas occ ocurrencias.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Autoındices Comprimidos para Texto
FuncionalidadI Estructuras de datos comprimidas para un texto
T = t1 . . . tn.I Sobre un alfabeto Σ de tamano σ.I Operaciones basicas soportadas:
I Dadas posiciones l , r , mostrar el area de texto tl . . . tr .I Dado un patron P = p1 . . . pm, contar las ocurrencias de P
en T .I Ubicar cada una de esas occ ocurrencias.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Autoındices Comprimidos para Texto
FuncionalidadI Estructuras de datos comprimidas para un texto
T = t1 . . . tn.I Sobre un alfabeto Σ de tamano σ.I Operaciones basicas soportadas:
I Dadas posiciones l , r , mostrar el area de texto tl . . . tr .I Dado un patron P = p1 . . . pm, contar las ocurrencias de P
en T .I Ubicar cada una de esas occ ocurrencias.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Autoındices Comprimidos para Texto
FuncionalidadI Estructuras de datos comprimidas para un texto
T = t1 . . . tn.I Sobre un alfabeto Σ de tamano σ.I Operaciones basicas soportadas:
I Dadas posiciones l , r , mostrar el area de texto tl . . . tr .I Dado un patron P = p1 . . . pm, contar las ocurrencias de P
en T .I Ubicar cada una de esas occ ocurrencias.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Autoındices Comprimidos para Texto
FuncionalidadI Estructuras de datos comprimidas para un texto
T = t1 . . . tn.I Sobre un alfabeto Σ de tamano σ.I Operaciones basicas soportadas:
I Dadas posiciones l , r , mostrar el area de texto tl . . . tr .I Dado un patron P = p1 . . . pm, contar las ocurrencias de P
en T .I Ubicar cada una de esas occ ocurrencias.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Autoındices
I Reemplazan el texto y ademas lo indexan.I Es posible hacerlo usando nHk (T ) bits sin el texto.I Existen muchos autoındices comprimidos para texto.I Ej. contar en tiempo O(m log σ), ubicar cada ocurrencia en
tiempo O(log n), mostrar en tiempo O(log n + ` log σ).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Autoındices
I Reemplazan el texto y ademas lo indexan.I Es posible hacerlo usando nHk (T ) bits sin el texto.I Existen muchos autoındices comprimidos para texto.I Ej. contar en tiempo O(m log σ), ubicar cada ocurrencia en
tiempo O(log n), mostrar en tiempo O(log n + ` log σ).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Autoındices
I Reemplazan el texto y ademas lo indexan.I Es posible hacerlo usando nHk (T ) bits sin el texto.I Existen muchos autoındices comprimidos para texto.I Ej. contar en tiempo O(m log σ), ubicar cada ocurrencia en
tiempo O(log n), mostrar en tiempo O(log n + ` log σ).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
EntropıaGrafos y Compresi onRank, Select, y Autoındices
Autoındices
I Reemplazan el texto y ademas lo indexan.I Es posible hacerlo usando nHk (T ) bits sin el texto.I Existen muchos autoındices comprimidos para texto.I Ej. contar en tiempo O(m log σ), ubicar cada ocurrencia en
tiempo O(log n), mostrar en tiempo O(log n + ` log σ).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Propuesta I: Idea General
I Concatenar las listas de adyacencia en un texto.I Construir un autoındice comprimido sobre ese texto.I Mostrar: vecinos de un nodoI Ubicar: vecinos reversos de un nodoI Contar: grado interior de un nodoI La entropıa de orden k de este texto captura el modelo de
copia.I La entropıa de orden cero captura la distribucion sesgada
de grado interior.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Propuesta I: Idea General
I Concatenar las listas de adyacencia en un texto.I Construir un autoındice comprimido sobre ese texto.I Mostrar: vecinos de un nodoI Ubicar: vecinos reversos de un nodoI Contar: grado interior de un nodoI La entropıa de orden k de este texto captura el modelo de
copia.I La entropıa de orden cero captura la distribucion sesgada
de grado interior.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Propuesta I: Idea General
I Concatenar las listas de adyacencia en un texto.I Construir un autoındice comprimido sobre ese texto.I Mostrar: vecinos de un nodoI Ubicar: vecinos reversos de un nodoI Contar: grado interior de un nodoI La entropıa de orden k de este texto captura el modelo de
copia.I La entropıa de orden cero captura la distribucion sesgada
de grado interior.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Propuesta I: Idea General
I Concatenar las listas de adyacencia en un texto.I Construir un autoındice comprimido sobre ese texto.I Mostrar: vecinos de un nodoI Ubicar: vecinos reversos de un nodoI Contar: grado interior de un nodoI La entropıa de orden k de este texto captura el modelo de
copia.I La entropıa de orden cero captura la distribucion sesgada
de grado interior.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Propuesta I: Idea General
I Concatenar las listas de adyacencia en un texto.I Construir un autoındice comprimido sobre ese texto.I Mostrar: vecinos de un nodoI Ubicar: vecinos reversos de un nodoI Contar: grado interior de un nodoI La entropıa de orden k de este texto captura el modelo de
copia.I La entropıa de orden cero captura la distribucion sesgada
de grado interior.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Propuesta I: Idea General
I Concatenar las listas de adyacencia en un texto.I Construir un autoındice comprimido sobre ese texto.I Mostrar: vecinos de un nodoI Ubicar: vecinos reversos de un nodoI Contar: grado interior de un nodoI La entropıa de orden k de este texto captura el modelo de
copia.I La entropıa de orden cero captura la distribucion sesgada
de grado interior.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Propuesta I: Idea General
I Concatenar las listas de adyacencia en un texto.I Construir un autoındice comprimido sobre ese texto.I Mostrar: vecinos de un nodoI Ubicar: vecinos reversos de un nodoI Contar: grado interior de un nodoI La entropıa de orden k de este texto captura el modelo de
copia.I La entropıa de orden cero captura la distribucion sesgada
de grado interior.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Comparacion Experimental
I Usando el Compressed Suffix Array de Sadakane comoautoındice.
I Contra los resultados de Boldi y Vigna.I Sobre el mismo crawl UK, 18.5 Mnodos, 292 Mlinks.I Vecinos: resultados comparables.I Reversos: perdemos por 10X
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Comparacion Experimental
I Usando el Compressed Suffix Array de Sadakane comoautoındice.
I Contra los resultados de Boldi y Vigna.I Sobre el mismo crawl UK, 18.5 Mnodos, 292 Mlinks.I Vecinos: resultados comparables.I Reversos: perdemos por 10X
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Comparacion Experimental
I Usando el Compressed Suffix Array de Sadakane comoautoındice.
I Contra los resultados de Boldi y Vigna.I Sobre el mismo crawl UK, 18.5 Mnodos, 292 Mlinks.I Vecinos: resultados comparables.I Reversos: perdemos por 10X
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Comparacion Experimental
I Usando el Compressed Suffix Array de Sadakane comoautoındice.
I Contra los resultados de Boldi y Vigna.I Sobre el mismo crawl UK, 18.5 Mnodos, 292 Mlinks.I Vecinos: resultados comparables.I Reversos: perdemos por 10X
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Comparacion Experimental
I Usando el Compressed Suffix Array de Sadakane comoautoındice.
I Contra los resultados de Boldi y Vigna.I Sobre el mismo crawl UK, 18.5 Mnodos, 292 Mlinks.I Vecinos: resultados comparables.I Reversos: perdemos por 10X
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
0.6
0.8
1
1.2
1.4
1.6
1.8
2
2 4 6 8 10 12 14 16
time
per n
eigh
bor (
ms)
space (bpe)
Retrieving neighbors
oursBV
BV (fwd)
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
0
5
10
15
20
25
30
6 7 8 9 10 11 12 13 14 15
time
per n
eigh
bor (
ms)
space (bpe)
Retrieving reverse neighbors
oursBV
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de Sımbolos
I Consideremos de nuevo la secuencia T de listas deadyacencia.
I Guardamos bitmap H[1, e] marcando los comienzos delistas.
I Precalculamos rank y select para las secuencias T y H.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de Sımbolos
I Consideremos de nuevo la secuencia T de listas deadyacencia.
I Guardamos bitmap H[1, e] marcando los comienzos delistas.
I Precalculamos rank y select para las secuencias T y H.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de Sımbolos
I Consideremos de nuevo la secuencia T de listas deadyacencia.
I Guardamos bitmap H[1, e] marcando los comienzos delistas.
I Precalculamos rank y select para las secuencias T y H.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
H = 1 0 0 1 0 0 1 1 0
a
de
c
ba:
b:
c:
d:
e:
d
d,c,a
d,c
d,c,b
T = d c b d c a d d c
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de SımbolosI Es facil traducir todas las operaciones:
I grado interior (v): rankv (T , e).I grado exterior (v): select(H, v + 1)− select(H, v).I vecinos(v): mostrar T [select(H, v) . . .] hasta que
H[i + 1] = 1.I vecinos reversos(v): rank(H, selectv (T , i)), para i ’s
sucesivos.I existe(u, v):
rankv (T , select(H, u + 1)− 1)− rankv (T , select(H, u)) = 1.I Podemos obtener el grafo traspuesto con espacio extra
“sublineal” (por ejemplo con tiempo O(log log n)).I O lo podemos comprimir a orden cero (Wavelet tree,
tiempo O(log n/ log log n)).I La compresion no es gran cosa (σ es demasiado grande!).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de SımbolosI Es facil traducir todas las operaciones:
I grado interior (v): rankv (T , e).I grado exterior (v): select(H, v + 1)− select(H, v).I vecinos(v): mostrar T [select(H, v) . . .] hasta que
H[i + 1] = 1.I vecinos reversos(v): rank(H, selectv (T , i)), para i ’s
sucesivos.I existe(u, v):
rankv (T , select(H, u + 1)− 1)− rankv (T , select(H, u)) = 1.I Podemos obtener el grafo traspuesto con espacio extra
“sublineal” (por ejemplo con tiempo O(log log n)).I O lo podemos comprimir a orden cero (Wavelet tree,
tiempo O(log n/ log log n)).I La compresion no es gran cosa (σ es demasiado grande!).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de SımbolosI Es facil traducir todas las operaciones:
I grado interior (v): rankv (T , e).I grado exterior (v): select(H, v + 1)− select(H, v).I vecinos(v): mostrar T [select(H, v) . . .] hasta que
H[i + 1] = 1.I vecinos reversos(v): rank(H, selectv (T , i)), para i ’s
sucesivos.I existe(u, v):
rankv (T , select(H, u + 1)− 1)− rankv (T , select(H, u)) = 1.I Podemos obtener el grafo traspuesto con espacio extra
“sublineal” (por ejemplo con tiempo O(log log n)).I O lo podemos comprimir a orden cero (Wavelet tree,
tiempo O(log n/ log log n)).I La compresion no es gran cosa (σ es demasiado grande!).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de SımbolosI Es facil traducir todas las operaciones:
I grado interior (v): rankv (T , e).I grado exterior (v): select(H, v + 1)− select(H, v).I vecinos(v): mostrar T [select(H, v) . . .] hasta que
H[i + 1] = 1.I vecinos reversos(v): rank(H, selectv (T , i)), para i ’s
sucesivos.I existe(u, v):
rankv (T , select(H, u + 1)− 1)− rankv (T , select(H, u)) = 1.I Podemos obtener el grafo traspuesto con espacio extra
“sublineal” (por ejemplo con tiempo O(log log n)).I O lo podemos comprimir a orden cero (Wavelet tree,
tiempo O(log n/ log log n)).I La compresion no es gran cosa (σ es demasiado grande!).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de SımbolosI Es facil traducir todas las operaciones:
I grado interior (v): rankv (T , e).I grado exterior (v): select(H, v + 1)− select(H, v).I vecinos(v): mostrar T [select(H, v) . . .] hasta que
H[i + 1] = 1.I vecinos reversos(v): rank(H, selectv (T , i)), para i ’s
sucesivos.I existe(u, v):
rankv (T , select(H, u + 1)− 1)− rankv (T , select(H, u)) = 1.I Podemos obtener el grafo traspuesto con espacio extra
“sublineal” (por ejemplo con tiempo O(log log n)).I O lo podemos comprimir a orden cero (Wavelet tree,
tiempo O(log n/ log log n)).I La compresion no es gran cosa (σ es demasiado grande!).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de SımbolosI Es facil traducir todas las operaciones:
I grado interior (v): rankv (T , e).I grado exterior (v): select(H, v + 1)− select(H, v).I vecinos(v): mostrar T [select(H, v) . . .] hasta que
H[i + 1] = 1.I vecinos reversos(v): rank(H, selectv (T , i)), para i ’s
sucesivos.I existe(u, v):
rankv (T , select(H, u + 1)− 1)− rankv (T , select(H, u)) = 1.I Podemos obtener el grafo traspuesto con espacio extra
“sublineal” (por ejemplo con tiempo O(log log n)).I O lo podemos comprimir a orden cero (Wavelet tree,
tiempo O(log n/ log log n)).I La compresion no es gran cosa (σ es demasiado grande!).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de SımbolosI Es facil traducir todas las operaciones:
I grado interior (v): rankv (T , e).I grado exterior (v): select(H, v + 1)− select(H, v).I vecinos(v): mostrar T [select(H, v) . . .] hasta que
H[i + 1] = 1.I vecinos reversos(v): rank(H, selectv (T , i)), para i ’s
sucesivos.I existe(u, v):
rankv (T , select(H, u + 1)− 1)− rankv (T , select(H, u)) = 1.I Podemos obtener el grafo traspuesto con espacio extra
“sublineal” (por ejemplo con tiempo O(log log n)).I O lo podemos comprimir a orden cero (Wavelet tree,
tiempo O(log n/ log log n)).I La compresion no es gran cosa (σ es demasiado grande!).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de SımbolosI Es facil traducir todas las operaciones:
I grado interior (v): rankv (T , e).I grado exterior (v): select(H, v + 1)− select(H, v).I vecinos(v): mostrar T [select(H, v) . . .] hasta que
H[i + 1] = 1.I vecinos reversos(v): rank(H, selectv (T , i)), para i ’s
sucesivos.I existe(u, v):
rankv (T , select(H, u + 1)− 1)− rankv (T , select(H, u)) = 1.I Podemos obtener el grafo traspuesto con espacio extra
“sublineal” (por ejemplo con tiempo O(log log n)).I O lo podemos comprimir a orden cero (Wavelet tree,
tiempo O(log n/ log log n)).I La compresion no es gran cosa (σ es demasiado grande!).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Usando Rank y Select de SımbolosI Es facil traducir todas las operaciones:
I grado interior (v): rankv (T , e).I grado exterior (v): select(H, v + 1)− select(H, v).I vecinos(v): mostrar T [select(H, v) . . .] hasta que
H[i + 1] = 1.I vecinos reversos(v): rank(H, selectv (T , i)), para i ’s
sucesivos.I existe(u, v):
rankv (T , select(H, u + 1)− 1)− rankv (T , select(H, u)) = 1.I Podemos obtener el grafo traspuesto con espacio extra
“sublineal” (por ejemplo con tiempo O(log log n)).I O lo podemos comprimir a orden cero (Wavelet tree,
tiempo O(log n/ log log n)).I La compresion no es gran cosa (σ es demasiado grande!).
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Donde Estamos?
I Estructuras practicas (Blandford) con 13–16 bpe, sinpenalidad aparente.
I Necesitarıan unos 30 bpe para reversos.I Estructuras practicas (Boldi & Vigna) con 3–6 bpe, tiempos
razonables, incluye reversos.I Estructura teorica (relaciones binarias) con n log(n2/e) bits
para todo, tiempos O(log log n), 15–20 bpe como mınimo.I “Inventamos” otra (rank/select) con e log n bits para todo,
tiempos O(log log n), 20–25 bpe como mınimo.I Para que seguir escuchando esta charla?
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Donde Estamos?
I Estructuras practicas (Blandford) con 13–16 bpe, sinpenalidad aparente.
I Necesitarıan unos 30 bpe para reversos.I Estructuras practicas (Boldi & Vigna) con 3–6 bpe, tiempos
razonables, incluye reversos.I Estructura teorica (relaciones binarias) con n log(n2/e) bits
para todo, tiempos O(log log n), 15–20 bpe como mınimo.I “Inventamos” otra (rank/select) con e log n bits para todo,
tiempos O(log log n), 20–25 bpe como mınimo.I Para que seguir escuchando esta charla?
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Donde Estamos?
I Estructuras practicas (Blandford) con 13–16 bpe, sinpenalidad aparente.
I Necesitarıan unos 30 bpe para reversos.I Estructuras practicas (Boldi & Vigna) con 3–6 bpe, tiempos
razonables, incluye reversos.I Estructura teorica (relaciones binarias) con n log(n2/e) bits
para todo, tiempos O(log log n), 15–20 bpe como mınimo.I “Inventamos” otra (rank/select) con e log n bits para todo,
tiempos O(log log n), 20–25 bpe como mınimo.I Para que seguir escuchando esta charla?
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Donde Estamos?
I Estructuras practicas (Blandford) con 13–16 bpe, sinpenalidad aparente.
I Necesitarıan unos 30 bpe para reversos.I Estructuras practicas (Boldi & Vigna) con 3–6 bpe, tiempos
razonables, incluye reversos.I Estructura teorica (relaciones binarias) con n log(n2/e) bits
para todo, tiempos O(log log n), 15–20 bpe como mınimo.I “Inventamos” otra (rank/select) con e log n bits para todo,
tiempos O(log log n), 20–25 bpe como mınimo.I Para que seguir escuchando esta charla?
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Donde Estamos?
I Estructuras practicas (Blandford) con 13–16 bpe, sinpenalidad aparente.
I Necesitarıan unos 30 bpe para reversos.I Estructuras practicas (Boldi & Vigna) con 3–6 bpe, tiempos
razonables, incluye reversos.I Estructura teorica (relaciones binarias) con n log(n2/e) bits
para todo, tiempos O(log log n), 15–20 bpe como mınimo.I “Inventamos” otra (rank/select) con e log n bits para todo,
tiempos O(log log n), 20–25 bpe como mınimo.I Para que seguir escuchando esta charla?
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Donde Estamos?
I Estructuras practicas (Blandford) con 13–16 bpe, sinpenalidad aparente.
I Necesitarıan unos 30 bpe para reversos.I Estructuras practicas (Boldi & Vigna) con 3–6 bpe, tiempos
razonables, incluye reversos.I Estructura teorica (relaciones binarias) con n log(n2/e) bits
para todo, tiempos O(log log n), 15–20 bpe como mınimo.I “Inventamos” otra (rank/select) con e log n bits para todo,
tiempos O(log log n), 20–25 bpe como mınimo.I Para que seguir escuchando esta charla?
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Vuelta a Compresion Pura
I Hay una forma elegante y efectiva de comprimir T ?I Re-Pair: encontrar el par mas repetido en T y
reemplazarlo por un nuevo sımbolo, hasta que todos lospares sean unicos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Vuelta a Compresion Pura
I Hay una forma elegante y efectiva de comprimir T ?I Re-Pair: encontrar el par mas repetido en T y
reemplazarlo por un nuevo sımbolo, hasta que todos lospares sean unicos.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Paira a a b c a a b a a a b c a b d a b d
d A dc Aa a Ac a Aa a A
a a
a b
b c
c a
b d
d a 1
2
2
2
5
4
a bA
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Paira a A c a A a a A c A d A d
c A d A da Bc B
a a
a
c
c a
d
1
2
2
2
A 3
A
1
A
c A
A 1d
aB A
a bA
a B
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
aB A
a B c B a B c A d A d
a
a
2
1
A 1d
a bA
B
B c 2
c B 1
B
c A 1
A d 2
AC d
a B c B a B c C C
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
aB A
AC d
a B c B a B c C C
C CB a D
a
a
2
1
a bA
B
B c 2
c B 1
B
c 1C
C C 1
BD c
a D
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
aB A
AC d
BD c
a DB a DC C
C CB E
a 2
1
a bA
1
1C
D
DB 1
B a
DC
C
a DE
E
diccionario
secuencia comprimida
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
I Comprime bien, descomprime rapido.I Aprovecha la propiedad de copia.I Comprime mejor si se codifica T diferencialmente.I Mejoramos Re-Pair mismo.
I Estructura de datos sucinta para el diccionario.I Metodo aproximado para secuencias muy grandes.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
I Comprime bien, descomprime rapido.I Aprovecha la propiedad de copia.I Comprime mejor si se codifica T diferencialmente.I Mejoramos Re-Pair mismo.
I Estructura de datos sucinta para el diccionario.I Metodo aproximado para secuencias muy grandes.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
I Comprime bien, descomprime rapido.I Aprovecha la propiedad de copia.I Comprime mejor si se codifica T diferencialmente.I Mejoramos Re-Pair mismo.
I Estructura de datos sucinta para el diccionario.I Metodo aproximado para secuencias muy grandes.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
I Comprime bien, descomprime rapido.I Aprovecha la propiedad de copia.I Comprime mejor si se codifica T diferencialmente.I Mejoramos Re-Pair mismo.
I Estructura de datos sucinta para el diccionario.I Metodo aproximado para secuencias muy grandes.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
I Comprime bien, descomprime rapido.I Aprovecha la propiedad de copia.I Comprime mejor si se codifica T diferencialmente.I Mejoramos Re-Pair mismo.
I Estructura de datos sucinta para el diccionario.I Metodo aproximado para secuencias muy grandes.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
I Comprime bien, descomprime rapido.I Aprovecha la propiedad de copia.I Comprime mejor si se codifica T diferencialmente.I Mejoramos Re-Pair mismo.
I Estructura de datos sucinta para el diccionario.I Metodo aproximado para secuencias muy grandes.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Mejorando Re-Pair con Estructuras de Datos Sucintas
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Mejorando Re-Pair con Estructuras de Datos Sucintas
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Mejorando Re-Pair con Estructuras de Datos Sucintas
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
I El Re-Pair original corre en tiempo lineal, pero necesita20e bytes!
I Si se usa menos espacio es lentısimo.I Disenamos una version aproximada para grafos muy
grandes.I Los resultados son bastante cercanos al metodo exacto.I La tecnica se adapta bien a memoria secundaria.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
I El Re-Pair original corre en tiempo lineal, pero necesita20e bytes!
I Si se usa menos espacio es lentısimo.I Disenamos una version aproximada para grafos muy
grandes.I Los resultados son bastante cercanos al metodo exacto.I La tecnica se adapta bien a memoria secundaria.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
I El Re-Pair original corre en tiempo lineal, pero necesita20e bytes!
I Si se usa menos espacio es lentısimo.I Disenamos una version aproximada para grafos muy
grandes.I Los resultados son bastante cercanos al metodo exacto.I La tecnica se adapta bien a memoria secundaria.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
I El Re-Pair original corre en tiempo lineal, pero necesita20e bytes!
I Si se usa menos espacio es lentısimo.I Disenamos una version aproximada para grafos muy
grandes.I Los resultados son bastante cercanos al metodo exacto.I La tecnica se adapta bien a memoria secundaria.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-Pair
I El Re-Pair original corre en tiempo lineal, pero necesita20e bytes!
I Si se usa menos espacio es lentısimo.I Disenamos una version aproximada para grafos muy
grandes.I Los resultados son bastante cercanos al metodo exacto.I La tecnica se adapta bien a memoria secundaria.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-PairI El espacio que sobre en memoria principal se usa para
una tabla hash.I Se recorre la secuencia y se almacenan los pares y
frecuencias.I Cuando la tabla se llena se dejan de insertar pares nuevos.I Al final se recorre la tabla y se eligen los K mas frecuentes
para reemplazar de una sola vez.I A la siguiente iteracion tenemos mas espacio para la tabla
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-PairI El espacio que sobre en memoria principal se usa para
una tabla hash.I Se recorre la secuencia y se almacenan los pares y
frecuencias.I Cuando la tabla se llena se dejan de insertar pares nuevos.I Al final se recorre la tabla y se eligen los K mas frecuentes
para reemplazar de una sola vez.I A la siguiente iteracion tenemos mas espacio para la tabla
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-PairI El espacio que sobre en memoria principal se usa para
una tabla hash.I Se recorre la secuencia y se almacenan los pares y
frecuencias.I Cuando la tabla se llena se dejan de insertar pares nuevos.I Al final se recorre la tabla y se eligen los K mas frecuentes
para reemplazar de una sola vez.I A la siguiente iteracion tenemos mas espacio para la tabla
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-PairI El espacio que sobre en memoria principal se usa para
una tabla hash.I Se recorre la secuencia y se almacenan los pares y
frecuencias.I Cuando la tabla se llena se dejan de insertar pares nuevos.I Al final se recorre la tabla y se eligen los K mas frecuentes
para reemplazar de una sola vez.I A la siguiente iteracion tenemos mas espacio para la tabla
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Re-PairI El espacio que sobre en memoria principal se usa para
una tabla hash.I Se recorre la secuencia y se almacenan los pares y
frecuencias.I Cuando la tabla se llena se dejan de insertar pares nuevos.I Al final se recorre la tabla y se eligen los K mas frecuentes
para reemplazar de una sola vez.I A la siguiente iteracion tenemos mas espacio para la tabla
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Resultados Experimentales
UK: 18.5M nodos, 298M aristas
0
0.0001
0.0002
0.0003
0.0004
0.0005
0 2 4 6 8 10 12
time
(mse
g/ed
ge)
space (bits/edge)
UK
Re-PairRe-Pair (diffs)
BVBV-Memory
0
0.0001
0.0002
0.0003
0.0004
0.0005
0 5 10 15 20 25 30 35
time
(mse
g/ed
ge)
space (bits/edge)
UK
Re-PairRe-Pair (diffs)
PlainCompact
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Resultados Experimentales
EU: 860K nodos, 19M aristas
0
0.0001
0.0002
0.0003
0.0004
0.0005
0 2 4 6 8 10 12 14
time
(mse
g/ed
ge)
space (bits/edge)
EU
Re-PairRe-Pair (diffs)
BVBV-Memory
0
0.0001
0.0002
0.0003
0.0004
0.0005
0 5 10 15 20 25 30 35
time
(mse
g/ed
ge)
space (bits/edge)
EU
Re-PairRe-Pair (diffs)
PlainCompact
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Resultados Experimentales
Arabic: 23M nodos, 640M aristas
0
0.0001
0.0002
0.0003
0.0004
0.0005
0 2 4 6 8 10
time
(mse
g/ed
ge)
space (bits/edge)
Arabic
Re-PairRe-Pair (diffs)
BVBV-Memory
0
0.0001
0.0002
0.0003
0.0004
0.0005
0 5 10 15 20 25 30 35
time
(mse
g/ed
ge)
space (bits/edge)
Arabic
Re-PairRe-Pair (diffs)
PlainCompact
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Resultados Experimentales
Indochina: 7M nodos, 194M aristas
0
0.0001
0.0002
0.0003
0.0004
0.0005
0 2 4 6 8 10
time
(mse
g/ed
ge)
space (bits/edge)
Indochina
Re-PairRe-Pair (diffs)
BVBV-Memory
0
0.0001
0.0002
0.0003
0.0004
0.0005
0 5 10 15 20 25 30 35
time
(mse
g/ed
ge)
space (bits/edge)
Indochina
Re-PairRe-Pair (diffs)
PlainCompact
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Donde Estamos?
I Conseguimos 5–7 bpe y mejor compromisotiempo/espacio que Boldi & Vigna.
I Podrıamos tener operaciones reversas eficientes con10–14 bpe.
I Esto es la mitad del espacio de Blandford.I Pero... no podrıamos ahora tener rank/select sobre
Re-Pair?
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Donde Estamos?
I Conseguimos 5–7 bpe y mejor compromisotiempo/espacio que Boldi & Vigna.
I Podrıamos tener operaciones reversas eficientes con10–14 bpe.
I Esto es la mitad del espacio de Blandford.I Pero... no podrıamos ahora tener rank/select sobre
Re-Pair?
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Donde Estamos?
I Conseguimos 5–7 bpe y mejor compromisotiempo/espacio que Boldi & Vigna.
I Podrıamos tener operaciones reversas eficientes con10–14 bpe.
I Esto es la mitad del espacio de Blandford.I Pero... no podrıamos ahora tener rank/select sobre
Re-Pair?
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Donde Estamos?
I Conseguimos 5–7 bpe y mejor compromisotiempo/espacio que Boldi & Vigna.
I Podrıamos tener operaciones reversas eficientes con10–14 bpe.
I Esto es la mitad del espacio de Blandford.I Pero... no podrıamos ahora tener rank/select sobre
Re-Pair?
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Desafıo Final
I Es posible combinar Re-Pair con Rank/Select?I Problema: Cada sımbolo aparece de muchas formas
distintas.I Hay que partir por encontrar que sımbolos me representan
en el diccionario.I Vecinos y vecinos reversos: ok (una unidad de trabajo por
vecino reportado).I Grado exterior/interior eficientes con 1 bpe extra cada uno.I (pero son bitmaps compresibles a 0.17–0.25 bpe cada
uno).I Existe: Muy caro.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Desafıo Final
I Es posible combinar Re-Pair con Rank/Select?I Problema: Cada sımbolo aparece de muchas formas
distintas.I Hay que partir por encontrar que sımbolos me representan
en el diccionario.I Vecinos y vecinos reversos: ok (una unidad de trabajo por
vecino reportado).I Grado exterior/interior eficientes con 1 bpe extra cada uno.I (pero son bitmaps compresibles a 0.17–0.25 bpe cada
uno).I Existe: Muy caro.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Desafıo Final
I Es posible combinar Re-Pair con Rank/Select?I Problema: Cada sımbolo aparece de muchas formas
distintas.I Hay que partir por encontrar que sımbolos me representan
en el diccionario.I Vecinos y vecinos reversos: ok (una unidad de trabajo por
vecino reportado).I Grado exterior/interior eficientes con 1 bpe extra cada uno.I (pero son bitmaps compresibles a 0.17–0.25 bpe cada
uno).I Existe: Muy caro.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Desafıo Final
I Es posible combinar Re-Pair con Rank/Select?I Problema: Cada sımbolo aparece de muchas formas
distintas.I Hay que partir por encontrar que sımbolos me representan
en el diccionario.I Vecinos y vecinos reversos: ok (una unidad de trabajo por
vecino reportado).I Grado exterior/interior eficientes con 1 bpe extra cada uno.I (pero son bitmaps compresibles a 0.17–0.25 bpe cada
uno).I Existe: Muy caro.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Desafıo Final
I Es posible combinar Re-Pair con Rank/Select?I Problema: Cada sımbolo aparece de muchas formas
distintas.I Hay que partir por encontrar que sımbolos me representan
en el diccionario.I Vecinos y vecinos reversos: ok (una unidad de trabajo por
vecino reportado).I Grado exterior/interior eficientes con 1 bpe extra cada uno.I (pero son bitmaps compresibles a 0.17–0.25 bpe cada
uno).I Existe: Muy caro.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Desafıo Final
I Es posible combinar Re-Pair con Rank/Select?I Problema: Cada sımbolo aparece de muchas formas
distintas.I Hay que partir por encontrar que sımbolos me representan
en el diccionario.I Vecinos y vecinos reversos: ok (una unidad de trabajo por
vecino reportado).I Grado exterior/interior eficientes con 1 bpe extra cada uno.I (pero son bitmaps compresibles a 0.17–0.25 bpe cada
uno).I Existe: Muy caro.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Desafıo Final
I Es posible combinar Re-Pair con Rank/Select?I Problema: Cada sımbolo aparece de muchas formas
distintas.I Hay que partir por encontrar que sımbolos me representan
en el diccionario.I Vecinos y vecinos reversos: ok (una unidad de trabajo por
vecino reportado).I Grado exterior/interior eficientes con 1 bpe extra cada uno.I (pero son bitmaps compresibles a 0.17–0.25 bpe cada
uno).I Existe: Muy caro.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Conclusiones
I Enfoque algorıtmico a problemas reales de grafos.I Resultados practicos relevantes, algunos desafıos
abiertos.I Estructuras de datos compactas: area de investigacion
reciente y promisoria.I Investigacion basica: cuanto mas basica,
I mas aplicaciones tiene, peroI es mas difıcil predecirlas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Conclusiones
I Enfoque algorıtmico a problemas reales de grafos.I Resultados practicos relevantes, algunos desafıos
abiertos.I Estructuras de datos compactas: area de investigacion
reciente y promisoria.I Investigacion basica: cuanto mas basica,
I mas aplicaciones tiene, peroI es mas difıcil predecirlas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Conclusiones
I Enfoque algorıtmico a problemas reales de grafos.I Resultados practicos relevantes, algunos desafıos
abiertos.I Estructuras de datos compactas: area de investigacion
reciente y promisoria.I Investigacion basica: cuanto mas basica,
I mas aplicaciones tiene, peroI es mas difıcil predecirlas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Conclusiones
I Enfoque algorıtmico a problemas reales de grafos.I Resultados practicos relevantes, algunos desafıos
abiertos.I Estructuras de datos compactas: area de investigacion
reciente y promisoria.I Investigacion basica: cuanto mas basica,
I mas aplicaciones tiene, peroI es mas difıcil predecirlas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Conclusiones
I Enfoque algorıtmico a problemas reales de grafos.I Resultados practicos relevantes, algunos desafıos
abiertos.I Estructuras de datos compactas: area de investigacion
reciente y promisoria.I Investigacion basica: cuanto mas basica,
I mas aplicaciones tiene, peroI es mas difıcil predecirlas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
Conclusiones
I Enfoque algorıtmico a problemas reales de grafos.I Resultados practicos relevantes, algunos desafıos
abiertos.I Estructuras de datos compactas: area de investigacion
reciente y promisoria.I Investigacion basica: cuanto mas basica,
I mas aplicaciones tiene, peroI es mas difıcil predecirlas.
G. Navarro Comprimiendo Grafos de la Web
Motivaci onConceptos B asicos
Propuesta IPropuesta II
Conclusiones
H = 1 0 0 1 0 0
t
h
e
1
2
n
d
T = t h e e n d
1: t h e2: e n d
G. Navarro Comprimiendo Grafos de la Web