Dat de methoden om berekenbaarheid te bepalen Turing-equivalent zijn, wil natuurlijk nog niet zeggen dat alle talen en systemen even snel zijn: deze theoretische complexiteitsmodellen zijn niet zomaar naar de praktijk te vertalen. Cobham's these stelt wel dat alleen problemen in P in redelijke tijd kunnen worden opgelost, maar ook polynomiale tijd kan heel lang duren.
Zo zegt het tijd-hiërarchie-theorema dat P bestaat uit een hiërarchie van problemen die steeds moeilijker op te lossen zijn. Dat wil zeggen dat een DTM steeds meer tijd nodig heeft om het antwoord uit te rekenen, bijvoorbeeld omdat de verwerkingstijd kwadratisch in plaats van lineair is ten opzichte van de lengte van de inputstring. De consequentie daarvan is dat er ook P-problemen zijn die oneindig veel polynomiale tijd kosten om op te lossen. Hetzelfde geldt voor de structuur van NP.
Het ruimte-hiërarchie theorema zegt iets vergelijkbaars voor de beschikbare geheugenruimte (de tape): je kunt steeds complexere problemen oplossen naarmate je meer geheugenruimte tot je beschikking hebt. Dat is uitermate relevant als je bedenkt dat de beschikbaarheid van een oneindig lange tape het belangrijkste onderscheid is tussen een Turing-machine en een echte computer.
Aan de andere kant zijn er een heleboel algoritmen bekend die misschien niet de exacte oplossing van een niet-polynomiaal probleem geven, maar wel een goede benadering kunnen leveren.
Parallelle systemen
De complexiteitshiërarchie van P en NP is maar het topje van de ijsberg. De theoretici hebben deze structuren uitgebreid met allerlei nieuwe problemen en klassen. Met de opkomst van multicoreprocessors en quantum computing zijn met name Nick's Class en BQP in de belangstelling komen te staan.
Nick's Class bevat alle problemen die met een parallelle Turing-machine in polylogaritmische tijd zijn op te lossen, dat wil zeggen: sneller dan polynomiaal. Zo'n parallel systeem bestaat uit een beperkt aantal rekeneenheden rond een gedeeld geheugen. Omdat een DTM een parallel random access machine kan simuleren, vallen de problemen in NC ook in P. Tegelijkertijd is het vermoeden dat er ook problemen zijn die geen voordeel hebben bij meerdere rekeneenheden, en dus inherent sequentieel zijn. Die klasse van problemen die wel in P vallen maar niet in NC, heet P-Compleet.
Dit theoretische concept zien we terug in de softwarewereld, waar de Wet van Amdahl een relatie legt tussen de parallelliseerbaarheid van een algoritme en de maximale versnelling die kan worden verkregen op een parallelle computer.
Quantum computers
BQP, kort voor Bounded Error Quantum Polynomial, bevat de problemen die, in elk geval hoogstwaarschijnlijk, in polynomiale tijd op een quantum-Turing-machine zijn op te lossen. Daarbij moet het aantal quantum bits weer polynomiaal beperkt zijn ten opzichte van de input string. De BQP-klasse omvat wel P, maar niet NP-Compleet. Dat betekent dat een quantumcomputer niet fundamenteel krachtiger is dan een traditionele computer, en alleen sneller is voor bepaalde NP-Intermediate problemen. Maar onbeslisbare problemen blijven onbeslisbaar, en NP-Complete problemen blijven niet-polynomiaal.
Helaas voor de veiligheidsleveranciers valt het algoritme van Shor binnen de klasse BQP. Dat wil zeggen dat er een quantumalgoritme bestaat waarmee de priemfactoren van getallen kunnen worden gevonden. Het in priemfactoren ontbinden van getallen is een NP-probleem, en de moeilijkheid daarvan is de basis van de public-keycryptografie die we dagelijks op het internet gebruiken. Dat betekent dat we op termijn nieuwe algoritmen moeten inzetten die informatie-theoretisch veilig zijn.