Denkende Machines -- Computers, rekenen, redeneren - CWI
Denkende Machines -- Computers, rekenen, redeneren - CWI
Denkende Machines -- Computers, rekenen, redeneren - CWI
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
88 HOOFDSTUK 3. MODELLEN VAN BEREKENING<br />
A?<br />
Figuur 3.11: Vertalen van en naar het vervulbaarheidsalgoritme.<br />
Omzetten van A−invoer naar<br />
invoer voor vervulbaarheids−<br />
algoritme in polynomiale tijd<br />
vervulbaarheids<br />
algoritme<br />
Omzetten van uitvoer van het<br />
vervulbaarheidsalgoritme naar<br />
antwoord op A? in polynomiale tijd<br />
dat, als er een polynomiaal algoritme voor het vervulbaarheidsprobleem gevonden wordt, elk<br />
NP-probleem polynomiaal op te lossen is. Met andere woorden, dan zou NP hetzelfde zijn als P.<br />
Een ander voorbeeld van een probleem in NP dat, net als propositionele vervulbaarheid, exemplarisch<br />
is voor de hele klasse, is het mijnenveegprobleem, bekend van het spelletje minesweeper,<br />
gemakkelijk te vinden op internet. Pas op: het spelletje is verslavend.<br />
Met het oplossen van het P- versus NP-probleem is veel geld te verdienen. Het Clay Mathematics<br />
Institute in de VS heeft een miljoen dollar uitgeloofd aan de eerste die hetzij bewijst<br />
dat P=NP of bewijst dat P=NP, en dat bewijs gepubliceerd weet te krijgen in een gerenommeerd<br />
wiskundetijdschrift (dat wil zeggen: het bewijs moet voor wiskundigen overtuigend<br />
zijn). Hier is de omschrijving van het probleem, van de website van het Clay Mathematics<br />
Institute, http://www.claymath.org/.<br />
Het P- versus NP-probleem.<br />
Het is zaterdagavond en je arriveert op een groot feest. Je voelt je wat opgelaten, en je<br />
vraagt je af of je al iemand van de aanwezigen kent. De gastheer oppert dat je Rosa zeker<br />
moet kennen, de dame in de hoek naast het buffet. Je werpt een snelle blik, en je ziet dat de<br />
gastheer gelijk heeft. Zonder die suggestie van de gastheer had je alle aanwezigen in de hele<br />
kamer langs gemoeten om te zien of er een bekende tussen zat. Dit is een voorbeeld van het<br />
algemene verschijnsel dat het genereren van een oplossing voor een probleem veel meer tijd<br />
kost dan het controleren of een gegeven oplossing correct is. Net zo: als iemand je vertelt<br />
dat het getal 13717421 kan worden geschreven als het product van twee kleinere getallen,<br />
dan weet je waarschijnlijk niet of je dat moet geloven of niet. Maar als hij je vertelt dat het<br />
kan worden geschreven als 3607 × 3803 kun je gemakkelijk met een zakrekenmachine nagaan<br />
dat hij gelijk heeft. Een van de open problemen in logica en informatica is het vaststellen<br />
of er vragen zijn waarvan het antwoord efficiënt kan worden gecontroleerd (bijvoorbeeld met<br />
een computer), maar waarbij het vinden van een goede oplossing vanaf 0 (zonder dat je het<br />
antwoord weet) veel meer tijd vergt. Het lijkt erop dat er tal van dat soort vragen zijn. Maar<br />
tot op heden heeft niemand bewezen dat het oplossen van zulke problemen echt heel veel tijd<br />
kost. In theorie zou het zo kunnen zijn dat we eenvoudigweg nog niet ontdekt hebben hoe<br />
we ze snel moeten oplossen. Stephen Cook formuleerde het P- versus NP-probleem in 1971.<br />
De P- versus NP-kwestie is een open vraag. In feite is dit het belangrijkste hete hangijzer<br />
van de theoretische informatica: veel combinatorisch lastige problemen die we graag efficiënt<br />
zouden willen aanpakken zitten in de NP-klasse. Aan het begin van de twintigste eeuw waren<br />
wiskundigen optimistisch over de mogelijkheden van het mechaniseren van het <strong>rekenen</strong>. Turing<br />
en Church lieten toen zien dat er fundamentele grenzen zijn aan berekenbaarheid. De stemming<br />
onder wiskundigen en informatici nu met betrekking tot het P- versus NP-probleem is heel wat<br />
pessimistischer. Vrijwel iedereen gelooft dat NP = P, maar er zal een nieuwe Turing moeten<br />
opstaan om ons daar daadwerkelijk van te overtuigen, of, heel misschien, om het tegendeel te<br />
bewijzen.<br />
A!