Das Problem "Anhalten" gibt an, dass es unmöglich ist, ein Programm zu schreiben, mit dem festgestellt werden kann, ob ein anderes Programm anhält, und zwar für alle möglichen Eingabeprogramme .
Ich kann jedoch sicherlich ein Programm schreiben, das die Laufzeit eines Programms wie folgt berechnen kann:
for(i=0; i<N; i++)
{ x = 1; }
und geben Sie eine zeitliche Komplexität von , ohne sie jemals auszuführen.
Für alle anderen Eingabeprogramme würde ein Flag zurückgegeben, das angibt, dass die Zeitkomplexität nicht bestimmt werden konnte.
Meine Frage lautet:
Welche Bedingungen müssen erfüllt sein, damit wir die zeitliche Komplexität eines bestimmten Programms algorithmisch bestimmen können?
* Wenn es einen kanonischen Verweis oder einen Übersichtsartikel dazu gibt, würde ich mich über einen Link in den Kommentaren freuen.