Limites inferiores para estruturas de dados

14

São conhecidos resultados que descartam a existência de estruturas de dados "boas demais para serem verdadeiras"?

Por exemplo: pode-se adicionar e J o i n funcionalidade de um estrutura de dados de manutenção (ver a fim Dietz e Sleator STOC '87 ) e ainda assim obter S ( 1 ) as operações de tempo?SpeuEutJoEunO(1)

Ou: pode-se implementar um conjunto ordenado com chaves inteiras e operações de tempo ? Obviamente, isso é pelo menos tão difícil quanto descobrir um algoritmo de tempo linear para classificar números inteiros.O(1)

A resposta foi provada ser negativa para qualquer uma dessas perguntas? Os resultados de limite inferior são conhecidos por qualquer estrutura de dados natural?

Shaun Harker
fonte
As coisas mudam se pudermos adicionar limitações ao espaço do problema. Por exemplo, se tivermos um conjunto limitado de chaves e memória suficiente, poderemos classificá-las em tempo linear usando um vetor de bits.
jetru
1
Acho que a razão de você não receber muitas respostas para essa pergunta é que existem tantas possibilidades. Muitas estruturas de dados possuem limites inferiores e é difícil não tropeçar neles. Uma pesquisa no Google por "estrutura de dados" "limite inferior" inclui, para mim, 5 artigos que ainda não foram mencionados neste tópico. Eu acho que você teria mais sucesso em responder sua pergunta se a restringisse, talvez removendo a parte sobre "estruturas de dados naturais" e apenas perguntando sobre manutenção de listas ou conjuntos ordenados com números inteiros (mas não os dois em uma pergunta).
Jbapple
Omiti que os cinco documentos que encontrei na pesquisa do Google estavam apenas na primeira página dos resultados da pesquisa.
Jbapple
@jbapple: Você está certo! Penso que os cliques de pessoas desta comunidade que tentam me ajudar com minha pergunta levaram os bons resultados ao topo da lista. (Por exemplo, ESTA página está agora na lista!) Não me lembro de ter sido útil quando fiz a pesquisa pela primeira vez, ou provavelmente teria restringido a pergunta, como você sugere. (Ou eu era um manequim grande, isso é possível também :).)
Shaun Harker

Respostas:

19

tqtvocê

insira a descrição da imagem aqui

Veja o documento para detalhes. Alguns outros trabalhos de Mihai também são relevantes e agradáveis.

ATUALIZAÇÃO: Descobri que sua tese de doutorado " Técnicas de limite inferior para estruturas de dados " fornece limites inferiores para muitos problemas centrais da estrutura de dados usando as técnicas que ele desenvolveu. Certamente vale a pena ler.

Hsien-Chih Chang 張顯 之
fonte
1
Essa tese é maravilhosa, muito obrigado por compartilhar o link.
Shaun Harker
6

A resposta para qualquer uma das suas perguntas depende do modelo de computação. Por exemplo, em muitas máquinas, multiplicar números inteiros é mais caro do que adicioná-los. Alguns modelos refletem isso, enquanto outros não.

O(registron/registroregistron)

jbapple
fonte
Agradável. Mas parece que você exagerou o resultado no artigo de Andersson e Thorup. Aplica-se apenas a estruturas espaciais lineares, nem todas as estruturas espaciais polinomiais.
Shaun Harker
2
Andersson e Thorup citam Beame e Fich para o espaço polinomial: "O limite inferior segue um resultado de Beame e Fich. Isso mostra que, mesmo que apenas desejemos apoiar operações de inserção e predecessão no espaço polinomial, uma dessas duas operações tem um limite de pior caso de Ω (sqrt (log n / log log n)), correspondendo ao nosso limite superior comum. Observamos que é possível encontrar melhores limites e trade-offs para algumas operações individuais. De fato, apoiaremos min, operações máximas, predecessoras, sucessoras e de exclusão em tempo constante, e somente insira e pesquise em Θ (sqrt (log n / log log n)). "
jbapple
Entendo, o espaço linear chega para anunciar o limite superior , mas o Corolário 3.10 de Beame e Fich fornece o limite inferior do poliespaço , como você afirmou e eu contradizi tolamente. Também me ocorre que alguém pode querer anunciar os piores momentos para os limites superiores, enquanto anuncia os tempos amortizados para os limites inferiores. De fato, o artigo de Andersson e Thorup cita (página 5) Beame e Fich por um limite inferior (e superior) amortizado. Mas o Corolário 3.10 parece apenas fornecer o limite inferior para o pior caso. Talvez alguém possa me dar uma dica sobre isso também?
Shaun Harker
2

O(nregistron)

Além disso, não é incomum usar argumentos da teoria da informação (por exemplo, complexidade de Kolmogorov) para provar limites mais baixos para estruturas de dados.

chazisop
fonte