Límites más bajos para estructuras de datos

14

¿Se conocen los resultados que descartan la existencia de estructuras de datos "demasiado buenas para ser verdaderas"?

Por ejemplo: ¿se puede agregar la funcionalidad y J o i n a una estructura de datos de mantenimiento de pedidos (ver Dietz y Sleator STOC '87 ) y aún obtener operaciones de tiempo O ( 1 ) ?SpaglyotJoyonorteO(1)

O: ¿se puede implementar un conjunto ordenado con teclas enteras y operaciones de tiempo ? Por supuesto, esto es al menos tan difícil como descubrir un algoritmo de tiempo lineal para ordenar enteros.O(1)

¿Se ha demostrado que la respuesta es no para cualquiera de estas preguntas? ¿Se conocen los resultados de límite inferior para cualquier estructura de datos naturales?

Shaun Harker
fuente
Las cosas cambian si podemos agregar limitaciones al espacio del problema. Por ejemplo, si tenemos un conjunto limitado de claves y suficiente memoria, podemos ordenarlas en tiempo lineal usando un vector de bits.
jetru
1
Creo que la razón por la que no obtiene demasiadas respuestas a esta pregunta es porque hay tantas posibilidades. Muchas, muchas estructuras de datos han conocido límites inferiores, y es difícil no tropezar con ellas. Una búsqueda en Google de "estructura de datos" "límite inferior" incluye, para mí, 5 documentos que aún no se han mencionado en este hilo. Creo que tendría más éxito si respondiera a su pregunta si la restringiera, quizás eliminando la parte sobre "estructura (s) de datos naturales" y simplemente preguntando sobre el mantenimiento de la lista o los conjuntos ordenados enteros (pero no ambos en una pregunta).
jbapple
Omití que los 5 documentos que encontré en la búsqueda de Google estaban en la primera página de los resultados de búsqueda.
jbapple
@jbapple: ¡Tienes razón! Creo que los clics de personas en esta comunidad que intentan ayudarme con mi pregunta han llevado los buenos resultados a la parte superior de la lista. (Por ejemplo, ¡ESTA página está ahora en la lista!) No recuerdo que fuera útil cuando hice la búsqueda por primera vez, o probablemente habría restringido la pregunta como sugiere. (O era un gran muñeco, eso también es posible. :))
Shaun Harker

Respuestas:

19

tqttu

ingrese la descripción de la imagen aquí

Vea el documento para más detalles. Algunos otros documentos de Mihai también son relevantes y agradables.

ACTUALIZACIÓN: descubrí que su tesis doctoral " Técnicas de límite inferior para estructuras de datos " proporciona límites inferiores para muchos problemas centrales de estructura de datos utilizando las técnicas que desarrolló. Ciertamente vale la pena leerlo.

Hsien-Chih Chang 張顯 之
fuente
1
Esa tesis es maravillosa, muchas gracias por compartir el enlace.
Shaun Harker
6

La respuesta a cualquiera de sus preguntas depende del modelo de cálculo. Por ejemplo, en muchas máquinas, multiplicar enteros es más costoso que agregarlos. Algunos modelos reflejan esto, mientras que otros no.

Para una respuesta a su pregunta sobre conjuntos ordenados de enteros, Andersson y Thorup discuten una solución asintóticamente óptima para mantener un conjunto dinámico ordenado de enteros en el modelo RAM en el espacio polinomial en su documento "Conjuntos ordenados dinámicos con árboles de búsqueda exponencial" . El límite que logran esO(Iniciar sesiónnorte/ /Iniciar sesiónIniciar sesiónnorte). El documento que cita el límite inferior es "Límites óptimos para el problema del predecesor y problemas relacionados" de Beame y Fich .

jbapple
fuente
Agradable. Pero parece que has exagerado el resultado en el artículo de Andersson y Thorup. Se aplica solo a estructuras espaciales lineales, no a todas las estructuras espaciales polinómicas.
Shaun Harker
2
Andersson y Thorup citan a Beame y Fich para el espacio polinomial: "El límite inferior se deriva de un resultado de Beame y Fich. Muestra que incluso si solo queremos admitir operaciones de inserción y predecesoras en el espacio polinomial, una de estas dos operaciones tiene un el peor de los casos de Ω (sqrt (log n / log log n)), que coincide con nuestro límite superior común. Observamos que se pueden encontrar mejores límites y compensaciones para algunas de las operaciones individuales. De hecho, admitiremos min, operaciones max, predecesor, sucesor y delete en tiempo constante, y solo inserta y busca en tiempo Θ (sqrt (log n / log log n)) ".
jbapple
Ya veo, el espacio lineal entra para anunciar el límite superior , pero el Corolario 3.10 de Beame y Fich le da al poliespacio el límite inferior , como dijiste y lo contradije tontamente. También se me ocurre que uno podría querer anunciar los tiempos más desfavorables para los límites superiores mientras que anuncia los tiempos amortizados para los límites inferiores. El artículo de Andersson y Thorup cita (página 5) Beame y Fich para un límite inferior (y superior) amortizado. Pero el Corolario 3.10 solo parece dar el límite inferior para el peor de los casos. ¿Quizás alguien podría darme una pista sobre eso también?
Shaun Harker
2

En extensión a lo que menciona a su pregunta, un ejemplo clásico es el uso del hecho de que los enteros no se pueden ordenar usando comparaciones más rápido que O(norteIniciar sesiónnorte) para demostrar la inexistencia de superestructuras.

Además, no es inusual usar argumentos de teoría de la información (por ejemplo, la complejidad de Kolmogorov) para probar límites inferiores para las estructuras de datos.

chazisop
fuente