Problèmes qui nécessitent un temps quadratique

19

Je cherche des exemples de problèmes qui ont une borne inférieure de Ω(|x|2 ) pour l'entrée x .

Le problème doit avoir les propriétés suivantes:

  1. Ω(n2)Preuve d'exécution Ω ( n 2 ) pour tout algorithme - la première priorité est d'avoir un argument de limite inférieure aussi simple que possible.
  2. O(n2)Algorithme O ( n 2 ) , si possible, simple aussi.
  3. Taille de sortie de O(n) (ou inférieure). Évidemment, tout problème nécessitant une sortie de longueur Ω(n2) nécessitait au moins un temps d'exécution similaire, mais ce n'est pas ce que je recherche. Notez que tout problème de décision convient ici.
  4. (si possible) un problème "naturel". Sans définition formelle, un problème que tout diplômé CS reconnaîtrait est préférable.

On m'a récemment posé des questions sur un tel problème, mais je n'ai pas pu en trouver un simple. Le premier problème qui m'est venu à l'esprit était , qui a été conçu comme un problème d'exécution Ω ( n 2 ) . Ce n'était pas assez simple et de plus, la conjoncture s'est récemment révélée fausse : o.3SUMΩ(n2)

Aller à un problème extrêmement naturel, je crois que le problème qui obtient en entrée un TM déterministe et entrée et indique la position de la tête de bande après ( | M | + | x | ) 2 étapes quand il est courir sur x répond probablement à la question.M,x(|M|+|x|)2x


Si vous en avez absolument besoin, admettons que nous utilisons le modèle TM à bande unique, bien que je préfère les problèmes dont l'exécution est indépendante du modèle exact (tant qu'il est raisonnable).


Alors, pouvons-nous trouver un problème simple (à prouver), naturel (bien connu) dont le temps d'exécution est ?Θ(n2)

RB
la source
Je pense que "étant donné les nombres naturels , y , calculer x + y " se qualifie. Notez également cette question . xyx+y
Raphael
2
La seule façon dont nous savons prouver les bornes inférieures super-linéaires sur les machines de Turing multitape est la diagonalisation. Pour les machines de Turing à bande unique, vous pouvez obtenir un peu mieux en utilisant des séquences de croisement, mais pas aussi loin que sauf si vous restreignez peut-être l'espace. n2
Yuval Filmus
2
Voir ici pour une autre question connexe; l'inversion des entrées semble être un bon candidat.
Raphael
Je ne pense pas que vous puissiez le faire avec un problème de décision, car la borne inférieure la mieux trouvée pour NP est O (n).
Albert Hendriks
Merci pour votre commentaire @AlbertHendriks. Pouvez-vous s'il vous plaît partager une référence à une source / enquête affirmant que la borne inférieure la plus connue pour tout problème dans NP est ? Ω(n)
RB

Réponses:

7

Trouver une coupe de gâteau sans envie nécessite des requêtes . Cependant, cela ne répond pas directement à votre question car le modèle de calcul est différent d'une machine de Turing.Ω(n2)

Soit dit en passant, actuellement l' algorithme le plus rapide connu pour ce problème nécessite requêtes, il y a donc un écart énorme par rapport à la borne inférieure - probablement l'un des plus grands écarts en informatique.nnnnnn

Erel Segal-Halevi
la source
1

Comme dans le lien fourni par Raphael, Peter montre que l'inversion d'entrée nécessite Θ(n2) temps sur les MT à bande unique vanille. Pour un problème de décision, le langage

L={x0|x|xx{0,1}}
aussi prouvable a besoin Θ(n2) le temps de calcul. Pour voir cela, utilisez l'argument de complexité de la communication de Peter, ainsi qu'un résultat classique dont EQn besoinΘ(n) bits de communication, pour afficher la limite inférieure quadratique deL . L'approche similaire fonctionne pour une approche plus naturelleL={xxx{0,1}} .

Soit dit en passant, il convient de mentionner que la "méthode de la séquence de croisement" mentionnée par Yuval est (à ma connaissance) mathématiquement équivalente (ou, peut-être, inforior) à celle de la complexité de la communication.


SATO(n2cos(π/7)) no(1)2cos(π/7)1.8

Lwins
la source