Limite inferior da complexidade: a diferença entre árvores de decisão e RAMs

15

Recentemente, descobri um limite quadrático inferior à complexidade de um problema no modelo de árvore de decisão e me pergunto se esse resultado pode ser parcialmente generalizado no modelo de máquina de acesso aleatório. Em parte , quero dizer uma generalização para programas de RAM com uma certa troca de tempo / espaço. Por exemplo, eu gostaria de mostrar que meu problema não pode ser resolvido por um programa de RAM com espaço e tempo linear.

AM Ben-Amram e Z. Galil provaram neste artigo que um programa de RAM rodando no tempo espaço pode ser simulado no tempo em uma máquina apontadora. Conhecemos resultados semelhantes que podem ser aplicados às árvores de decisão?tsO(tregistros)

Como alternativa, é possível simular um programa de RAM executando no espaço com uma árvore de decisão de graus ? (intuitivamente, o endereçamento indireto pode ser simulado usando nós de grau )sss

Totoro
fonte
Eu não sei muito sobre a complexidade de consultas clássicas (complexidade da árvore de decisão), mas ao trabalhar no modelo análogo em uma configuração quântica (complexidade da consulta quântica), às vezes você obtém limites inferiores muito baixos para o modelo de circuito. Por exemplo, para o HSP, você pode mostrar que a complexidade da consulta é polinomial, mas os unitários entre as consultas recebem um número exponencial de portas ... e, tanto quanto suspeitamos, o HSP geral não é factível em tempo polinomial, portanto, a complexidade da consulta fornece apenas limites inferiores muito frouxos. Ou você está bem com um limite inferior muito fraco?
Artem Kaznatcheev
Na verdade, eu realmente gostaria de obter um limite inferior superlinear para (alguns) programas em execução na RAM. Por isso, esperava que restringir a complexidade do espaço pudesse ajudar.
Totoro
11
Eu não entendi sua pergunta. Como você pode ter um limite inferior quadrático na complexidade da consulta? Além disso, as trocas de tempo e espaço costumam usar teoremas de produtos diretos; portanto, você pode ter que trabalhar mais para obter esses resultados.
Hartmut Klauck
11
O limite inferior da complexidade no modelo da árvore de decisão vem de um limite inferior no número de saídas possíveis do problema (cujo logaritmo fornece um limite inferior na altura da árvore).
Totoro

Respostas:

10

O modelo natural relacionado às árvores de decisão que podem simular RAMs é o programa de ramificação. Basicamente, é uma árvore de decisão com subárvores comuns coalescentes produzindo um DAG. O tempo T e o espaço S em uma RAM podem ser simulados na altura T e tamanho 2 ^ S em um programa de ramificação. (Pode ser necessário usar a ramificação de várias vias.)

Para problemas de decisão, é claro que qualquer árvore de decisão precisa apenas de altura = # entradas e espaço = número total de bits na entrada. Observe que, com a ramificação de várias vias, pode-se ter os # bits na entrada maiores que a medida usual do # de entradas (por exemplo, n ponteiros cada um recebendo log n bits). Para esses problemas com nlog n bits totais de entrada, pode-se provar que certos problemas não podem ser resolvidos no tempo O (n) e space = O (n) bits. Essa é a forma do seu problema?

Você parece sugerir que está usando o número de saídas para tentar obter um limite inferior maior. É comum que problemas com várias saídas permitam muitas saídas ao longo de uma única borda em vez de nos nós das folhas (consulte, por exemplo, o artigo de Borodin-Cook de 1982 sobre a classificação dos limites inferiores). No entanto, mesmo sem essa suposição, também é possível calcular qualquer função com altura = # entradas e espaço = # bits de entrada. (Leia e lembre-se da entrada e produza todos os valores em cada nó da folha.)

Paul Beame
fonte
Obrigado pela sua resposta. A entrada do problema é uma coleção de conjuntos de números inteiros, para que se possa supor que eles sejam dados como listas. De qualquer forma, obrigado por apontar a técnica de Borodin e Cook (eu nem sabia). Espero que esse tipo de método possa ser aplicado ao meu problema.
Totoro 30/01
1

O modelo natural relacionado às árvores de decisão que simula RAMs sem perda é o programa de ramificação. Basicamente, é uma árvore de decisão com subárvores comuns coalescentes produzindo um DAG. O tempo T e o espaço S em uma RAM podem ser simulados na altura T e tamanho 2 ^ S em um programa de ramificação. (Pode ser necessário usar a ramificação de várias vias.)

Para problemas de decisão, é claro que qualquer árvore de decisão precisa apenas de altura = # entradas e espaço = número total de bits na entrada. Observe que, com a ramificação de várias vias, pode-se ter os # bits na entrada maiores que a medida usual do # de entradas (por exemplo, n ponteiros cada um recebendo log n bits). Para esses problemas com nlog n bits totais de entrada, pode-se provar que certos problemas não podem ser resolvidos no tempo O (n) e space = O (n) bits em uma RAM.) Essa é a forma do seu problema?

Você parece sugerir que está usando o número de saídas para tentar obter um limite inferior maior. No entanto, mesmo com isso, você também pode calcular qualquer função com altura = # entradas e espaço = # bits de entrada. (Leia e lembre-se da entrada e faça a saída de todos os valores necessários em cada nó folha. É comum permitir várias saídas em um único nó.)

Paul Beame
fonte
Talvez seja melhor para o autor mesclar esta resposta com a anterior, pois são quase idênticas.
Oleksandr Bondarenko