Justifier l'analyse du pire cas asymptotique aux scientifiques

22

J'ai travaillé sur l'introduction de certains résultats de la complexité informatique dans la biologie théorique, en particulier l' évolution et l'écologie , dans le but d'être intéressant / utile pour les biologistes. L'une des plus grandes difficultés que j'ai rencontrées est de justifier l'utilité d'une analyse asymptotique du pire des cas pour les limites inférieures. Existe-t-il des références de longueur d'article qui justifient les limites inférieures et l'analyse asymptotique du pire des cas pour un public scientifique?

Je suis vraiment à la recherche d'une bonne référence à laquelle je puisse me référer dans mon écriture au lieu d'avoir à passer par les justifications dans l'espace limité dont je dispose (car ce n'est pas le point central de l'article). Je connais également d' autres types et paradigmes d'analyse, donc je ne cherche pas une référence qui dit que le pire des cas est la "meilleure" analyse (car il y a des paramètres quand ce n'est pas le cas), mais que ce n'est pas le cas completeletely inutile: il peut nous donne encore un aperçu théoriquement utiles dans le comportement des réels algorithmes sur réels entrées. Il est également important que l' écriture soit destinée aux scientifiques généralistes et pas seulement des ingénieurs, des mathématiciens ou des informaticiens.

À titre d'exemple, l'essai de Tim Roughgarden présentant la théorie de la complexité aux économistes est sur la bonne voie pour ce que je veux. Cependant, seules les sections 1 et 2 sont pertinentes (le reste est trop spécifique à l'économie) et le public visé est un peu plus à l'aise avec la pensée à l'épreuve du théorème que le lemme que la plupart des scientifiques [1] .


Détails

Dans le cadre de la dynamique adaptative en évolution , j'ai rencontré deux types spécifiques de résistance de biologistes théoriciens:

[A] "Pourquoi devrais-je me soucier du comportement pour arbitraire ? Je sais déjà que le génome a paires de bases (ou peut-être gènes) et pas plus."n = 3 10 9 n = 2 10 4nn=3109n=2104

Ceci est relativement facile à balayer avec l'argument "on peut imaginer attendre secondes, mais pas ". Mais, un argument plus complexe pourrait dire que "bien sûr, vous dites que vous ne vous souciez que d'un spécifique , mais vos théories n'utilisent jamais ce fait, elles utilisent simplement qu'il est grand mais fini, et c'est votre théorie que nous étudions avec analyse asymptotique ".2 10 9 n1092109n

[B] "Mais vous avez seulement montré que c'est difficile en construisant ce paysage spécifique avec ces gadgets. Pourquoi devrais-je m'en soucier plutôt que la moyenne?"

Il s'agit d'une critique plus difficile à aborder, car de nombreux outils couramment utilisés dans ce domaine proviennent de la physique statistique, où il est souvent sûr de supposer une distribution uniforme (ou autre simple simple). Mais la biologie est «la physique avec l'histoire» et presque tout n'est pas à l'équilibre ou «typique», et les connaissances empiriques sont insuffisantespour justifier des hypothèses sur les distributions par rapport à l'entrée. En d'autres termes, je veux un argument similaire à celui utilisé contre l'analyse de cas moyen à distribution uniforme en génie logiciel: "nous modélisons l'algorithme, nous ne pouvons pas construire un modèle raisonnable de la façon dont l'utilisateur va interagir avec l'algorithme ou ce que leur distribution des intrants seront; c'est pour les psychologues ou les utilisateurs finaux, pas nous. " Sauf dans ce cas, la science n'est pas à une position où l'équivalent de «psychologues ou utilisateurs finaux» existe pour déterminer les distributions sous-jacentes (ou si cela est même significatif).

Notes et questions connexes

  1. Le lien traite des sciences cognitives, mais l'état d'esprit est similaire en biologie. Si vous parcourez Evolution ou Journal of Theoretical Biology , vous verrez rarement le théorème-résistant au lemme, et lorsque vous le ferez, ce ne sera généralement qu'un calcul au lieu de quelque chose comme une preuve d'existence ou une construction complexe.
  2. Paradigmes pour l'analyse de la complexité des algorithmes
  3. D'autres types d'analyse du temps de fonctionnement en dehors du pire des cas, du cas moyen, etc.?
  4. Ecologie et évolution à travers la lentille algorithmique
  5. Pourquoi les économistes devraient se soucier de la complexité informatique
Artem Kaznatcheev
la source
23
Le comportement dans le pire des cas est impossible à justifier… l'algorithme simplex a un comportement exponentiel dans le pire des cas, et les seules personnes qui se sont jamais souciées sont les théoriciens. Ce que vous devez argumenter est (a) le comportement asymptotique dans le cas moyen est important; b) le comportement asymptotique dans le cas moyen et le comportement asymptotique dans le pire des cas sont assez souvent similaires; (c) le comportement asymptotique dans le pire des cas est souvent beaucoup plus facile à calculer que le comportement asymptotique dans le cas moyen (d'autant plus que personne ne sait quelle est la distribution de probabilité pertinente).
Peter Shor, du
5
L'asymptotique est déjà un aspect problématique. Nous connaissons tous l'histoire des algorithmes de multiplication matricielle (les bornes supérieures asymptotiques n'ont pas de sens en pratique), et peut-être aussi l'histoire du choix des paramètres en cryptographie (les bornes inférieures asymptotiques n'ont pas de sens en pratique; les algorithmes exponentiels sont parfois réalisables [DES]). Si votre analyse a des constantes réelles, elle est plus convaincante.
Yuval Filmus
6
Si vous considérez le calcul comme un jeu (c'est-à-dire une guerre) entre le fournisseur d'entrée et l'algorithme, alors l'analyse du pire des cas est une approche militaire standard - vous voulez savoir à quel point cela peut être mauvais. Deuxièmement, et plus important encore, l'analyse du pire des cas ne vous permet pas d'être intellectuellement paresseux et d'accepter des solutions qui pourraient être bonnes par rapport à ce que vous pensez que le monde est (et non pas ce qu'est réellement le monde). Enfin, et peut-être plus important encore, il fournit un moyen uniforme de comparer les algorithmes d'une manière qui, espérons-le, est significative. Bref, c'est la pire approche, sauf pour toutes les autres.
Sariel Har-Peled,
6
Je pense qu'une limite inférieure du pire des cas devrait être considérée comme remettant la balle dans leur camp. Vous avez montré qu'aucun algorithme ne peut résoudre leur problème sur toutes les instances dans un délai raisonnable. Ils peuvent raisonnablement croire que leurs instances sont faciles - mais vous venez de montrer que si c'est le cas, c'est un fait non trivial. Leur modèle est donc incomplet, à moins qu'ils ne trouvent une explication à cela.
Aaron Roth
3
(C'est l'approche qui semble fonctionner lorsque l'on parle aux théoriciens des jeux. Cela soulève la question - si les marchés s'équilibrent vraiment rapidement - de quelle propriété spéciale les marchés réels disposent-ils pour contourner la pire des duretés? Il est probablement possible de définir un plausible une telle propriété, et les limites inférieures suggèrent simplement que le faire est une direction de recherche importante)
Aaron Roth

Réponses:

8

Mon opinion personnelle (et biaisée) est que l'analyse asymptotique du pire des cas est un tremplin historique vers des types d'analyse plus pratiques. Il semble donc difficile à justifier auprès des pratiquants.

Il est souvent plus facile de prouver des limites pour le pire des cas que de prouver des limites même "agréables" de cas moyen. L'analyse asymptotique est également souvent beaucoup plus facile que de prouver des limites raisonnablement serrées. L'analyse asymptotique dans le pire des cas est donc un excellent point de départ.

Le travail de Daniel Spielman et Shanghua Teng sur l'analyse lissée de Simplex me semble être un signe avant-coureur de ce qui peut se produire lorsque nous commençons à mieux comprendre la forme d'un problème: s'attaquer au pire des cas permet d'abord une compréhension plus nuancée. développé. De plus, comme l'a suggéré Aaron Roth dans les commentaires, si le comportement "habituel" d'un système est significativement différent de son pire cas, alors le système n'est pas encore complètement spécifié et plus de travail est nécessaire pour améliorer le modèle. Donc, aller au-delà du pire des cas semble généralement important comme objectif à long terme.

En ce qui concerne l'analyse asymptotique, elle sert généralement à garder une preuve longue et désordonnée à l'abri des détails distrayants. Malheureusement, il ne semble actuellement pas être possible de récompenser le travail fastidieux de remplir les détails pour obtenir les constantes réelles, de sorte que cela semble rarement être fait. (Les limites de page fonctionnent également contre cela.) Une analyse minutieuse des détails d'une borne asymptotique a conduit à des algorithmes réels, avec de bonnes limites sur les constantes, donc j'aimerais personnellement voir plus de ce type de travail. Peut-être que si plus de preuves étaient formalisées à l'aide de systèmes d'assistant de preuve, alors les constantes pourraient être estimées avec moins d'efforts supplémentaires. (Ou des limites sur les constantes, dans le sens des limites de Gowers pour le lemme de régularité de Szemerédi, pourraient devenir plus routinières.) Il existe également des moyens de prouver des limites inférieures exemptes de constantes, en utilisant des modèles de machine plus explicites (tels que les automates à états finis déterministes). Cependant, de telles limites inférieures (presque) exactes pour des modèles de calcul plus généraux peuvent nécessiter beaucoup de travail, ou être hors de portée. Cela semble avoir été poursuivi en ~ 1958-1973 au cours de la première époque de la théorie des automates, mais pour autant que je sache, il a depuis été largement laissé de côté.

O(nk)

András Salamon
la source
Je ne partage pas votre enthousiasme à abandonner les asymptotiques en faveur de bornes précises avec des constantes définies. Les asymptotiques peuvent être imprécis - mais ils sont utilement imprécis. Ils résument les différences d'implémentation pour le même modèle de machine. Par exemple, un algorithme de tri qui était quadratique sur le matériel des années 50 sera toujours quadratique sur le matériel d'aujourd'hui. De plus, les formules asymptotiques se composent bien. Les linéaires et les polynômes sont fermés par composition, par exemple. (Notez que plaider pour de meilleures limites dans le cas moyen par rapport au pire des cas est orthogonal par rapport à argumenter contre les asymptotiques.)
brandjon
Vous avez raison en général, mais il y a une grande différence entre une petite constante et celle qui est une fonction non élémentaire d'un paramètre pertinent.
András Salamon
J'aime cette réponse dans l'ensemble, mais je suis d'accord avec @brandjon que cacher des constantes est crucial. Pour moi, la raison pour laquelle le TCS est utile en biologie est qu'il doit faire beaucoup moins d'hypothèses sur la microdynamique que sur la physique. Cependant, si vous ne faites pas d'hypothèses sur la microdynamique (c'est-à-dire la spécification exacte du modèle de calcul), vous ne pouvez pas extraire les facteurs constants. L'autre caractéristique utile du TCS est des dichotomies qualitatives rigoureuses (quelque chose qui est plus facile à comparer aux observations plus qualitatives en bio), généralement pour les obtenir, vous devez également abandonner les constantes.
Artem Kaznatcheev
O~(nO~(1/ϵ))
1
En remarque, il existe des exemples où l'analyse du pire des cas est logique. Par exemple, lorsque vous développez une bibliothèque de sous-programmes à usage général et ne savez pas dans quels domaines d'application ils seront utiles: vous ne pouvez pas anticiper tous les cas de quand et pourquoi quelqu'un voudra calculer une correspondance bipartite à coût minimum, par exemple. Les paramètres contradictoires, tels que la cryptographie, sont encore plus clairs (cependant, en crypto, vous aimeriez vraiment connaître les constantes en ce qui concerne les paramètres de sécurité).
Sasho Nikolov
4

Les limites inférieures et l'analyse du pire des cas ne vont généralement pas de pair. Vous ne dites pas qu'un algorithme prendra au moins un temps exponentiel dans le pire des cas, donc c'est mauvais. Vous dites que cela peut prendre au plus un temps linéaire dans le pire des cas, et donc c'est bon. Le premier n'est utile que si vous allez exécuter votre algorithme sur toutes les entrées possibles, et pas simplement une entrée moyenne.

Si vous souhaitez utiliser des limites inférieures pour démontrer la méchanceté, vous voulez une analyse du meilleur cas ou une analyse du cas moyen. Vous pouvez simplifier les choses en vous appuyant sur le point de @ PeterShor selon lequel le pire et la moyenne sont souvent très similaires, et donnez une liste complète d'algorithmes pour lesquels cela est vrai. (Ex: tous les types classiques en plus du tri rapide.)

Quant à démontrer que les asymptotiques sont importantes par rapport aux entrées constantes et aux facteurs constants, mon article préféré sur le sujet est "Les perles de programmation: les techniques de conception d'algorithmes" de Jon Bentley. Il présente quatre solutions différentes à un problème de tableau simple et montre comment l'approche linéaire annihile la cubique. Il appelle sa table "La tyrannie des asymptotiques", après le terme utilisé par les physiciens pour l'intraçabilité de l'équation de la fusée. J'utilise cet exemple pour motiver la recherche de meilleurs algorithmes pour les étudiants pré-universitaires.

Un non-informaticien lira-t-il un article contenant du code et saura-t-il ignorer les détails de bas niveau pour obtenir une vue d'ensemble? Je ne sais pas. Il y a peut-être une meilleure présentation ailleurs. Mais je pense que c'est une ressource décente à citer.

Et s'ils soutiennent qu'ils ne se soucient pas de n arbitrairement grand, demandez-leur d'exécuter des Fibonacci récursifs non mémorisés sur 3 * 10 9 paires de bases, et dites-leur que c'est O (1) puisque la taille de la séquence d'ADN est fixe. ;)

brandjon
la source
1
J'aime l'exemple de fibonacci :)
Suresh Venkat
3
Re: votre premier paragraphe: en fait, c'est presque exactement ce que fait beaucoup de théorie de la complexité. Si un problème est EXP-complet, cela signifie qu'il nécessite un temps exponentiel sur les entrées du pire des cas. Ceci est généralement considéré comme une indication de sa difficulté globale (qui, pour être juste, dans la pratique n'est souvent pas aussi mauvaise qu'un indicateur général). Il s'agit de la norme de facto, appelée borne inférieure "infiniment souvent" ou io; obtenir des bornes inférieures dans le cas moyen ou presque partout (c'est-à-dire pour tous les intrants, sauf un nombre fini) est un objectif parfois poursuivi, mais souvent loin d'être atteint par rapport aux io bornes inférieures.
Joshua Grochow
2
Permettez-moi de souligner que non seulement vous pouvez donner une liste complète d'algorithmes pour lesquels l'analyse du pire et du cas moyen sont les mêmes, mais vous pouvez également donner de nombreux exemples où ils sont très différents (l'algorithme simplex étant simplement le plus célèbre de ceux-ci). Vous devez vraiment faire valoir d'une manière ou d'une autre qu'ils sont les mêmes pour votre application particulière; les tests expérimentaux sont un bon moyen de le faire.
Peter Shor
1
@JoshuaGrochow Assez juste. Que diriez-vous de réviser l'énoncé comme suit: Les limites inférieures dans les pires cas sont importantes lorsque vous voulez démontrer l'absence d'une garantie mathématique de non-horriblesse. ;)
brandjon
-3

beaucoup ont convenu qu'il s'agissait d'un sujet important à étudier / couvrir, mais il ne semble pas encore avoir été beaucoup. quelques références de style / couverture / audience / formalité variables pas exactement comme demandé mais plutôt proches (mieux vues en ligne jusqu'à présent sur la recherche moyenne, j'espère en entendre d'autres meilleures; plus de notes ci-dessous):

  • La complexité des algorithmes Atkinson (hélas seulement une seule référence à la biologie dans l'article, mais peut suffire en termes plus généraux de science / ingénierie)

    La théorie moderne des algorithmes date de la fin des années 1960, lorsque la méthode de mesure asymptotique du temps d'exécution a commencé à être utilisée. On fait valoir que le sujet a à la fois une ingénierie et une aile scientifique. L'aile d'ingénierie se compose de méthodologies de conception bien comprises tandis que l'aile scientifique s'intéresse aux fondements théoriques. Les problèmes clés des deux ailes sont étudiés. Enfin, quelques opinions personnelles sur la suite du sujet seront proposées.

  • Complexité et algorithmes J. Diaz. 100 diapositives. vaste; on pourrait en extraire des extraits pertinents en particulier.

  • Une introduction en douceur à l'analyse de complexité des algorithmes Dionysis "dionyziz" Zindros

en d'autres termes, existe-t-il une sorte d'introduction / étude / aperçu de la lentille théorique de la complexité en étroite combinaison / conjonction / compagnon avec la lentille algorithmique avancée en science, quelque chose comme "Théorie de la complexité pour les scientifiques, les ingénieurs et les chercheurs" ?

il y a de bonnes références sur l'ancien "objectif algorithmique" que vous avez cité, par exemple Papadimitriou, mais il ne semble pas qu'une référence très satisfaisante par un expert dans le domaine ait été écrite sur le dernier "objectif de complexité" ... pour le moment (peut-être une "élite "Les membres de ce site considéreront cela comme leur prochain projet de livre ou de papier).

Notez également qu'il existe de nombreuses références sur la pertinence P vs NP en dehors de la théorie de la complexité et dans d'autres domaines scientifiques qui pourraient être quelque peu utilisées à cette fin. les ajoutera dans les commentaires s'il y a un intérêt.

vzn
la source
3
Je ne pense pas que cela réponde vraiment à la question.
Huck Bennett
1
euh huh, avez-vous regardé l' une des références? une partie de ma réponse est qu'il n'y a pas (encore) de réponse idéale / parfaite: |
vzn
1
Ils semblent définir une analyse asymptotique et pire des cas plutôt que de se concentrer sur la justification, mais peut-être que j'ai raté quelque chose?
Huck Bennett
7
En fait, je pense que les chercheurs en dehors du SDC pourraient facilement rejeter le pire des cas comme "des exemples construits artificiellement qui ne se produiraient jamais dans la pratique" et seraient (sans une forte conviction contraire) beaucoup plus intéressés par le cas moyen (malgré le fait qu'il n'est pas clair que le cas moyen est beaucoup plus proche des instances du monde réel).
Joshua Grochow
1
@vzn: asymptotique (par exemple big-Oh) et le pire des cas sont quelque peu orthogonaux. On peut faire une analyse asymptotique du pire des cas, une analyse asymptotique du cas moyen, ou même une analyse asymptotique du cas le plus simple (même si j'admets que cette dernière semble quelque peu perverse). On pourrait plutôt faire une analyse exacte du pire des cas, ou une analyse exacte du cas moyen, et ainsi de suite, bien que celles-ci soient beaucoup plus dépendantes du modèle et moins robustes. Justifier l'utilisation d'asymptotiques (et cacher des choses comme des facteurs constants) est tout à fait différent de justifier le pire des cas par rapport au cas moyen ou "réel" (quoi que cela puisse signifier ...).
Joshua Grochow