Ik vind het bewonderenswaardig dat er een artikel verschijnt met een stukje over berekenbaarheid. Helaas zitten er wat haken en ogen in het verhaal.
Om te beginnen is de figuur onvolledig, terwijl ze wel juist is. Zo zijn niet alle problemen op te delen in P of NP. Er zijn tal van problemen die nog steeds in PSPACE zitten, maar die véél moeilijker zijn dan NP. Bepaalde vormen van planning zijn bijvoorbeeld moeilijker dan NP (zoals het vinden van een plan dat altijd tot de oplossing leidt, zelfs al we niet zeker zijn van de begintoestand) of het bepalen waarom bepaalde complexe elektronische circuits niet werken. Het is dus niet correct om NP problemen te beschrijven als "de moeilijkste problemen", want er zijn tal van problemen die veel moeilijker zijn. Sterker nog, er bestaat een grote zoo:
https://complexityzoo.uwaterloo.ca/Complexity_Zoo .
Daarnaast klopt het natuurlijk ook niet dat we enkel deterministische problemen met een huidige computer kunnen oplossen. Als dat zo was zou het onmogelijk zijn om een groot aantal interessante problemen op te lossen. Planning heb ik al vermeld, maar zelf problemen die zo triviaal zijn als het inkleuren van een landkaart zou een computer niet aankunnen, tenzij we ons beperken tot 2 kleuren:
https://en.wikipedia.org/wiki/Graph_coloring#Algorithms . Er bestaan problemen in P die we amper kunnen oplossen met een computer omdat ze zo complex zijn, en er bestaan NP problemen die we alle dagen oplossen met eenvoudige computers.
Waar zit het probleem dan? Wel, het probleem is de schaling. Als een probleem één stap moeilijker wordt (denk bijvoorbeeld aan een extra foto in een map, of een extra record in een database), dan wordt een P probleem gewoon "een beetje" moeilijker, denk bijvoorbeeld aan een extra seconde. Een NP probleem wordt daarentegen exponentieel veel moeilijker. Die ene extra foto kan er bijvoorbeeld voor zorgen dat de computer 2x zo lang moet rekenen om een oplossing te vinden. Gooi je 10 extra foto's in de map, dan is je NP probleem opeens 2^10 = 1024 keer zo moeilijk om op te lossen ... . Zelf al heb je dus een héél snel NP algoritme, het probleem wordt uiteindelijk zo complex dat je onvoldoende rekenkracht hebt. Bij een P probleem volstaat het gewoon om een extra PC te kopen, bij een NP probleem moet je 2x je huidig aantal PC's kopen om één stap verder te rekenen.
Tot slot nog een leuke afsluiter: het algoritme van Shor is een voorbeeld van een NP-hard probleem (maar dus niet van een NP-compleet probleem) dat we deterministich kunnen oplossen met een quantum computer. Deze link met berekenbaarheid wordt niet vermeld in het artikel. Dankzij Shor's algoritme worden op slag alle beveiligingen op basis van factorisaties van priemgetallen achterhaald. Natuurlijk zijn er wat kanttekeningen: dit werkt enkel met een échte quantum computer met verstrengeling. Daarnaast heb je vrij veel qubits nodig. Tot nu toe blijven we dan ook steken bij een factorisatie van het getal 143, terwijl we natuurlijk in cryptographie getallen gebruiken die vele malen groter zijn. Bovendien is het algoritme van Shor geen magisch algoritme. De enige reden waarom een quantum computer hier werkt is omdat factorisatie een periodische structuur heeft. Zonder deze zwakte was het ook voor een quantum computer niet mogelijk om dit deterministisch op te lossen. Tenzij we natuurlijk plots een NP-compleet probleem kunnen oplossen, want dat zou betekenen dat we alle NP problemen kunnen oplossen. Maar ik zou er niet direct op rekenen

. Sowieso wordt het tijd om van factorisatie af te stappen, en daarbij is elliptic curve cryptografie zeker en vast een aantrekkelijke optie:
http://arstechnica.com/se...iptic-curve-cryptography/ .
[Reactie gewijzigd door kvaruni op 23 juli 2024 09:27]