Tout problème algorithmique a une complexité temporelle dominée par le comptage?

13

Ce que j'appelle compter, c'est le problème qui consiste à trouver le nombre de solutions à une fonction. Plus précisément, étant donné une fonction (pas nécessairement une boîte noire), approximative .f:N{0,1}#{XNF(X)=1}=|F-1(1)|

Je recherche des problèmes algorithmiques qui impliquent une sorte de comptage et dont la complexité temporelle est fortement influencée par ce problème de comptage sous-jacent.

Bien sûr, je recherche des problèmes qui ne comptent pas eux-mêmes. Et il serait grandement apprécié que vous puissiez fournir une documentation sur ces problèmes.

Philippe Lamontagne
la source

Réponses:

15

Ceci fait suite à la réponse de Suresh. Comme il le dit, il y a beaucoup de problèmes de construction en géométrie de calcul où la complexité de la sortie est une borne inférieure triviale sur le temps d'exécution de tout algorithme. Par exemple: les arrangements de lignes planes, les diagrammes de Voronoï en 3 dimensions et les graphiques de visibilité planaires ont tous une complexité combinatoire dans le pire des cas, donc tout algorithme qui construit ces objets nécessite trivialement un temps Ω ( n 2 ) dans le pire des cas . (Il existe des algorithmes à temps O ( n 2 ) pour ces trois problèmes.)Θ(n2)Ω(n2)O(n2)

Mais des contraintes similaires sont supposées s'appliquer également aux problèmes de décision . Par exemple, étant donné un ensemble de n lignes dans le plan, avec quelle facilité pouvez-vous vérifier si trois lignes passent par un point commun? Eh bien, vous pouvez construire l'agencement des lignes (le graphe planaire défini par leurs points d'intersection et les segments entre eux), mais cela prend du temps . L'un des principaux résultats de ma thèse de doctorat était que dans un modèle d'arbre de décision restreint mais naturel, le temps Ω ( n 2 ) est nécessaire pour détecter les triples intersections. Intuitivement, nous devons énumérer tous (Θ(n2)Ω(n2) points d'intersection et recherchez les doublons.(n2)

De même, il existe un ensemble de nombres où triplets d'éléments totalisent zéro. Par conséquent, tout algorithme (modélisé par une certaine classe d'arbres de décision) pour tester si un ensemble donné contient trois éléments de cette somme à zéro nécessite Ω ( n 2 ) du temps . (Il est possible de raser certains journaux via le parallélisme au niveau du bit, mais peu importe.)Θ(n2)Ω(n2)

Un autre exemple, également tiré de ma thèse, est le problème de Hopcroft: étant donné points et n lignes dans le plan, est-ce que n'importe quel point contient une ligne. Le nombre de cas le plus défavorable incidences point-droite est connu pour être Θ ( n quatre / trois ) . Je prouvé que , dans un restreint (mais toujours naturel) modèle de calcul, Ω ( n quatre / trois ) de temps est nécessaire pour déterminer s'il y a même une incidence point de ligne. Intuitivement, il faut énumérer tous Θ ( n 4 / 3 ) à proximiténnΘ(n4/3)Ω(n4/3)Θ(n4/3) -incidences et vérifiez chacun pour voir si c'est vraiment une incidence.

Formellement, ces bornes inférieures ne sont encore que des conjectures, car elles nécessitent des modèles de calcul restreints, qui sont spécialisés dans le problème en question, en particulier pour le problème de Hopcroft). Cependant, prouver des limites inférieures pour ces problèmes dans le modèle RAM est probablement aussi difficile que tout autre problème de limite inférieure (c.-à-d., Nous n'avons aucune idée) - voir le document SODA 2010 de Patrascu et Williams reliant les généralisations de 3SUM au temps exponentiel hypothèse.

Jeffε
la source
9

Je ne suis pas complètement sûr si c'est ce que vous voulez dire, mais il y a un tas de problèmes qui ne semblent pas compter les problèmes, cependant, la meilleure façon de les résoudre est de compter les objets. Un de ces problèmes consiste à détecter si un graphique contient un triangle. L'algorithme connu le plus rapide consiste à calculer la trace du cube de la matrice d'adjacence, qui est 6 fois le nombre de triangles dans le graphique (non orienté). Cela prend du temps O ( ) en utilisant l'algorithme de multiplication matricielle Coppersmith-Winograd, et a été remarqué pour la première fois par Itai et Rodeh en 1978. De même, la meilleure façon de détecter une k-clique est de trouver le nombre de k -cliques, toujours via la multiplication matricielle.|V|2,376

virgi
la source
8

Valiant a prouvé que le problème de trouver le permanent d'une matrice est complet pour #P . Voir la page wikipedia sur la question. #P est la classe de complexité correspondant au comptage du nombre de chemins d'acceptation d'une machine NP.

Joe Fitzsimons
la source
3

La correspondance parfaite planaire bipartite (et genre de logarithme) est un problème où l'algorithme de Kastelyn pour compter les correspondances planaires (étendu par Galluccio et Loebl et mis en parallèle par Kulkarni, Mahajan et Vardarajan) joue un rôle important même dans la version de recherche du problème. Toutes les références pertinentes se trouvent dans le document suivant:

Des correspondances parfaites et des correspondances semi-intégrales parfaites en NC. Raghav Kulkarni, Meena Mahajan et Kasturi R. Varadarajan. Chicago Journal of Theoretical Computer Science, Volume 2008 Article 4.

SamiD
la source
1

Je prendrai "grandement influencé" comme une contrainte douce plutôt que comme une réduction. En ce sens, BEAUCOUP de problèmes de géométrie computationnelle ont des temps d'exécution qui sont délimités par une structure combinatoire sous-jacente. par exemple, la complexité du calcul d'un arrangement de formes est directement liée à la complexité intrinsèque de tels arrangements.

Un autre exemple d'actualité est que divers problèmes de correspondance de motifs de points ont des temps de fonctionnement qui se résument à l'estimation de quantités comme le nombre de distances répétées dans un ensemble de points, etc.

Suresh Venkat
la source
1

Je ne sais pas si c'est ce que vous cherchiez, mais les transitions de phase des problèmes NP-Complete reposent fortement sur des arguments probabilistes, qui ne sont qu'une autre forme de comptage.

LLL a été utilisé pour résoudre certains problèmes de sous-somme à faible densité, dont le succès repose sur des vecteurs à réseau court à haute probabilité existants qui répondent aux critères d'être une solution de somme de sous-ensemble. Survey Propagation s'appuie sur la structure de l'espace des solutions (et le nombre de solutions car il fixe des variables) pour trouver des solutions proches du seuil critique.

Borgs, Chayes et Pittel ont à peu près complètement caractérisé la transition de phase du problème de partition aléatoire (uniforme) et ont ainsi caractérisé le nombre de solutions que l'on peut attendre pour une instance (aléatoire) donnée du problème de partition numérique.

user834
la source