Soluciones eficientes para Rank y Select en secuencias binarias
Magíster en Ciencias, Mención Computación === Las estructuras de datos compactas ofrecen funcionalidad y acceso a los datos usando poco espacio. En una estructura de datos plana se conservan los datos en su forma original y se busca minimizar el espacio extra usado para proveer la funcionalidad, mie...
Main Author: | |
---|---|
Other Authors: | |
Language: | es |
Published: |
Universidad de Chile
2013
|
Subjects: | |
Online Access: | http://www.repositorio.uchile.cl/handle/2250/112506 |
id |
ndltd-UCHILE-oai-repositorio.uchile.cl-2250-112506 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UCHILE-oai-repositorio.uchile.cl-2250-1125062018-08-02T08:53:16Z Soluciones eficientes para Rank y Select en secuencias binarias Providel Godoy, Eliana Paz Navarro Badino, Gonzalo Facultad de Ciencias Físicas y Matemáticas Departamento de Ciencias de la Computación Barbay, Jeremy Bustos Cárdenas, Benjamín Arroyuelo Billiardi, Diego Gastón Estructuras de datos (Ciencia de la computación) Compresión de datos (Ciencia de la computación) Estructuras compactas Secuencias binarias Magíster en Ciencias, Mención Computación Las estructuras de datos compactas ofrecen funcionalidad y acceso a los datos usando poco espacio. En una estructura de datos plana se conservan los datos en su forma original y se busca minimizar el espacio extra usado para proveer la funcionalidad, mientras que en una estructura comprimida además se recodifican los datos para comprimirlos. En esta tesis se estudian estructuras de datos compactas para secuencias de bits (bitmaps) que proveen las operaciones rank y select: rankb(B,i) cuenta el número de bits b ∈ {0,1} en B[1..i] y selectb(B,i) retorna la posición de la i-ésima ocurrencia de b en B. En teoría ambas consultas se pueden responder en tiempo constante, pero la implementación práctica de estas soluciones no siempre es directa o con buenos resultados empíricos. Las estructuras de datos con un enfoque más práctico, usualmente no óptimas en teoría, pueden tener mejor desempeño que implementaciones directas de soluciones teóricamente óptimas. Esto es particularmente notorio para la operación select. Además, las implementaciones más eficientes para rank son deficientes para select, y viceversa. En esta tesis se definen nuevas estructuras de datos prácticas para mejorar el desempeño de las operaciones de rank y select, basadas en dos ideas principales. La primera consiste en, a diferencia de las técnicas actuales, que usan estructuras separadas para rank y select, reutilizar cada estructura también para acelerar la otra operación. La segunda idea es simular en tiempo de consulta una tabla de resultados precomputados en vez de almacenarla, lo que permite utilizar tablas universales mucho mayores que las que sería posible almacenar. Los resultados experimentales muestran que la primera idea, aplicada a estructuras planas, utiliza sólo 3% de espacio sobre el bitmap y ofrece tiempos similares a estructuras que usan mucho más espacio, para ambas operaciones. En estructuras de datos comprimidas se pueden combinar ambas ideas, obteniendo un espacio extra de menos de 7 % sobre el bitmap comprimido y manteniendo, para ambas operaciones, tiempos similares o mejores que las estructuras actuales (que usan 27 % de espacio extra). 2013-04-01T18:48:50Z 2013-04-01T18:48:50Z 2012 Tesis http://www.repositorio.uchile.cl/handle/2250/112506 es Universidad de Chile |
collection |
NDLTD |
language |
es |
sources |
NDLTD |
topic |
Estructuras de datos (Ciencia de la computación) Compresión de datos (Ciencia de la computación) Estructuras compactas Secuencias binarias |
spellingShingle |
Estructuras de datos (Ciencia de la computación) Compresión de datos (Ciencia de la computación) Estructuras compactas Secuencias binarias Providel Godoy, Eliana Paz Soluciones eficientes para Rank y Select en secuencias binarias |
description |
Magíster en Ciencias, Mención Computación === Las estructuras de datos compactas ofrecen funcionalidad y acceso a los datos usando poco espacio. En una estructura de datos plana se conservan los datos en su forma original y se busca minimizar el espacio extra usado para proveer la funcionalidad, mientras que en una estructura comprimida además se recodifican los datos para comprimirlos. En esta tesis se estudian estructuras de datos compactas para secuencias de bits (bitmaps) que proveen las operaciones rank y select: rankb(B,i) cuenta el número de bits b ∈ {0,1} en B[1..i] y selectb(B,i) retorna la posición de la i-ésima ocurrencia de b en B.
En teoría ambas consultas se pueden responder en tiempo constante, pero la implementación práctica de estas soluciones no siempre es directa o con buenos resultados empíricos. Las estructuras de datos con un enfoque más práctico, usualmente no óptimas en teoría, pueden tener mejor desempeño que implementaciones directas de soluciones teóricamente óptimas. Esto es particularmente notorio para la operación select. Además, las implementaciones más eficientes para rank son deficientes para select, y viceversa.
En esta tesis se definen nuevas estructuras de datos prácticas para mejorar el desempeño de las operaciones de rank y select, basadas en dos ideas principales. La primera consiste en, a diferencia de las técnicas actuales, que usan estructuras separadas para rank y select, reutilizar cada estructura también para acelerar la otra operación. La segunda idea es simular en tiempo de consulta una tabla de resultados precomputados en vez de almacenarla, lo que permite utilizar tablas universales mucho mayores que las que sería posible almacenar.
Los resultados experimentales muestran que la primera idea, aplicada a estructuras planas, utiliza sólo 3% de espacio sobre el bitmap y ofrece tiempos similares a estructuras que usan mucho más espacio, para ambas operaciones. En estructuras de datos comprimidas se pueden combinar ambas ideas, obteniendo un espacio extra de menos de 7 % sobre el bitmap comprimido y manteniendo, para ambas operaciones, tiempos similares o mejores que las estructuras actuales (que usan 27 % de espacio extra). |
author2 |
Navarro Badino, Gonzalo |
author_facet |
Navarro Badino, Gonzalo Providel Godoy, Eliana Paz |
author |
Providel Godoy, Eliana Paz |
author_sort |
Providel Godoy, Eliana Paz |
title |
Soluciones eficientes para Rank y Select en secuencias binarias |
title_short |
Soluciones eficientes para Rank y Select en secuencias binarias |
title_full |
Soluciones eficientes para Rank y Select en secuencias binarias |
title_fullStr |
Soluciones eficientes para Rank y Select en secuencias binarias |
title_full_unstemmed |
Soluciones eficientes para Rank y Select en secuencias binarias |
title_sort |
soluciones eficientes para rank y select en secuencias binarias |
publisher |
Universidad de Chile |
publishDate |
2013 |
url |
http://www.repositorio.uchile.cl/handle/2250/112506 |
work_keys_str_mv |
AT providelgodoyelianapaz solucioneseficientespararankyselectensecuenciasbinarias |
_version_ |
1718716159376752640 |