Comprimiendo Grafos de la Web
|
|
- Juan Francisco Godoy Romero
- hace 7 años
- Vistas:
Transcripción
1 Mapa Comprimiendo Grafos de la Web Gonzalo Navarro Centro de Investigación de la Web Departamento de Ciencias de la Computación Universidad de Chile En colaboración con los estudiantes Francisco Claude y Rodrigo González
2 Mapa Mapa Motivación Entropía Grafos y Compresión Rank, Select, y Autoíndices : Autoindexamiento I: Rank/Select de Símbolos
3 Mapa Mapa Motivación Entropía Grafos y Compresión Rank, Select, y Autoíndices : Autoindexamiento I: Rank/Select de Símbolos
4 Mapa Mapa Motivación Entropía Grafos y Compresión Rank, Select, y Autoíndices : Autoindexamiento I: Rank/Select de Símbolos
5 Mapa Mapa Motivación Entropía Grafos y Compresión Rank, Select, y Autoíndices : Autoindexamiento I: Rank/Select de Símbolos
6 Mapa Mapa Motivación Entropía Grafos y Compresión Rank, Select, y Autoíndices : Autoindexamiento I: Rank/Select de Símbolos
7 I Motivación Estructuras de Datos Compactas Modificadas para ocupar poco espacio. Y eso no es compresión? Deben retener su funcionalidad y acceso directo. Para qué, si la memoria es tan barata? Mejora el rendimiento debido a la jerarquía de memoria. Cada vez más populares por motivos tecnológicos.
8 I Motivación Estructuras de Datos Compactas Modificadas para ocupar poco espacio. Y eso no es compresión? Deben retener su funcionalidad y acceso directo. Para qué, si la memoria es tan barata? Mejora el rendimiento debido a la jerarquía de memoria. Cada vez más populares por motivos tecnológicos.
9 I Motivación Estructuras de Datos Compactas Modificadas para ocupar poco espacio. Y eso no es compresión? Deben retener su funcionalidad y acceso directo. Para qué, si la memoria es tan barata? Mejora el rendimiento debido a la jerarquía de memoria. Cada vez más populares por motivos tecnológicos.
10 I Motivación Estructuras de Datos Compactas Modificadas para ocupar poco espacio. Y eso no es compresión? Deben retener su funcionalidad y acceso directo. Para qué, si la memoria es tan barata? Mejora el rendimiento debido a la jerarquía de memoria. Cada vez más populares por motivos tecnológicos.
11 I Motivación Estructuras de Datos Compactas Modificadas para ocupar poco espacio. Y eso no es compresión? Deben retener su funcionalidad y acceso directo. Para qué, si la memoria es tan barata? Mejora el rendimiento debido a la jerarquía de memoria. Cada vez más populares por motivos tecnológicos.
12 I Motivación Estructuras de Datos Compactas Modificadas para ocupar poco espacio. Y eso no es compresión? Deben retener su funcionalidad y acceso directo. Para qué, si la memoria es tan barata? Mejora el rendimiento debido a la jerarquía de memoria. Cada vez más populares por motivos tecnológicos.
13 I Motivación Compresión de Grafos Util para ejecutar, en memoria principal, algoritmos sobre grafos grandes. Algoritmos como qué? Descubrir comunidades, calcular PageRank, minería de grafos,... (más ejemplos en la charla de Claudio) Consideraremos las operaciones más básicas: Obtener los vecinos de un nodo u: v, (u, v) E. Obtener los vecinos reversos de un nodo u: v, (v, u) E. Calcular el grado interior/exterior de un nodo u. Verificar la existencia de arista (u, v) in E.
14 I Motivación Compresión de Grafos Util para ejecutar, en memoria principal, algoritmos sobre grafos grandes. Algoritmos como qué? Descubrir comunidades, calcular PageRank, minería de grafos,... (más ejemplos en la charla de Claudio) Consideraremos las operaciones más básicas: Obtener los vecinos de un nodo u: v, (u, v) E. Obtener los vecinos reversos de un nodo u: v, (v, u) E. Calcular el grado interior/exterior de un nodo u. Verificar la existencia de arista (u, v) in E.
15 I Motivación Compresión de Grafos Util para ejecutar, en memoria principal, algoritmos sobre grafos grandes. Algoritmos como qué? Descubrir comunidades, calcular PageRank, minería de grafos,... (más ejemplos en la charla de Claudio) Consideraremos las operaciones más básicas: Obtener los vecinos de un nodo u: v, (u, v) E. Obtener los vecinos reversos de un nodo u: v, (v, u) E. Calcular el grado interior/exterior de un nodo u. Verificar la existencia de arista (u, v) in E.
16 I Motivación Compresión de Grafos Util para ejecutar, en memoria principal, algoritmos sobre grafos grandes. Algoritmos como qué? Descubrir comunidades, calcular PageRank, minería de grafos,... (más ejemplos en la charla de Claudio) Consideraremos las operaciones más básicas: Obtener los vecinos de un nodo u: v, (u, v) E. Obtener los vecinos reversos de un nodo u: v, (v, u) E. Calcular el grado interior/exterior de un nodo u. Verificar la existencia de arista (u, v) in E.
17 I Motivación Compresión de Grafos Util para ejecutar, en memoria principal, algoritmos sobre grafos grandes. Algoritmos como qué? Descubrir comunidades, calcular PageRank, minería de grafos,... (más ejemplos en la charla de Claudio) Consideraremos las operaciones más básicas: Obtener los vecinos de un nodo u: v, (u, v) E. Obtener los vecinos reversos de un nodo u: v, (v, u) E. Calcular el grado interior/exterior de un nodo u. Verificar la existencia de arista (u, v) in E.
18 I Motivación Compresión de Grafos Util para ejecutar, en memoria principal, algoritmos sobre grafos grandes. Algoritmos como qué? Descubrir comunidades, calcular PageRank, minería de grafos,... (más ejemplos en la charla de Claudio) Consideraremos las operaciones más básicas: Obtener los vecinos de un nodo u: v, (u, v) E. Obtener los vecinos reversos de un nodo u: v, (v, u) E. Calcular el grado interior/exterior de un nodo u. Verificar la existencia de arista (u, v) in E.
19 I Motivación Compresión de Grafos Util para ejecutar, en memoria principal, algoritmos sobre grafos grandes. Algoritmos como qué? Descubrir comunidades, calcular PageRank, minería de grafos,... (más ejemplos en la charla de Claudio) Consideraremos las operaciones más básicas: Obtener los vecinos de un nodo u: v, (u, v) E. Obtener los vecinos reversos de un nodo u: v, (v, u) E. Calcular el grado interior/exterior de un nodo u. Verificar la existencia de arista (u, v) in E.
20 I Motivación Compresión de Grafos Util para ejecutar, en memoria principal, algoritmos sobre grafos grandes. Algoritmos como qué? Descubrir comunidades, calcular PageRank, minería de grafos,... (más ejemplos en la charla de Claudio) Consideraremos las operaciones más básicas: Obtener los vecinos de un nodo u: v, (u, v) E. Obtener los vecinos reversos de un nodo u: v, (v, u) E. Calcular el grado interior/exterior de un nodo u. Verificar la existencia de arista (u, v) in E.
21 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Mapa Motivación Entropía Grafos y Compresión Rank, Select, y Autoíndices : Autoindexamiento I: Rank/Select de Símbolos
22 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Entropía (Empírica) Entropía binaria: si hay n 0 ceros y n 1 unos en B (n 0 + n 1 = n = B ) H 0 (B) = n 0 n log n n 0 + n 1 n log n n 1 Entropía de orden cero: si hay n a ocurrencias de a en S, H 0 (S) = a Σ n a n log n n a Cota inferior a cualquier codificación de Σ que asigne siempre el mismo código al mismo símbolo.
23 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Entropía (Empírica) Entropía binaria: si hay n 0 ceros y n 1 unos en B (n 0 + n 1 = n = B ) H 0 (B) = n 0 n log n n 0 + n 1 n log n n 1 Entropía de orden cero: si hay n a ocurrencias de a en S, H 0 (S) = a Σ n a n log n n a Cota inferior a cualquier codificación de Σ que asigne siempre el mismo código al mismo símbolo.
24 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Entropía (Empírica) Entropía binaria: si hay n 0 ceros y n 1 unos en B (n 0 + n 1 = n = B ) H 0 (B) = n 0 n log n n 0 + n 1 n log n n 1 Entropía de orden cero: si hay n a ocurrencias de a en S, H 0 (S) = a Σ n a n log n n a Cota inferior a cualquier codificación de Σ que asigne siempre el mismo código al mismo símbolo.
25 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Entropía (Empírica) Entropía de orden k: si S A son los caracteres que siguen a las ocurrencias de A en S, H k (S) = 1 n A Σ k S A H 0 (S A ) Cota inferior a codificaciones que consideran los k símbolos precedentes.
26 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Entropía (Empírica) Entropía de orden k: si S A son los caracteres que siguen a las ocurrencias de A en S, H k (S) = 1 n A Σ k S A H 0 (S A ) Cota inferior a codificaciones que consideran los k símbolos precedentes.
27 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Mapa Motivación Entropía Grafos y Compresión Rank, Select, y Autoíndices : Autoindexamiento I: Rank/Select de Símbolos
28 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Matriz de Incidencia a b c a b c d e a b c d e d e
29 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Matriz de Incidencia Con n nodos y e aristas, ocupa n 2 bits. Responde existencia en tiempo O(1). Encuentra todos los vecinos directos/reversos en O(n). Calcula grado interior/exterior en O(n).
30 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Matriz de Incidencia Con n nodos y e aristas, ocupa n 2 bits. Responde existencia en tiempo O(1). Encuentra todos los vecinos directos/reversos en O(n). Calcula grado interior/exterior en O(n).
31 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Matriz de Incidencia Con n nodos y e aristas, ocupa n 2 bits. Responde existencia en tiempo O(1). Encuentra todos los vecinos directos/reversos en O(n). Calcula grado interior/exterior en O(n).
32 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Matriz de Incidencia Con n nodos y e aristas, ocupa n 2 bits. Responde existencia en tiempo O(1). Encuentra todos los vecinos directos/reversos en O(n). Calcula grado interior/exterior en O(n).
33 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Lista de Adyacencia b a: d,c,b a: b a b: c: d,c,a d b: c: a a,b,e c d: d: a,b,c,e e: d,c e: d e
34 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Lista de Adyacencia Con n nodos y e aristas, ocupa n log e + e log n bits. Encuentra cada vecino en tiempo O(1). Calcula grado exterior en tiempo O(1). Responde existencia en tiempo O(n). Necesita otro tanto para los reversos.
35 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Lista de Adyacencia Con n nodos y e aristas, ocupa n log e + e log n bits. Encuentra cada vecino en tiempo O(1). Calcula grado exterior en tiempo O(1). Responde existencia en tiempo O(n). Necesita otro tanto para los reversos.
36 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Lista de Adyacencia Con n nodos y e aristas, ocupa n log e + e log n bits. Encuentra cada vecino en tiempo O(1). Calcula grado exterior en tiempo O(1). Responde existencia en tiempo O(n). Necesita otro tanto para los reversos.
37 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Lista de Adyacencia Con n nodos y e aristas, ocupa n log e + e log n bits. Encuentra cada vecino en tiempo O(1). Calcula grado exterior en tiempo O(1). Responde existencia en tiempo O(n). Necesita otro tanto para los reversos.
38 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Lista de Adyacencia Con n nodos y e aristas, ocupa n log e + e log n bits. Encuentra cada vecino en tiempo O(1). Calcula grado exterior en tiempo O(1). Responde existencia en tiempo O(n). Necesita otro tanto para los reversos.
39 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Relaciones Binarias Con técnicas muy novedosas de estructuras sucintas para relaciones binarias se puede conseguir e log(n 2 /e) (1 + o(1)) bits y responder todo en tiempo O(log log n). Obtiene lo mejor de los dos mundos pero aún no es demasiado bueno para la Web.
40 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Relaciones Binarias Con técnicas muy novedosas de estructuras sucintas para relaciones binarias se puede conseguir e log(n 2 /e) (1 + o(1)) bits y responder todo en tiempo O(log log n). Obtiene lo mejor de los dos mundos pero aún no es demasiado bueno para la Web.
41 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Relaciones Binarias Con técnicas muy novedosas de estructuras sucintas para relaciones binarias se puede conseguir e log(n 2 /e) (1 + o(1)) bits y responder todo en tiempo O(log log n). Obtiene lo mejor de los dos mundos pero aún no es demasiado bueno para la Web.
42 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Relaciones Binarias Con técnicas muy novedosas de estructuras sucintas para relaciones binarias se puede conseguir e log(n 2 /e) (1 + o(1)) bits y responder todo en tiempo O(log log n). Obtiene lo mejor de los dos mundos pero aún no es demasiado bueno para la Web.
43 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Relaciones Binarias Con técnicas muy novedosas de estructuras sucintas para relaciones binarias se puede conseguir e log(n 2 /e) (1 + o(1)) bits y responder todo en tiempo O(log log n). Obtiene lo mejor de los dos mundos pero aún no es demasiado bueno para la Web.
44 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Representación de Grafos Algunos ejemplos de bpe s (crawls reales) Grafo n e Matriz Lista 2 x Lista Rel. Bin UK 18.5M 298M 1.15M EU 860K 19M 39K Arabic 23M 640M 827K Indochina 7M 194M 253K
45 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Grafos Planares y Variantes Con n nodos, tienen O(n) aristas. Distintas técnicas para comprimirlos a O(n) bits. Algunas permiten acceso directo. Hay algunos resultados para tipos especiales de grafos. Es improbable que tengan algún impacto en grafos Web.
46 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Grafos Planares y Variantes Con n nodos, tienen O(n) aristas. Distintas técnicas para comprimirlos a O(n) bits. Algunas permiten acceso directo. Hay algunos resultados para tipos especiales de grafos. Es improbable que tengan algún impacto en grafos Web.
47 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Grafos Planares y Variantes Con n nodos, tienen O(n) aristas. Distintas técnicas para comprimirlos a O(n) bits. Algunas permiten acceso directo. Hay algunos resultados para tipos especiales de grafos. Es improbable que tengan algún impacto en grafos Web.
48 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Grafos Planares y Variantes Con n nodos, tienen O(n) aristas. Distintas técnicas para comprimirlos a O(n) bits. Algunas permiten acceso directo. Hay algunos resultados para tipos especiales de grafos. Es improbable que tengan algún impacto en grafos Web.
49 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Grafos Planares y Variantes Con n nodos, tienen O(n) aristas. Distintas técnicas para comprimirlos a O(n) bits. Algunas permiten acceso directo. Hay algunos resultados para tipos especiales de grafos. Es improbable que tengan algún impacto en grafos Web.
50 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Separadores de Grafos Mejor exponente: Blandford [PhD Thesis, 2006] Encontrar zonas que se pueden desconectar cortando unas pocas aristas. Renumerar los nodos y comprimirlos separadamente. Pueden obtener bits por arista (bpe) y ser más rápidos que la versión descomprimida (por efectos de caché). Para vecinos reversos necesitan el grafo traspuesto.
51 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Separadores de Grafos Mejor exponente: Blandford [PhD Thesis, 2006] Encontrar zonas que se pueden desconectar cortando unas pocas aristas. Renumerar los nodos y comprimirlos separadamente. Pueden obtener bits por arista (bpe) y ser más rápidos que la versión descomprimida (por efectos de caché). Para vecinos reversos necesitan el grafo traspuesto.
52 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Separadores de Grafos Mejor exponente: Blandford [PhD Thesis, 2006] Encontrar zonas que se pueden desconectar cortando unas pocas aristas. Renumerar los nodos y comprimirlos separadamente. Pueden obtener bits por arista (bpe) y ser más rápidos que la versión descomprimida (por efectos de caché). Para vecinos reversos necesitan el grafo traspuesto.
53 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Separadores de Grafos Mejor exponente: Blandford [PhD Thesis, 2006] Encontrar zonas que se pueden desconectar cortando unas pocas aristas. Renumerar los nodos y comprimirlos separadamente. Pueden obtener bits por arista (bpe) y ser más rápidos que la versión descomprimida (por efectos de caché). Para vecinos reversos necesitan el grafo traspuesto.
54 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Separadores de Grafos Mejor exponente: Blandford [PhD Thesis, 2006] Encontrar zonas que se pueden desconectar cortando unas pocas aristas. Renumerar los nodos y comprimirlos separadamente. Pueden obtener bits por arista (bpe) y ser más rápidos que la versión descomprimida (por efectos de caché). Para vecinos reversos necesitan el grafo traspuesto.
55 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Los Grafos Web son Muy Compresibles Distribución sesgada de grados interior/exterior (power laws). Una lista de adyacencia tiene baja entropía. Localidad de referencia: la mayoría de los links apuntan al mismo site. Listar los nodos en orden lexicográfico de URL. Usar técnicas de codificación de gaps para comprimir las listas. Modelo de copia: los links que salen se parecen a los de alguna otra página. Encontrar una página similar y codificar diferencialmente.
56 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Los Grafos Web son Muy Compresibles Distribución sesgada de grados interior/exterior (power laws). Una lista de adyacencia tiene baja entropía. Localidad de referencia: la mayoría de los links apuntan al mismo site. Listar los nodos en orden lexicográfico de URL. Usar técnicas de codificación de gaps para comprimir las listas. Modelo de copia: los links que salen se parecen a los de alguna otra página. Encontrar una página similar y codificar diferencialmente.
57 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Los Grafos Web son Muy Compresibles Distribución sesgada de grados interior/exterior (power laws). Una lista de adyacencia tiene baja entropía. Localidad de referencia: la mayoría de los links apuntan al mismo site. Listar los nodos en orden lexicográfico de URL. Usar técnicas de codificación de gaps para comprimir las listas. Modelo de copia: los links que salen se parecen a los de alguna otra página. Encontrar una página similar y codificar diferencialmente.
58 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Los Grafos Web son Muy Compresibles Distribución sesgada de grados interior/exterior (power laws). Una lista de adyacencia tiene baja entropía. Localidad de referencia: la mayoría de los links apuntan al mismo site. Listar los nodos en orden lexicográfico de URL. Usar técnicas de codificación de gaps para comprimir las listas. Modelo de copia: los links que salen se parecen a los de alguna otra página. Encontrar una página similar y codificar diferencialmente.
59 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Los Grafos Web son Muy Compresibles Distribución sesgada de grados interior/exterior (power laws). Una lista de adyacencia tiene baja entropía. Localidad de referencia: la mayoría de los links apuntan al mismo site. Listar los nodos en orden lexicográfico de URL. Usar técnicas de codificación de gaps para comprimir las listas. Modelo de copia: los links que salen se parecen a los de alguna otra página. Encontrar una página similar y codificar diferencialmente.
60 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Los Grafos Web son Muy Compresibles Distribución sesgada de grados interior/exterior (power laws). Una lista de adyacencia tiene baja entropía. Localidad de referencia: la mayoría de los links apuntan al mismo site. Listar los nodos en orden lexicográfico de URL. Usar técnicas de codificación de gaps para comprimir las listas. Modelo de copia: los links que salen se parecen a los de alguna otra página. Encontrar una página similar y codificar diferencialmente.
61 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Los Grafos Web son Muy Compresibles Distribución sesgada de grados interior/exterior (power laws). Una lista de adyacencia tiene baja entropía. Localidad de referencia: la mayoría de los links apuntan al mismo site. Listar los nodos en orden lexicográfico de URL. Usar técnicas de codificación de gaps para comprimir las listas. Modelo de copia: los links que salen se parecen a los de alguna otra página. Encontrar una página similar y codificar diferencialmente.
62 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Los Grafos Web son Muy Compresibles Mejor exponente: Boldi y Vigna [WWW 2006]. 3 bpe para compresión pura 6 bpe para recuperar cada vecino directo o reverso dentro del microsegundo Esto considera el grafo y su traspuesto
63 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Los Grafos Web son Muy Compresibles Mejor exponente: Boldi y Vigna [WWW 2006]. 3 bpe para compresión pura 6 bpe para recuperar cada vecino directo o reverso dentro del microsegundo Esto considera el grafo y su traspuesto
64 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Los Grafos Web son Muy Compresibles Mejor exponente: Boldi y Vigna [WWW 2006]. 3 bpe para compresión pura 6 bpe para recuperar cada vecino directo o reverso dentro del microsegundo Esto considera el grafo y su traspuesto
65 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Compresión de Grafos Los Grafos Web son Muy Compresibles Mejor exponente: Boldi y Vigna [WWW 2006]. 3 bpe para compresión pura 6 bpe para recuperar cada vecino directo o reverso dentro del microsegundo Esto considera el grafo y su traspuesto
66 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Mapa Motivación Entropía Grafos y Compresión Rank, Select, y Autoíndices : Autoindexamiento I: Rank/Select de Símbolos
67 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select Binarios Sea B[1, n] un array de bits. rank b (B, i) = número de b s en B[1, i]. select b (B, i) = posición del i-ésimo b en B. b = 1 por defecto, rank 1 (B, i) = i rank 0 (B, i). Ambos se pueden resolver en tiempo constante usando o( B ) bits además de B. E incluso con nh 0 (B) + o(n) bits en total. Existen implementaciones prácticas.
68 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select Binarios Sea B[1, n] un array de bits. rank b (B, i) = número de b s en B[1, i]. select b (B, i) = posición del i-ésimo b en B. b = 1 por defecto, rank 1 (B, i) = i rank 0 (B, i). Ambos se pueden resolver en tiempo constante usando o( B ) bits además de B. E incluso con nh 0 (B) + o(n) bits en total. Existen implementaciones prácticas.
69 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select Binarios Sea B[1, n] un array de bits. rank b (B, i) = número de b s en B[1, i]. select b (B, i) = posición del i-ésimo b en B. b = 1 por defecto, rank 1 (B, i) = i rank 0 (B, i). Ambos se pueden resolver en tiempo constante usando o( B ) bits además de B. E incluso con nh 0 (B) + o(n) bits en total. Existen implementaciones prácticas.
70 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select Binarios Sea B[1, n] un array de bits. rank b (B, i) = número de b s en B[1, i]. select b (B, i) = posición del i-ésimo b en B. b = 1 por defecto, rank 1 (B, i) = i rank 0 (B, i). Ambos se pueden resolver en tiempo constante usando o( B ) bits además de B. E incluso con nh 0 (B) + o(n) bits en total. Existen implementaciones prácticas.
71 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select Binarios Sea B[1, n] un array de bits. rank b (B, i) = número de b s en B[1, i]. select b (B, i) = posición del i-ésimo b en B. b = 1 por defecto, rank 1 (B, i) = i rank 0 (B, i). Ambos se pueden resolver en tiempo constante usando o( B ) bits además de B. E incluso con nh 0 (B) + o(n) bits en total. Existen implementaciones prácticas.
72 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select Binarios Sea B[1, n] un array de bits. rank b (B, i) = número de b s en B[1, i]. select b (B, i) = posición del i-ésimo b en B. b = 1 por defecto, rank 1 (B, i) = i rank 0 (B, i). Ambos se pueden resolver en tiempo constante usando o( B ) bits además de B. E incluso con nh 0 (B) + o(n) bits en total. Existen implementaciones prácticas.
73 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select Binarios Sea B[1, n] un array de bits. rank b (B, i) = número de b s en B[1, i]. select b (B, i) = posición del i-ésimo b en B. b = 1 por defecto, rank 1 (B, i) = i rank 0 (B, i). Ambos se pueden resolver en tiempo constante usando o( B ) bits además de B. E incluso con nh 0 (B) + o(n) bits en total. Existen implementaciones prácticas.
74 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select de Símbolos Sea S[1, n] una secuencia sobre el alfabeto Σ de tamaño σ. rank a (S, i) = número de a s en S[1, i]. select a (S, i) = posición del i-ésimo a en S. Además, obtener S[i] si la estructura reemplaza S. Wavelet trees (generalizados): nh 0 (S) + o(n log σ) bits, tiempo O(1 + log σ log log n ). Más rápido: n log σ + o(n log σ) bits, O(log log σ) rank y acceso, O(1) select.
75 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select de Símbolos Sea S[1, n] una secuencia sobre el alfabeto Σ de tamaño σ. rank a (S, i) = número de a s en S[1, i]. select a (S, i) = posición del i-ésimo a en S. Además, obtener S[i] si la estructura reemplaza S. Wavelet trees (generalizados): nh 0 (S) + o(n log σ) bits, tiempo O(1 + log σ log log n ). Más rápido: n log σ + o(n log σ) bits, O(log log σ) rank y acceso, O(1) select.
76 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select de Símbolos Sea S[1, n] una secuencia sobre el alfabeto Σ de tamaño σ. rank a (S, i) = número de a s en S[1, i]. select a (S, i) = posición del i-ésimo a en S. Además, obtener S[i] si la estructura reemplaza S. Wavelet trees (generalizados): nh 0 (S) + o(n log σ) bits, tiempo O(1 + log σ log log n ). Más rápido: n log σ + o(n log σ) bits, O(log log σ) rank y acceso, O(1) select.
77 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select de Símbolos Sea S[1, n] una secuencia sobre el alfabeto Σ de tamaño σ. rank a (S, i) = número de a s en S[1, i]. select a (S, i) = posición del i-ésimo a en S. Además, obtener S[i] si la estructura reemplaza S. Wavelet trees (generalizados): nh 0 (S) + o(n log σ) bits, tiempo O(1 + log σ log log n ). Más rápido: n log σ + o(n log σ) bits, O(log log σ) rank y acceso, O(1) select.
78 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select de Símbolos Sea S[1, n] una secuencia sobre el alfabeto Σ de tamaño σ. rank a (S, i) = número de a s en S[1, i]. select a (S, i) = posición del i-ésimo a en S. Además, obtener S[i] si la estructura reemplaza S. Wavelet trees (generalizados): nh 0 (S) + o(n log σ) bits, tiempo O(1 + log σ log log n ). Más rápido: n log σ + o(n log σ) bits, O(log log σ) rank y acceso, O(1) select.
79 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Rank y Select Rank y Select de Símbolos Sea S[1, n] una secuencia sobre el alfabeto Σ de tamaño σ. rank a (S, i) = número de a s en S[1, i]. select a (S, i) = posición del i-ésimo a en S. Además, obtener S[i] si la estructura reemplaza S. Wavelet trees (generalizados): nh 0 (S) + o(n log σ) bits, tiempo O(1 + log σ log log n ). Más rápido: n log σ + o(n log σ) bits, O(log log σ) rank y acceso, O(1) select.
80 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Autoíndices Comprimidos para Texto Funcionalidad Estructuras de datos comprimidas para un texto T = t 1... t n. Sobre un alfabeto Σ de tamaño σ. Operaciones básicas soportadas: Dadas posiciones l, r, mostrar el área de texto tl... t r. Dado un patrón P = p 1... p m, contar las ocurrencias de P en T. Ubicar cada una de esas occ ocurrencias.
81 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Autoíndices Comprimidos para Texto Funcionalidad Estructuras de datos comprimidas para un texto T = t 1... t n. Sobre un alfabeto Σ de tamaño σ. Operaciones básicas soportadas: Dadas posiciones l, r, mostrar el área de texto tl... t r. Dado un patrón P = p 1... p m, contar las ocurrencias de P en T. Ubicar cada una de esas occ ocurrencias.
82 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Autoíndices Comprimidos para Texto Funcionalidad Estructuras de datos comprimidas para un texto T = t 1... t n. Sobre un alfabeto Σ de tamaño σ. Operaciones básicas soportadas: Dadas posiciones l, r, mostrar el área de texto tl... t r. Dado un patrón P = p 1... p m, contar las ocurrencias de P en T. Ubicar cada una de esas occ ocurrencias.
83 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Autoíndices Comprimidos para Texto Funcionalidad Estructuras de datos comprimidas para un texto T = t 1... t n. Sobre un alfabeto Σ de tamaño σ. Operaciones básicas soportadas: Dadas posiciones l, r, mostrar el área de texto tl... t r. Dado un patrón P = p 1... p m, contar las ocurrencias de P en T. Ubicar cada una de esas occ ocurrencias.
84 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Autoíndices Comprimidos para Texto Funcionalidad Estructuras de datos comprimidas para un texto T = t 1... t n. Sobre un alfabeto Σ de tamaño σ. Operaciones básicas soportadas: Dadas posiciones l, r, mostrar el área de texto tl... t r. Dado un patrón P = p 1... p m, contar las ocurrencias de P en T. Ubicar cada una de esas occ ocurrencias.
85 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Autoíndices Comprimidos para Texto Funcionalidad Estructuras de datos comprimidas para un texto T = t 1... t n. Sobre un alfabeto Σ de tamaño σ. Operaciones básicas soportadas: Dadas posiciones l, r, mostrar el área de texto tl... t r. Dado un patrón P = p 1... p m, contar las ocurrencias de P en T. Ubicar cada una de esas occ ocurrencias.
86 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Autoíndices Reemplazan el texto y además lo indexan. Es posible hacerlo usando nh k (T ) bits sin el texto. Existen muchos autoíndices comprimidos para texto. Ej. contar en tiempo O(m log σ), ubicar cada ocurrencia en tiempo O(log n), mostrar en tiempo O(log n + l log σ).
87 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Autoíndices Reemplazan el texto y además lo indexan. Es posible hacerlo usando nh k (T ) bits sin el texto. Existen muchos autoíndices comprimidos para texto. Ej. contar en tiempo O(m log σ), ubicar cada ocurrencia en tiempo O(log n), mostrar en tiempo O(log n + l log σ).
88 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Autoíndices Reemplazan el texto y además lo indexan. Es posible hacerlo usando nh k (T ) bits sin el texto. Existen muchos autoíndices comprimidos para texto. Ej. contar en tiempo O(m log σ), ubicar cada ocurrencia en tiempo O(log n), mostrar en tiempo O(log n + l log σ).
89 I Entropía Grafos y Compresión Rank, Select, y Autoíndices Autoíndices Reemplazan el texto y además lo indexan. Es posible hacerlo usando nh k (T ) bits sin el texto. Existen muchos autoíndices comprimidos para texto. Ej. contar en tiempo O(m log σ), ubicar cada ocurrencia en tiempo O(log n), mostrar en tiempo O(log n + l log σ).
90 I : Idea General Concatenar las listas de adyacencia en un texto. Construir un autoíndice comprimido sobre ese texto. Mostrar: vecinos de un nodo Ubicar: vecinos reversos de un nodo Contar: grado interior de un nodo La entropía de orden k de este texto captura el modelo de copia. La entropía de orden cero captura la distribución sesgada de grado interior.
91 I : Idea General Concatenar las listas de adyacencia en un texto. Construir un autoíndice comprimido sobre ese texto. Mostrar: vecinos de un nodo Ubicar: vecinos reversos de un nodo Contar: grado interior de un nodo La entropía de orden k de este texto captura el modelo de copia. La entropía de orden cero captura la distribución sesgada de grado interior.
92 I : Idea General Concatenar las listas de adyacencia en un texto. Construir un autoíndice comprimido sobre ese texto. Mostrar: vecinos de un nodo Ubicar: vecinos reversos de un nodo Contar: grado interior de un nodo La entropía de orden k de este texto captura el modelo de copia. La entropía de orden cero captura la distribución sesgada de grado interior.
93 I : Idea General Concatenar las listas de adyacencia en un texto. Construir un autoíndice comprimido sobre ese texto. Mostrar: vecinos de un nodo Ubicar: vecinos reversos de un nodo Contar: grado interior de un nodo La entropía de orden k de este texto captura el modelo de copia. La entropía de orden cero captura la distribución sesgada de grado interior.
94 I : Idea General Concatenar las listas de adyacencia en un texto. Construir un autoíndice comprimido sobre ese texto. Mostrar: vecinos de un nodo Ubicar: vecinos reversos de un nodo Contar: grado interior de un nodo La entropía de orden k de este texto captura el modelo de copia. La entropía de orden cero captura la distribución sesgada de grado interior.
95 I : Idea General Concatenar las listas de adyacencia en un texto. Construir un autoíndice comprimido sobre ese texto. Mostrar: vecinos de un nodo Ubicar: vecinos reversos de un nodo Contar: grado interior de un nodo La entropía de orden k de este texto captura el modelo de copia. La entropía de orden cero captura la distribución sesgada de grado interior.
96 I : Idea General Concatenar las listas de adyacencia en un texto. Construir un autoíndice comprimido sobre ese texto. Mostrar: vecinos de un nodo Ubicar: vecinos reversos de un nodo Contar: grado interior de un nodo La entropía de orden k de este texto captura el modelo de copia. La entropía de orden cero captura la distribución sesgada de grado interior.
97 I Comparación Experimental Usando el Compressed Suffix Array de Sadakane como autoíndice. Contra los resultados de Boldi y Vigna. Sobre el mismo crawl UK, 18.5 Mnodos, 292 Mlinks. Vecinos: resultados comparables. Reversos: perdemos por 10X
98 I Comparación Experimental Usando el Compressed Suffix Array de Sadakane como autoíndice. Contra los resultados de Boldi y Vigna. Sobre el mismo crawl UK, 18.5 Mnodos, 292 Mlinks. Vecinos: resultados comparables. Reversos: perdemos por 10X
99 I Comparación Experimental Usando el Compressed Suffix Array de Sadakane como autoíndice. Contra los resultados de Boldi y Vigna. Sobre el mismo crawl UK, 18.5 Mnodos, 292 Mlinks. Vecinos: resultados comparables. Reversos: perdemos por 10X
100 I Comparación Experimental Usando el Compressed Suffix Array de Sadakane como autoíndice. Contra los resultados de Boldi y Vigna. Sobre el mismo crawl UK, 18.5 Mnodos, 292 Mlinks. Vecinos: resultados comparables. Reversos: perdemos por 10X
101 I Comparación Experimental Usando el Compressed Suffix Array de Sadakane como autoíndice. Contra los resultados de Boldi y Vigna. Sobre el mismo crawl UK, 18.5 Mnodos, 292 Mlinks. Vecinos: resultados comparables. Reversos: perdemos por 10X
102 I time per neighbor (ms) Retrieving neighbors space (bpe) ours BV BV (fwd)
103 I time per neighbor (ms) Retrieving reverse neighbors space (bpe) ours BV
104 I Usando Rank y Select de Símbolos Consideremos de nuevo la secuencia T de listas de adyacencia. Guardamos bitmap H[1, e] marcando los comienzos de listas. Precalculamos rank y select para las secuencias T y H.
105 I Usando Rank y Select de Símbolos Consideremos de nuevo la secuencia T de listas de adyacencia. Guardamos bitmap H[1, e] marcando los comienzos de listas. Precalculamos rank y select para las secuencias T y H.
106 I Usando Rank y Select de Símbolos Consideremos de nuevo la secuencia T de listas de adyacencia. Guardamos bitmap H[1, e] marcando los comienzos de listas. Precalculamos rank y select para las secuencias T y H.
107 I a b c a: b: c: d: e: d,c,b d,c,a d d,c d e T = d c b d c a d d c H =
108 I Usando Rank y Select de Símbolos Es fácil traducir todas las operaciones: grado interior (v): rankv (T, e). grado exterior (v): select(h, v + 1) select(h, v). vecinos(v): mostrar T [select(h, v)...] hasta que H[i + 1] = 1. vecinos reversos(v): rank(h, selectv (T, i)), para i s sucesivos. existe(u, v): rank v (T, select(h, u + 1) 1) rank v (T, select(h, u)) = 1. Podemos obtener el grafo traspuesto con espacio extra sublineal (por ejemplo con tiempo O(log log n)). O lo podemos comprimir a orden cero (Wavelet tree, tiempo O(log n/ log log n)). La compresión no es gran cosa (σ es demasiado grande!).
109 I Usando Rank y Select de Símbolos Es fácil traducir todas las operaciones: grado interior (v): rankv (T, e). grado exterior (v): select(h, v + 1) select(h, v). vecinos(v): mostrar T [select(h, v)...] hasta que H[i + 1] = 1. vecinos reversos(v): rank(h, selectv (T, i)), para i s sucesivos. existe(u, v): rank v (T, select(h, u + 1) 1) rank v (T, select(h, u)) = 1. Podemos obtener el grafo traspuesto con espacio extra sublineal (por ejemplo con tiempo O(log log n)). O lo podemos comprimir a orden cero (Wavelet tree, tiempo O(log n/ log log n)). La compresión no es gran cosa (σ es demasiado grande!).
110 I Usando Rank y Select de Símbolos Es fácil traducir todas las operaciones: grado interior (v): rankv (T, e). grado exterior (v): select(h, v + 1) select(h, v). vecinos(v): mostrar T [select(h, v)...] hasta que H[i + 1] = 1. vecinos reversos(v): rank(h, selectv (T, i)), para i s sucesivos. existe(u, v): rank v (T, select(h, u + 1) 1) rank v (T, select(h, u)) = 1. Podemos obtener el grafo traspuesto con espacio extra sublineal (por ejemplo con tiempo O(log log n)). O lo podemos comprimir a orden cero (Wavelet tree, tiempo O(log n/ log log n)). La compresión no es gran cosa (σ es demasiado grande!).
111 I Usando Rank y Select de Símbolos Es fácil traducir todas las operaciones: grado interior (v): rankv (T, e). grado exterior (v): select(h, v + 1) select(h, v). vecinos(v): mostrar T [select(h, v)...] hasta que H[i + 1] = 1. vecinos reversos(v): rank(h, selectv (T, i)), para i s sucesivos. existe(u, v): rank v (T, select(h, u + 1) 1) rank v (T, select(h, u)) = 1. Podemos obtener el grafo traspuesto con espacio extra sublineal (por ejemplo con tiempo O(log log n)). O lo podemos comprimir a orden cero (Wavelet tree, tiempo O(log n/ log log n)). La compresión no es gran cosa (σ es demasiado grande!).
112 I Usando Rank y Select de Símbolos Es fácil traducir todas las operaciones: grado interior (v): rankv (T, e). grado exterior (v): select(h, v + 1) select(h, v). vecinos(v): mostrar T [select(h, v)...] hasta que H[i + 1] = 1. vecinos reversos(v): rank(h, selectv (T, i)), para i s sucesivos. existe(u, v): rank v (T, select(h, u + 1) 1) rank v (T, select(h, u)) = 1. Podemos obtener el grafo traspuesto con espacio extra sublineal (por ejemplo con tiempo O(log log n)). O lo podemos comprimir a orden cero (Wavelet tree, tiempo O(log n/ log log n)). La compresión no es gran cosa (σ es demasiado grande!).
113 I Usando Rank y Select de Símbolos Es fácil traducir todas las operaciones: grado interior (v): rankv (T, e). grado exterior (v): select(h, v + 1) select(h, v). vecinos(v): mostrar T [select(h, v)...] hasta que H[i + 1] = 1. vecinos reversos(v): rank(h, selectv (T, i)), para i s sucesivos. existe(u, v): rank v (T, select(h, u + 1) 1) rank v (T, select(h, u)) = 1. Podemos obtener el grafo traspuesto con espacio extra sublineal (por ejemplo con tiempo O(log log n)). O lo podemos comprimir a orden cero (Wavelet tree, tiempo O(log n/ log log n)). La compresión no es gran cosa (σ es demasiado grande!).
114 I Usando Rank y Select de Símbolos Es fácil traducir todas las operaciones: grado interior (v): rankv (T, e). grado exterior (v): select(h, v + 1) select(h, v). vecinos(v): mostrar T [select(h, v)...] hasta que H[i + 1] = 1. vecinos reversos(v): rank(h, selectv (T, i)), para i s sucesivos. existe(u, v): rank v (T, select(h, u + 1) 1) rank v (T, select(h, u)) = 1. Podemos obtener el grafo traspuesto con espacio extra sublineal (por ejemplo con tiempo O(log log n)). O lo podemos comprimir a orden cero (Wavelet tree, tiempo O(log n/ log log n)). La compresión no es gran cosa (σ es demasiado grande!).
115 I Usando Rank y Select de Símbolos Es fácil traducir todas las operaciones: grado interior (v): rankv (T, e). grado exterior (v): select(h, v + 1) select(h, v). vecinos(v): mostrar T [select(h, v)...] hasta que H[i + 1] = 1. vecinos reversos(v): rank(h, selectv (T, i)), para i s sucesivos. existe(u, v): rank v (T, select(h, u + 1) 1) rank v (T, select(h, u)) = 1. Podemos obtener el grafo traspuesto con espacio extra sublineal (por ejemplo con tiempo O(log log n)). O lo podemos comprimir a orden cero (Wavelet tree, tiempo O(log n/ log log n)). La compresión no es gran cosa (σ es demasiado grande!).
116 I Usando Rank y Select de Símbolos Es fácil traducir todas las operaciones: grado interior (v): rankv (T, e). grado exterior (v): select(h, v + 1) select(h, v). vecinos(v): mostrar T [select(h, v)...] hasta que H[i + 1] = 1. vecinos reversos(v): rank(h, selectv (T, i)), para i s sucesivos. existe(u, v): rank v (T, select(h, u + 1) 1) rank v (T, select(h, u)) = 1. Podemos obtener el grafo traspuesto con espacio extra sublineal (por ejemplo con tiempo O(log log n)). O lo podemos comprimir a orden cero (Wavelet tree, tiempo O(log n/ log log n)). La compresión no es gran cosa (σ es demasiado grande!).
117 I Dónde Estamos? Estructuras prácticas (Blandford) con bpe, sin penalidad aparente. Necesitarían unos 30 bpe para reversos. Estructuras prácticas (Boldi & Vigna) con 3 6 bpe, tiempos razonables, incluye reversos. Estructura teórica (relaciones binarias) con n log(n 2 /e) bits para todo, tiempos O(log log n), bpe como mínimo. Inventamos otra (rank/select) con e log n bits para todo, tiempos O(log log n), bpe como mínimo. Para qué seguir escuchando esta charla?
118 I Dónde Estamos? Estructuras prácticas (Blandford) con bpe, sin penalidad aparente. Necesitarían unos 30 bpe para reversos. Estructuras prácticas (Boldi & Vigna) con 3 6 bpe, tiempos razonables, incluye reversos. Estructura teórica (relaciones binarias) con n log(n 2 /e) bits para todo, tiempos O(log log n), bpe como mínimo. Inventamos otra (rank/select) con e log n bits para todo, tiempos O(log log n), bpe como mínimo. Para qué seguir escuchando esta charla?
119 I Dónde Estamos? Estructuras prácticas (Blandford) con bpe, sin penalidad aparente. Necesitarían unos 30 bpe para reversos. Estructuras prácticas (Boldi & Vigna) con 3 6 bpe, tiempos razonables, incluye reversos. Estructura teórica (relaciones binarias) con n log(n 2 /e) bits para todo, tiempos O(log log n), bpe como mínimo. Inventamos otra (rank/select) con e log n bits para todo, tiempos O(log log n), bpe como mínimo. Para qué seguir escuchando esta charla?
120 I Dónde Estamos? Estructuras prácticas (Blandford) con bpe, sin penalidad aparente. Necesitarían unos 30 bpe para reversos. Estructuras prácticas (Boldi & Vigna) con 3 6 bpe, tiempos razonables, incluye reversos. Estructura teórica (relaciones binarias) con n log(n 2 /e) bits para todo, tiempos O(log log n), bpe como mínimo. Inventamos otra (rank/select) con e log n bits para todo, tiempos O(log log n), bpe como mínimo. Para qué seguir escuchando esta charla?
121 I Dónde Estamos? Estructuras prácticas (Blandford) con bpe, sin penalidad aparente. Necesitarían unos 30 bpe para reversos. Estructuras prácticas (Boldi & Vigna) con 3 6 bpe, tiempos razonables, incluye reversos. Estructura teórica (relaciones binarias) con n log(n 2 /e) bits para todo, tiempos O(log log n), bpe como mínimo. Inventamos otra (rank/select) con e log n bits para todo, tiempos O(log log n), bpe como mínimo. Para qué seguir escuchando esta charla?
122 I Dónde Estamos? Estructuras prácticas (Blandford) con bpe, sin penalidad aparente. Necesitarían unos 30 bpe para reversos. Estructuras prácticas (Boldi & Vigna) con 3 6 bpe, tiempos razonables, incluye reversos. Estructura teórica (relaciones binarias) con n log(n 2 /e) bits para todo, tiempos O(log log n), bpe como mínimo. Inventamos otra (rank/select) con e log n bits para todo, tiempos O(log log n), bpe como mínimo. Para qué seguir escuchando esta charla?
123 I Vuelta a Compresión Pura Hay una forma elegante y efectiva de comprimir T? Re-Pair: encontrar el par más repetido en T y reemplazarlo por un nuevo símbolo, hasta que todos los pares sean únicos.
124 I Vuelta a Compresión Pura Hay una forma elegante y efectiva de comprimir T? Re-Pair: encontrar el par más repetido en T y reemplazarlo por un nuevo símbolo, hasta que todos los pares sean únicos.
125 I Re-Pair a a a b c a a b a a a b c a b d a b d a a 4 A a b a b b c c a b d d a a a A c a A a a A c A d A d
126 I Re-Pair a a A c a A a a A c A d A d a a 2 a A 3 A c 2 c a 1 A d 2 c A 1 d A 1 A B a b a A a B c B a B c A d A d
127 I Re-Pair a B c B a B c A d A d a B 2 B c 2 c B 1 B a 1 c A 1 A d 2 d A 1 A B C a b a A A d a B c B a B c C C
128 I Re-Pair a B c B a B c C C a B 2 B c 2 c B 1 B a 1 c C 1 C C 1 A B C D a b a A A d B c a DB a DC C
129 I Re-Pair a DB a DC C a D 2 DB 1 B a 1 DC 1 C C 1 A B C D E a b a A A d B c a D E B E C C diccionario secuencia comprimida
130 I Re-Pair Comprime bien, descomprime rápido. Aprovecha la propiedad de copia. Comprime mejor si se codifica T diferencialmente. Mejoramos Re-Pair mismo. Estructura de datos sucinta para el diccionario. Método aproximado para secuencias muy grandes.
131 I Re-Pair Comprime bien, descomprime rápido. Aprovecha la propiedad de copia. Comprime mejor si se codifica T diferencialmente. Mejoramos Re-Pair mismo. Estructura de datos sucinta para el diccionario. Método aproximado para secuencias muy grandes.
132 I Re-Pair Comprime bien, descomprime rápido. Aprovecha la propiedad de copia. Comprime mejor si se codifica T diferencialmente. Mejoramos Re-Pair mismo. Estructura de datos sucinta para el diccionario. Método aproximado para secuencias muy grandes.
133 I Re-Pair Comprime bien, descomprime rápido. Aprovecha la propiedad de copia. Comprime mejor si se codifica T diferencialmente. Mejoramos Re-Pair mismo. Estructura de datos sucinta para el diccionario. Método aproximado para secuencias muy grandes.
134 I Re-Pair Comprime bien, descomprime rápido. Aprovecha la propiedad de copia. Comprime mejor si se codifica T diferencialmente. Mejoramos Re-Pair mismo. Estructura de datos sucinta para el diccionario. Método aproximado para secuencias muy grandes.
135 I Re-Pair Comprime bien, descomprime rápido. Aprovecha la propiedad de copia. Comprime mejor si se codifica T diferencialmente. Mejoramos Re-Pair mismo. Estructura de datos sucinta para el diccionario. Método aproximado para secuencias muy grandes.
136 I Mejorando Re-Pair con Estructuras de Datos Sucintas
137 I Mejorando Re-Pair con Estructuras de Datos Sucintas
138 I Mejorando Re-Pair con Estructuras de Datos Sucintas
139 I Re-Pair El Re-Pair original corre en tiempo lineal, pero necesita 20e bytes! Si se usa menos espacio es lentísimo. Diseñamos una versión aproximada para grafos muy grandes. Los resultados son bastante cercanos al método exacto. La técnica se adapta bien a memoria secundaria.
140 I Re-Pair El Re-Pair original corre en tiempo lineal, pero necesita 20e bytes! Si se usa menos espacio es lentísimo. Diseñamos una versión aproximada para grafos muy grandes. Los resultados son bastante cercanos al método exacto. La técnica se adapta bien a memoria secundaria.
141 I Re-Pair El Re-Pair original corre en tiempo lineal, pero necesita 20e bytes! Si se usa menos espacio es lentísimo. Diseñamos una versión aproximada para grafos muy grandes. Los resultados son bastante cercanos al método exacto. La técnica se adapta bien a memoria secundaria.
142 I Re-Pair El Re-Pair original corre en tiempo lineal, pero necesita 20e bytes! Si se usa menos espacio es lentísimo. Diseñamos una versión aproximada para grafos muy grandes. Los resultados son bastante cercanos al método exacto. La técnica se adapta bien a memoria secundaria.
143 I Re-Pair El Re-Pair original corre en tiempo lineal, pero necesita 20e bytes! Si se usa menos espacio es lentísimo. Diseñamos una versión aproximada para grafos muy grandes. Los resultados son bastante cercanos al método exacto. La técnica se adapta bien a memoria secundaria.
144 I Re-Pair El espacio que sobre en memoria principal se usa para una tabla hash. Se recorre la secuencia y se almacenan los pares y frecuencias. Cuando la tabla se llena se dejan de insertar pares nuevos. Al final se recorre la tabla y se eligen los K más frecuentes para reemplazar de una sóla vez. A la siguiente iteración tenemos más espacio para la tabla
145 I Re-Pair El espacio que sobre en memoria principal se usa para una tabla hash. Se recorre la secuencia y se almacenan los pares y frecuencias. Cuando la tabla se llena se dejan de insertar pares nuevos. Al final se recorre la tabla y se eligen los K más frecuentes para reemplazar de una sóla vez. A la siguiente iteración tenemos más espacio para la tabla
146 I Re-Pair El espacio que sobre en memoria principal se usa para una tabla hash. Se recorre la secuencia y se almacenan los pares y frecuencias. Cuando la tabla se llena se dejan de insertar pares nuevos. Al final se recorre la tabla y se eligen los K más frecuentes para reemplazar de una sóla vez. A la siguiente iteración tenemos más espacio para la tabla
UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN
UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN SOLUCIONES EFICIENTES PARA RANK Y SELECT EN SECUENCIAS BINARIAS TESIS PARA OPTAR AL GRADO DE GRADO
Más detallesEstructuras de Datos Compactas
Estructuras de Datos Compactas Gonzalo Navarro www.dcc.uchile.cl/gnavarro gnavarro@dcc.uchile.cl Departamento de Ciencias de la Computación (DCC) Universidad de Chile Sponsors: Parte I: Secuencias Parte
Más detallesUniversidad de Santiago de Chile Facultad de Ciencia Departamento de Matemática y Ciencias de la Computación
Universidad de Santiago de Chile Facultad de Ciencia Departamento de Matemática y Ciencias de la Computación EJERCICIOS RESUELTOS DE ECUACIONES NO LINEALES Profesor: Jaime Álvarez Maldonado Ayudante: Rodrigo
Más detallesMétodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo
TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para
Más detallesCompresión de Datos. Método de Huffman. Dpto. Informática
Compresión de Datos Método de Huffman Manipulación y Preservación de Datos Dpto. Informática Ing. Mariano D'Agostino Introducción La compresión de datos es el proceso de convertir una cadena de datos de
Más detallesTabla de Símbolos. Programación II Margarita Álvarez
Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados
Más detallesUNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN
UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN ÁRBOLES DE SUFIJOS COMPRIMIDOS PARA TEXTOS ALTAMENTE REPETITIVOS MEMORIA PARA OPTAR AL TÍTULO
Más detallesComplejidad de los Algoritmos
Que es un Algoritmo? Complejidad de los Algoritmos Webster: cualquier método especial para resolver cierta clase de problemas. Horowitz: método preciso utilizable en una computadora para la solución de
Más detallesAlgoritmos para determinar Caminos Mínimos en Grafos
Problemas de camino mínimo Algoritmos para determinar Caminos Mínimos en Grafos Algoritmos y Estructuras de Datos III DC, FCEN, UBA, C 202 Problemas de camino mínimo Dado un grafo orientado G = (V, E)
Más detallesTema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
Más detallesTablas de dispersión (hash tables)
Tablas de dispersión (hash tables) La dispersión es una técnica empleada para realizar inserciones, eliminaciones y búsquedas en un tiempo promedio constante. La estructura de datos ideal para la tabla
Más detallesIntroducción Supongamos un subconjunto de n elementos X = {e 1,,e n de un conjunto referencial Y, X Y. Dentro de Y se define una relación de orden tot
Algoritmos de ordenación Análisis y Diseño de Algoritmos Algoritmos de ordenación Algoritmos básicos: Θ(n 2 ) Ordenación por inserción Ordenación por selección Ordenación por intercambio directo (burbuja)
Más detallesIndexación de Datos en Recuperación de Información Geográfica
Laboratorio de Bases de Datos Universidade da Coruña A Coruña, España Indexación de Datos en Recuperación de Información Geográfica Diego Seco dseco@udc.es La Revolución de los Datos Valladolid, 24 de
Más detallesWebir /09/2014
17/09/2014 Temas Compresión de índices - vocabulario Compresión de índices lista de postings 2 Compresión de Vocabulario... ArbolArteriaArterioesclerosisArtrosis... Diccionario en un sólo String Lista
Más detallesso de Photoshop Cur Copyleft - Jorge Sánchez 2006
Curso de Photoshop Copyleft - Jorge Sánchez 2006 Imágenes Según la RAE. Imagen= Figura, representación, semejanza y apariencia de algo. Otra definición (WIKIPEDIA): Forma dibujada, pintada o esculpida,
Más detallesRepresentación de datos y aritmética básica en sistemas digitales
Representación de datos y aritmética básica en sistemas digitales DIGITAL II - ECA Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica Rosa Corti 1 Sistemas de Numeración: Alfabeto:
Más detallesTeoría de grafos y optimización en redes
Teoría de grafos y optimización en redes José María Ferrer Caja Universidad Pontificia Comillas Definiciones básicas Grafo: Conjunto de nodos (o vértices) unidos por aristas G = (V,E) Ejemplo V = {,,,,
Más detallesProcesamiento Digital de Imágenes. Compresión de imágenes
FICH, UNL - Departamento de Informática - Ingeniería Informática Procesamiento Digital de Imágenes Guía de Trabajos Prácticos 8 Compresión de imágenes 2010 1. Objetivos Analizar las características y el
Más detallesInscripción en el Doctorado en Ciencias de la Computación Universidad Nacional de San Luis
Inscripción en el Doctorado en Ciencias de la Computación Universidad Nacional de San Luis TEMA: Índices en Memoria Secundaria para Búsquedas en Texto. TESISTA: Norma Edith Herrera ASESOR CIENTÍFICO: Dr.
Más detallesDefinición de Memoria
Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria
Más detallesMatemáticas para la Computación
Matemáticas para la Computación José Alfredo Jiménez Murillo 2da Edición Inicio Índice Capítulo 1. Sistemas numéricos. Capítulo 2. Métodos de conteo. Capítulo 3. Conjuntos. Capítulo 4. Lógica Matemática.
Más detallesTema 3. Análisis de costes
Tema 3. Análisis de costes http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información
Más detallesGrafos. Amalia Duch Brown Octubre de 2007
Grafos Amalia Duch Brown Octubre de 2007 Índice 1. Definiciones Básicas Intuitivamente un grafo es un conjunto de vértices unidos por un conjunto de líneas o flechas dependiendo de si el grafo es dirigido
Más detallesComplejidad computacional (Análisis de Algoritmos)
Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución
Más detallesArquitectura de Computadores II Clase #7
Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual 1 Recordemos: Jerarquía de Memoria Registros Instr.
Más detallesAlgoritmo para Calcular Logaritmos
Algoritmo para Calcular Logaritmos José Acevedo Jiménez Santiago, Rep. Dom. Calcular el logaritmo de un número hoy día es tarea sencilla, el uso de tablas y reglas para calcular el valor de los mismos
Más detallesGrafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.
Grafos Los grafos son estructuras que constan de vértices o nodos y de aristas o arcos que conectan los vértices entre sí. Un grafo G consiste en dos cosas: 1. Un conjunto V de elementos llamados nodos
Más detallesTema 10- Representación Jerárquica: Tema 10- Representación Jerárquica: Árboles Binarios
Tema 10- Representación Jerárquica: Árboles Binarios Tema 10- Representación Jerárquica: Árboles Binarios Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia
Más detallesAlgoritmos de Strings. Héctor Navarro
lgoritmos de Strings Héctor Navarro Substrings Dado un string T (posiblemente muy grande) y un patrón P (de tamaño menor), encontrar la primera (o todas) las apariciones de P en T Solución trivial de (NM)
Más detallesJerarquía de memoria - Motivación
Jerarquía de memoria - Motivación Idealmente uno podría desear una capacidad de memoria infinitamente grande, tal que cualquier. palabra podría estar inmediatamente disponible Estamos forzados a reconocer
Más detallesTipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos
Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos
Más detallesTEMA 12. CONVERSORES D/A y A/D
TEMA 12. CONVESOES D/A y A/D http://www.tech-faq.com/wp-content/uploads/images/integrated-circuit-layout.jpg IEEE 125 Aniversary: http://www.flickr.com/photos/ieee125/with/2809342254/ TEMA 12. CONVESOES
Más detallesMinería de Datos. Árboles de Decisión. Fac. Ciencias Ing. Informática Otoño de Dept. Matesco, Universidad de Cantabria
Minería de Datos Árboles de Decisión Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Otoño de 2012 Twenty questions Intuición sobre los árboles de decisión Juego
Más detallesTEMA 2. CODIFICACIÓN DE LA INFORMACIÓN
TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN 1. INTRODUCCIÓN. SISTEMAS DE NUMERACIÓN EN. Sistema binario. Sistema octal. Sistema hexadecimal. 2. REPRESENTACIÓN DE TEXTOS.. Números naturales. Números enteros.
Más detallesAlgoritmos sobre Grafos
Sexta Sesión 27 de febrero de 2010 Contenido Deniciones 1 Deniciones 2 3 4 Deniciones sobre Grafos Par de una lista de nodos y una lista de enlaces, denidos a su vez como pares del conjunto de nodos.
Más detalles5to. ESTANDARES MATEMATICOS COMUNES FUNDAMENTALS
Primeras Nueve Semanas Entienda el sistema de valor posicional 5.NBT.2 Explique patrones del numero cero del producto cuando se multiplica un numero por una potencia de 10 y explique patrones en el lugar
Más detallesAnálisis y Diseño de Algoritmos Tablas de Hash
Análisis y Diseño de Algoritmos Tablas de Hash Guillermo Morales-Luna Arturo Díaz Pérez CONTENIDO 1. Dispersión 2. Funciones de dispersión (a) Método de división (b) Método de multiplicación 3. Direccionamiento
Más detallesIntroducción general a la compresión de datos multimedia
Introducción general a la compresión de datos multimedia Necesidad de la compresión La mayoría de las aplicaciones multimedia requieren volúmenes importantes de almacenamiento y transmisión. CD-ROM 640
Más detallesPráctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut
Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut 8.1 Para cada uno de los siguientes conjuntos, encontrar una desigualdad válida que agregada a la formulación
Más detallesAlgoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal
Algoritmos y solución de problemas Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal Introducción Departamento de Electrónica, Sistemas e Informática En las ciencias de la computación
Más detallesREPRESENTACIONES GRÁFICAS
REPRESENTACIONES GRÁFICAS 1. Qué son? Son gráficos que permiten mostrar la respuesta en frecuencia de un sistema lineal. Son herramientas útiles para el análisis, síntesis y diseño. 2. Diagrama de Bode
Más detallesGuía práctica de estudio 06: Lenguaje binario
Guía práctica de estudio 06: Lenguaje binario Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 06: Lenguaje binario
Más detalles5.2. Sistemas de codificación en binario
5.2. Sistemas de codificación en binario 5.2.1. Sistemas numéricos posicionales [ Wakerly 2.1 pág. 26] 5.2.2. Números octales y hexadecimales [ Wakerly 2.2 pág. 27] 5.2.3. Conversión general de sistemas
Más detallesExpresiones regulares y distancia de edición.
Expresiones regulares y distancia de edición. Francisco Barreras QUANTIL S.A.S. 19 de agosto de 2015 Francisco Barreras (QUANTIL S.A.S.) Expresiones regulares y distancia de edición. 19 de agosto de 2015
Más detallesGuía práctica de estudio 06: Lenguaje binario
Guía práctica de estudio 06: Lenguaje binario Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 06: Lenguaje binario
Más detallesMétodos de Ordenamiento. Unidad VI: Estructura de datos
Métodos de Ordenamiento Unidad VI: Estructura de datos Concepto de ordenación La ordenación de los datos consiste en disponer o clasificar un conjunto de datos (o una estructura) en algún determinado orden
Más detalles29-05-2015 20-06-2015 1 20-06-2015 2 IV Unidad Se entiende por codificación en el contexto de la Ingeniería, al proceso de conversión de un sistema de datos de origen a otro sistema de datos de destino.
Más detallesConvertir un AFND a un AFD
Convertir un AFND a un AFD Existe una equivalencia entre los AFD y AFN, de forma que un autómata M es equivalente a un autómata M' si L(M) ) L(M'). Ejemplo: Los autómatas de la siguiente figura son equivalentes.
Más detallesTema: Los Grafos y su importancia para la optimización de redes.
Tema: Los Grafos y su importancia para la optimización de redes. Qué son los Grafos? Un grafo es una dupla G= {X,U}, donde X es un conjunto finito y no vacio de elementos llamados vértices y U es el conjunto
Más detallesProcesadores de Lenguaje
Procesadores de Lenguaje Bootstrapping de Compiladores y Diagramas en T Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2012 Qué es un compilador?
Más detallesRepresentación de la información
Laboratorio de Introducción a las Ciencias de la Computación Página 1 UNIERSIDAD CATÓLICA DE SANTA MARÍA PROGRAMA PROESIONAL DE INGENIERÍA DE SISTEMAS SESIÓN 2: Representación de la información OBJETIOS
Más detallesElementos Diagramas de Clases Clase:
Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.
Más detallesELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2008
ELO211: Sistemas Digitales Tomás rredondo Vidal 1er Semestre 2008 Este material está basado en: textos y material de apoyo: ontemporary Logic Design 1 st / 2 nd edition. Gaetano orriello and Randy Katz.
Más detallesIntroducción a la Programación 11 O. Humberto Cervantes Maceda
Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de
Más detallesReconocímíentes y Agradecimientos 5 Indice 6 Prólogo 11
índice Reconocímíentes y Agradecimientos 5 Indice 6 Prólogo 11 Capítulo 1: Introducción a c/e++ Introducción a C/C++ 13 Introducción 14 Primeros Pasos en C/C++ 15 Mi Primer Programa 15 Bibliotecas 17 Archivos
Más detallesGrafos. Algoritmos y Estructuras de Datos III
Grafos Algoritmos y Estructuras de Datos III Grafos Un grafo G = (V, X ) es un par de conjuntos, donde V es un conjunto de puntos o nodos o vértices y X es un subconjunto del conjunto de pares no ordenados
Más detallesÚltima modificación: 1 de julio de
Contenido SEÑALES DIGITALES Y CAPACIDAD DE CANAL 1.- Señales digitales de 2 y más niveles. 2.- Tasa de bit e intervalo de bit. 3.- Ancho de banda de una señal digital. 4.- Límites en la tasa de transmisión.
Más detallesTema 3: El Método Simplex. Algoritmo de las Dos Fases.
Tema 3: El Método Simplex Algoritmo de las Dos Fases 31 Motivación Gráfica del método Simplex 32 El método Simplex 33 El método Simplex en Formato Tabla 34 Casos especiales en la aplicación del algoritmo
Más detallesCrawling the Web. Presentado por
Crawling the Web Presentado por Rocío o Luján n Cecchini 1 Introducción Qué es un crawler? Infraestructura Algunos algoritmos Métricas de evaluación 2 Qué es un web crawler? www... www... www... www...
Más detallesEjemplo, generación de #s aleatorios
Ejemplo, generación de #s aleatorios Supón que tienes un generador de números aleatorios enteros [0,2] con distribución uniforme, y tu necesitas generar números con distribución uniforme [0,4]. Alguien
Más detallesDatos y tipos de datos
Datos y tipos de datos Dato Representación formal de hechos, conceptos o instrucciones adecuada para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos. Tipo de dato
Más detallesIniciación a la informática
Iniciación a la informática Nociones básicas sobre el uso de ordenadores El ordenador. Qué es el ordenador? Maquina capaz de procesar información, capaz de realizar multitud de operaciones distintas La
Más detallesÁrboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.
ÁRBOLES Árboles Un grafo conectado que no contiene circuitos simples. Utilizados desde 1857, por el matemático Ingles Arthur Cayley para contar ciertos tipos de componentes químicos. Un árbol es un grafo
Más detallesNOTACIÓN O GRANDE. El análisis de algoritmos estima el consumo de recursos de un algoritmo.
NOTACIÓN O GRANDE El análisis de algoritmos estima el consumo de recursos de un algoritmo. Esto nos permite comparar los costos relativos de dos o más algoritmos para resolver el mismo problema. El análisis
Más detallesMODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.
MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.
Más detallesÍndices de RI. UCR ECCI CI-2414 Recuperación de Información Prof. M.Sc. Kryscia Daviana Ramírez Benavides
Índices de RI UCR ECCI CI-2414 Recuperación de Información Prof. M.Sc. Kryscia Daviana Ramírez Benavides Qué es un Índice? Es la segunda etapa para abordar el tema de la RI. Es un archivo que contiene
Más detallesCOMUNICACIÓN DE DATOS
DEPARTAMENTO DE CIENCIA Y TECNOLOGÍA UNIVERSIDAD NACIONAL DE QUILMES Roque Sáenz Peña 352 (B1876BXD) Bernal Buenos Aires Argentina COMUNICACIÓN DE DATOS CODIFICACIÓN DE FUENTE Un problema de interés dentro
Más detallesEn la fig. 1 se representa el grafo, G=(V,A) donde: V = {1, 2, 3, 4, 5, 6} A = { {1,2}, {1,3}, {1,5}, {3}, {3,4}, {4,5}, {5,6} }
Unidad 1 Parte 1 - Teoría de Grafos Introducción En este capítulo veremos la noción matemática de grafo y propiedades de los mismos. En capítulos subsiguientes veremos las estructuras de datos utilizadas
Más detallesBloques Aritméticos - Multiplicadores
Bloques Aritméticos - Multiplicadores La multiplicación es una operación cara (en términos de recursos) y lenta Este hecho ha motivado la integración de unidades completas de multiplicación en los DSPs
Más detallesFundamentos de Programación Visual Basic
Pág. N. 1 Fundamentos de Programación Visual Basic Familia: Editorial: Tecnología de información y computación Macro Autor: Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-236-3 N. de páginas: 280
Más detalles1. Conceptos básicos sobre el problema en cuestión y cuestiones afines. 2. Formulación de los correspondientes algoritmos y su pseudocódigo.
Análisis de Algoritmos Ingeniería Informática, EPS-UAM Información general Organización del curso: 13-15 (mínimo-máximo) semanas docentes: 30-33 clases teóricas. 9-12 clases de problemas 26-30 clases prácticas
Más detallesOrganización de computadoras. Clase 11. Universidad Nacional de Quilmes. Lic. Martínez Federico
Organización de computadoras Clase 11 Universidad Nacional de Quilmes Lic. Martínez Federico Qué vimos? Mascaras Qué vimos? Qué vimos? Mascaras Repeticiones controladas Qué vimos? Mascaras Repeticiones
Más detalles2. Representación de números 1
2. Representación de números 1 Julio C. Carrillo E. Escuela de Matemáticas, UIS 2. Representación de números 2 1. Representación de punto flotante normalizada La notación científica es un tipo de representación
Más detallesImplementación de Máquinas de Búsqueda I: Indices y Compresión
Implementación de Máquinas de Búsqueda I: Indices y Compresión Gonzalo Navarro Centro de Investigación de la Web Universidad de Chile Mapa de la Charla Modelo booleano de Recuperación de Información (RI)
Más detallesLaboratorio de MTP-I. Curso 2008-2009 Proyecto: Sistema de reserva y gestión de vuelos Noviembre 2008
Laboratorio de MTP-I. Curso 2008-2009 Proyecto: Sistema de reserva y gestión de vuelos Noviembre 2008 1 OBJETIVO El objetivo del proyecto a implementar es desarrollar un sistema informático de reserva
Más detallesEstructuras en LabVIEW.
Estructuras en LabVIEW. Sumario: 1. Ejecución según el flujo de datos. 2. Estructuras básicas disponibles en LabVIEW. a) Estructura Sequence. b) Estructura Case. c) Estructura For Loop. d) Estructura While
Más detallesSistemas de Ecuaciones. Lineales I
Sistemas de Ecuaciones Lineales I Preliminares: Expresión matricial. Dificultades numéricas. 521230-1 - DIM Universidad de Concepción Expresión matricial Todo sistema de ecuaciones lineales puede escribirse
Más detallesLa eficiencia de los programas
La eficiencia de los programas Jordi Linares Pellicer EPSA-DSIC Índice General 1 Introducción... 2 2 El coste temporal y espacial de los programas... 2 2.1 El coste temporal medido en función de tiempos
Más detallesComputación I Sistemas de Numeración. Curso 2015 Facultad de Ingeniería Universidad de la República
Computación I Sistemas de Numeración Curso 2015 Facultad de Ingeniería Universidad de la República Definición Conjunto de símbolos y reglas sobre ellos, que se utilizan para la representación de cantidades.
Más detallesEl Sistema de los Números Naturales. L. Rico
Estructura Conceptual: El Sistema de los Naturales L. Rico J. L. Lupiáñez A. Marín Departamento Didáctica de la Matemática Universidad de Granada Las ideas que se encuentran en un primer listado, según
Más detallesCentro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Arquitectura de Ordenadores Tutor: Antonio Rivero Cuesta Unidad Didáctica 1 Representación de la Información y Funciones Lógicas Tema 1 Representación de la Información
Más detallesWebir - 2014 10/09/2014
Webir - 2014 10/09/2014 Temas Recuperación tolerante a errores de ortografía y otras inconsistencias Construcción de índices 2 Búsquedas con Comodines mon* - árbol de búsqueda para las palabras del vocabulario
Más detallesCONOCIENDO EL TECLADO
CONOCIENDO EL TECLADO El teclado esta dividido en varias partes Teclas de alfabeto y caracteres Teclas funcionales van del F1 a F12 Teclas especiales Teclas numéricas Teclas de navegación La ubicación
Más detallesAprender a desarrollar con JavaScript
Presentación del lenguaje JavaScript 1. Definición e histórico rápido 11 2. Requisitos previos para un aprendizaje sencillo del lenguaje 13 3. Herramientas necesarias 14 4. Posicionamiento de JavaScript
Más detallesMercedes Granda Departamento de Electrónica y Computadores. Las propiedades de las redes de Petri nos permiten
22//22 REDES DE PETRI: PROPIEDADES Y MÉTODOS DE ANÁLISIS PROGRAMACIÓN CONCURRENTE MASTER EN COMPUTACIÓN DEPARTAMENTO DE ELECTRÓNICA Y COMPUTADORES UNIVERSIDAD DE CANTABRIA CURSO 22/3 REDES DE PETRI: PROPIEDADES
Más detallesOPTIMIZACIÓN DE CÓDIGO
OPTIMIZACIÓN DE CÓDIGO INTRODUCCION La finalidad de la optimización de código es producir un código objeto lo más eficiente posible. En algunos casos también se realiza una optimización del código intermedio.
Más detallesProgramación entera: Ejemplos, resolución gráfica, relajaciones lineales. Investigación Operativa, Grado en Estadística y Empresa, 2011/12
Programación entera: Ejemplos, resolución gráfica, relajaciones lineales Prof. José Niño Mora Investigación Operativa, Grado en Estadística y Empresa, 2011/12 Esquema Programación entera: definición, motivación,
Más detallesEstructuras de datos: Árboles binarios de
Estructuras de datos: Árboles binarios de búsqueda, Dep. de Computación - Fac. de Informática Universidad de A Coruña Santiago Jorge santiago.jorge@udc.es Árboles binarios de búsqueda, Table of Contents
Más detallesPotencias y raíces Matemáticas 1º ESO
ÍNDICE Potencias y raíces Matemáticas 1º ESO 1. Potencias 2. Propiedades de potencias 3. Cuadrados perfectos 4. Raíces cuadradas 1. POTENCIAS Una potencia es una multiplicación en la que todos los factores
Más detallesProyecto 2: recorridos sobre grafos y componentes conexas
Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información CI-2693. Laboratorio de Algoritmos y Estructuras III Trimestre Abril-Julio 2015 1. Introducción Proyecto 2: recorridos
Más detallesde Operaciones Área Académica: Sistemas Computacionales Tema: Tipos de Modelos en Investigación Profesor: I.S.C. Guadalupe Hernández Coca
Área Académica: Sistemas Computacionales Tema: Tipos de Modelos en Investigación de Operaciones Profesor: I.S.C. Guadalupe Hernández Coca Periodo: Julio Diciembre 2011 Keywords: investigation of operations,
Más detallesBúsquedas en Bases de Datos no Convencionales
Búsquedas en Bases de Datos no Convencionales Diego Arroyuelo, Verónica Ludueña y Nora Reyes - darroy,vlud,nreyes @unsl.edu.ar Dpto. de Informática - Universidad Nacional de San Luis - Tel.: 02652-420822-257
Más detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detallesTEORÍA DE GRAFOS Ingeniería de Sistemas
TEORÍA DE GRAFOS Ingeniería de Sistemas Código: MAT-31114 AUTORES Ing. Daniel Zambrano Ing. Viviana Semprún UNIDADES DE LA ASIGNATURA» UNIDAD I. Relaciones» UNIDAD II. Estructuras Algebraicas» UNIDAD III.
Más detallesEl TAD Grafo. El TAD Grafo
! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices
Más detallesPráctica 3 de Computación Científica I Proyecto: Algoritmo PageRank
Práctica 3 de Computación Científica I Proyecto: Algoritmo PageRank Fecha de distribución: 04-05/11/2010 Fecha de entrega E3: 25-26/11/2010 Fecha de entrega E4: 09-10/12/2010 1. Ejercicios obligatorios
Más detallesAnálisis de cerchas Método de las uniones
Seminario de Modelación Matemática em Arquitectura Análisis de cerchas Método de las uniones Determinar las fuerzas internas de cada uno de los miembros de la siguiente cercha: /2 500 lb 250 lb Y 3/2 X
Más detallesNotación Asintótica 2
Notación Asintótica 2 mat-151 1 Éxamen Rápido (6 minutos) Cada operación fundamental usa c milisegundos, cuánto tiempo toma contar hasta 1,000,000? Cuál es el valor de N? Cuál es el órden de complejidad
Más detallesUNIDAD 6: SISTEMAS DE ECUACIONES
UNIDAD 6: SISTEMAS DE ECUACIONES Continuamos con el estudio de la asignatura; ya hemos abordado cinco capítulos del programa de estudio: Los números reales, ecuaciones, desigualdades y algunas de las funciones
Más detallesDefinición(2) La base (r) de un sistema de numeración especifica el número de dígitos o cardinal* de dicho conjunto ordenado. Las bases más utilizadas
Sistemas numéricos MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Definición(1) Un sistema de representación numérica es un sistema de lenguaje que consiste en: un conjunto ordenado de símbolos
Más detalles