Nous pouvons absolument prouver de telles choses.
De nombreux problèmes ont des bornes inférieures triviales, comme celle de trouver le minimum d'un ensemble de nombres (qui ne sont pas triés / structurés de quelque manière que ce soit) prend au moins Ω ( n ) de temps. La preuve en est simple: un algorithme hypothétique qui s'exécute en temps o ( n ) ne peut pas examiner tous les nombres en entrée. Donc, si nous exécutions l'algorithme sur une entrée, nous pourrions observer qu'il n'a jamais examiné un élément particulier de l'entrée. En modifiant cet élément au minimum, nous pouvons faire échouer l'algorithme.nΩ ( n )o(n)
Une borne inférieure moins triviale est la borne inférieure pour le tri dans le modèle basé sur la comparaison. La preuve en est la suivante: étant donné une entrée de n nombres, il y a n ! sorties possibles (l'entrée peut être n'importe quelle permutation de la liste triée, donc la sortie peut également être n'importe quelle permutation de l'entrée). Si nous sommes limités à ne faire que des comparaisons, alors notre algorithme (en moyenne) doit effectuer au moins log 2 ( n ! ) = Ω ( n log n ) comparaisons afin de pouvoir donner nΩ(nlogn)nn!log2(n!)=Ω(nlogn)différentes sorties.n!
Les limites inférieures peuvent être encore plus fortes. Il existe plusieurs problèmes (notamment les problèmes -hard) pour lesquels il existe une borne inférieure exponentielle. Les problèmes de cette classe incluent le calcul de stratégies optimales pour des jeux tels que les échecs (généralisés), les dames et le go. La preuve en est fournie par le théorème de la hiérarchie temporelle , qui stipule (sous réserve de certaines restrictions sur f ):EXPTIMEf
Étant donné une fonction , il existe un problème de calcul qui peut être résolu dans le temps O ( f ( n ) ) mais ne peut pas être résolu dans le temps o ( f ( n )fO(f(n)).o(f(n)logn)
Donc, fondamentalement, si vous pouvez penser à une fonction il existe un problème qui nécessite autant de temps pour être résolu.f
Enfin, une autre possibilité de ne pas nécessairement prouver une limite inférieure de temps mais quelque chose de plus fort encore montre l'indécidabilité d'un problème (par exemple l'arrêt, la correspondance).