Hat jemand über die Möglichkeit einer Programmiersprache und eines Compilers nachgedacht, so dass der Compiler automatisch asymptotische Analysen im schlimmsten Fall durchführen kann? Der Anwendungsfall, an den ich denke, ist eine Programmiersprache, in der ich Code schreibe und kompiliere. Der Compiler teilt mir mit, dass mein Code beispielsweise in O (n ^ 2) ausgeführt wird. Dies geschieht, indem das getan wird, was die intelligenten Leute tun, die algorithmische Analysen durchführen, möglicherweise Schleifen zählen und so weiter.
Aufgrund des Anhaltens von Problemproblemen und da man Programme haben kann, die durch Verzahnung funktionieren, zum Beispiel Levins Algorithmus für SAT, der in Polynomzeit läuft, wenn P = NP, vermute ich, dass man die Programmiersprache möglicherweise so restriktiv gestalten muss, dass sie dies zulässt etwas wie das. Gibt es negative Ergebnisse, die bestimmte Arten von Programmiersprachen davon abhalten, solche Compiler zu haben?
Ich würde mich auch für Systeme interessieren, die keine exakte asymptotische Analyse liefern, sondern eine "interessante" Obergrenze.
Ich interessiere mich NICHT für Black-Box- und statistische Methoden, die aus Eingaben bestimmter Länge abtasten und herausfinden, wie lange das Programm dauert. Diese Methoden sind sehr interessant, aber sie sind nicht das, wonach ich suche. Ich interessiere mich für genaue Methoden, die ungefähre Grenzen geben können.
Ich wäre sehr dankbar, wenn mich jemand auf einige Hinweise zur Arbeit in dieser Richtung hinweisen könnte.