con domande di storia ci sono in genere sottili sfumature e non è facile determinare un particolare documento che ha introdotto un particolare concetto perché tende a essere distribuito su molti collaboratori e talvolta viene riscoperto in modo indipendente quando oscuri riferimenti precoci non necessariamente si diffondono (le idee fondamentali sono così) . ma la storia in pratica va in questo modo: la notazione di Landau è un vecchio formalismo matematico (1894 / Bachman) [1] che fu importato in CS come un "concetto chiave" nei primi anni '70. verso la metà degli anni '70 questo fu in qualche modo accettato come nel tuo riferimento a Knuth e Knuth stesso fu coinvolto nella diffusione di questo concetto.
è interessante notare che la sua importazione in CS era probabilmente strettamente correlata alle distinzioni P vs NP vs Exptime scoperte nei primi anni '70 che erano altamente influenti / annunciate sul campo. fu Cobham / Edmonds che iniziò a definire la classe P all'inizio degli anni '70. [3] c'erano prime prove su Exptime ed Expspace di Stockmeyer / Meyer. [2] il teorema di Cook-Levin [4] (1971) mostrava la rilevanza fondamentale del tempo P vs NP, immediatamente supportato da Karp [5] (1972).
un primo matematico che ha lavorato nella teoria dei numeri ma anche ai margini dell'informatica era Pocklington. come in [3] sottolinea:
Tuttavia, HC Pocklington, in un articolo del 1910, [11] [12] ha analizzato due algoritmi per risolvere le congruenze quadratiche e ha osservato che uno prendeva il tempo "proporzionale a una potenza del logaritmo del modulo" e lo contrapponeva a uno che richiedeva tempo proporzionale "al modulo stesso o alla sua radice quadrata", facendo così esplicitamente una distinzione tra un algoritmo che correva nel tempo polinomiale rispetto a uno che non lo faceva.
un altro pioniere iniziale nell'analisi della complessità degli algoritmi basati su macchine per la teoria dei numeri, vale a dire il factoring, fu Derrick Lehmer, professore di matematica all'Università della California, Berkeley, e costruì / analizzò "algoritmi" di factoring (implementazioni basate su setaccio) già negli anni '20 ed è possibile che abbia descritto qualcosa di simile alla complessità computazionale del factoring in modo informale. [6]
un altro caso è una lettera "perduta" del 1956 di Godel a von Neumann che parla di misurazioni della complessità dei passaggi f (n) di una macchina per trovare prove della dimensione n . [7]
[1] Big O notation history / wikipedia
[2] Problemi di Word che richiedono tempo esponenziale. / Stockmeyer, Meyer (1973)
[3] P time class history / wikipedia
[4] Teorema di Cook-Levin / wikipedia
[5] Karps 21 NP problemi completi / wikipedia
[6] Lehmer factoring machine / sieve / wikipedia
[7] Godels ha perso la lettera / RJLipton