Complexité borne inférieure: l'écart entre les arbres de décision et les RAM

15

J'ai récemment découvert une borne inférieure quadratique sur la complexité d'un problème dans le modèle d'arbre de décision, et je me demande si ce résultat pourrait être partiellement généralisé au modèle de machine à accès aléatoire. Par partiellement , je veux dire une généralisation aux programmes RAM avec un certain compromis temps / espace. Par exemple, je voudrais montrer que mon problème ne peut pas être résolu par un programme RAM à temps et espace linéaire.

AM Ben-Amram et Z. Galil ont prouvé dans cet article qu'un programme RAM fonctionnant dans le temps et dans l'espace s peut être simulé en O ( tts temps sur une machine à pointeur. Connaissons-nous des résultats similaires qui pourraient être appliqués aux arbres de décision?O(tlogs)

Alternativement, est-il possible de simuler un programme RAM fonctionnant dans l'espace avec un arbre de décision de degré s ? (intuitivement, l'adressage indirect pourrait être simulé en utilisant des nœuds de degré s )sss

Totoro
la source
Je ne connais pas trop la complexité des requêtes classiques (complexité de l'arbre de décision) mais lorsque vous travaillez dans le modèle analogue dans un cadre quantique (complexité des requêtes quantiques), vous obtenez parfois des limites inférieures assez médiocres pour le modèle de circuit. Par exemple, pour HSP, vous pouvez montrer que la complexité de la requête est polynomiale, mais les unitaires entre les requêtes prennent un nombre exponentiel de portes ... et pour autant que nous soupçonnons que le HSP général n'est pas réalisable en temps polynomial, la complexité de la requête ne donne que limites inférieures très lâches. Ou êtes-vous bien avec une limite inférieure très lâche?
Artem Kaznatcheev
En fait, j'aimerais vraiment obtenir une limite inférieure super-linéaire pour (certains) programmes fonctionnant sur RAM. C'est pourquoi j'espérais que limiter la complexité de l'espace pourrait aider.
Totoro
1
Je ne comprends pas votre question. Comment pouvez-vous avoir une limite inférieure quadratique sur la complexité des requêtes? De plus, les compromis temps-espace utilisent souvent des théorèmes de produit directs, vous devrez donc peut-être travailler plus fort pour obtenir de tels résultats.
Hartmut Klauck
1
La complexité de la borne inférieure du modèle d'arbre de décision provient d'une borne inférieure du nombre de sorties possibles du problème (dont le logarithme fournit une borne inférieure de la hauteur de l'arbre).
Totoro

Réponses:

10

Le modèle naturel lié aux arbres de décision pouvant simuler des RAM est le programme de branchement. Fondamentalement, il s'agit d'un arbre de décision avec des sous-arbres communs fusionnés donnant un DAG. Le temps T et l'espace S sur une RAM peuvent être simulés en hauteur T et en taille 2 ^ S sur un programme de branchement. (Vous devrez peut-être utiliser une ramification multidirectionnelle.)

Pour les problèmes de décision, il est clair que tout arbre de décision n'a besoin que de hauteur = # entrées et d'espace = nombre total de bits dans l'entrée. Notez qu'avec une ramification multidirectionnelle, le nombre de bits dans l'entrée peut être supérieur à la mesure habituelle du nombre d'entrées (par exemple, n pointeurs prenant chacun log n bits). Pour de tels problèmes avec nlog n total des bits d'entrée, on peut prouver que certains problèmes ne peuvent pas être résolus en temps O (n) et espace = O (n) bits. Est-ce la forme de votre problème?

Vous semblez suggérer que vous utilisez le nombre de sorties pour essayer d'obtenir une limite inférieure plus grande. Il est habituel que les problèmes à sorties multiples autorisent de nombreuses sorties le long d'un seul bord plutôt qu'aux nœuds feuilles (voir, par exemple, l'article de Borodin-Cook de 1982 sur le tri des bornes inférieures). Cependant, même sans cette hypothèse, on peut également calculer n'importe quelle fonction avec hauteur = # entrées et espace = # bits d'entrée. (Lisez et souvenez-vous de l'entrée et sortez toutes les valeurs à chaque nœud feuille.)

Paul Beame
la source
Merci pour votre réponse. L'entrée du problème est une collection d'ensembles d'entiers, de sorte qu'on peut supposer qu'ils sont donnés sous forme de listes. Quoi qu'il en soit, merci d'avoir signalé la technique de Borodin et Cook (je ne la connaissais pas du tout). J'espère que ce type de méthode pourra être appliqué à mon problème.
Totoro
1

Le modèle naturel lié aux arbres de décision qui simule les RAM sans perte est le programme de branchement. Fondamentalement, il s'agit d'un arbre de décision avec des sous-arbres communs fusionnés donnant un DAG. Le temps T et l'espace S sur une RAM peuvent être simulés en hauteur T et en taille 2 ^ S sur un programme de branchement. (Vous devrez peut-être utiliser une ramification multidirectionnelle.)

Pour les problèmes de décision, il est clair que tout arbre de décision n'a besoin que de hauteur = # entrées et d'espace = nombre total de bits dans l'entrée. Notez qu'avec une ramification multidirectionnelle, le nombre de bits dans l'entrée peut être plus grand que la mesure habituelle du nombre d'entrées (par exemple, n pointeurs prenant chacun log n bits). Pour de tels problèmes avec nlog n total des bits d'entrée, on peut prouver que certains problèmes ne peuvent pas être résolus en temps O (n) et espace = O (n) bits sur une RAM.) Est-ce la forme de votre problème?

Vous semblez suggérer que vous utilisez le nombre de sorties pour essayer d'obtenir une limite inférieure plus grande. Cependant, même avec cela, vous pouvez également calculer n'importe quelle fonction avec hauteur = # entrées et espace = # bits d'entrée. (Lisez et souvenez-vous de l'entrée et sortez toutes les valeurs requises à chaque nœud feuille. Il est habituel d'autoriser plusieurs sorties à un seul nœud.)

Paul Beame
la source
Il vaut peut-être mieux que l'auteur fusionne cette réponse avec la précédente car elles sont presque identiques.
Oleksandr Bondarenko