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 4
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 n
[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
- 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.
- Paradigmes pour l'analyse de la complexité des algorithmes
- D'autres types d'analyse du temps de fonctionnement en dehors du pire des cas, du cas moyen, etc.?
- Ecologie et évolution à travers la lentille algorithmique
- Pourquoi les économistes devraient se soucier de la complexité informatique
la source
Réponses:
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é.
la source
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. ;)
la source
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)
Complexité et algorithmes J. Diaz. 100 diapositives. vaste; on pourrait en extraire des extraits pertinents en particulier.
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.
la source