Introductie
Algoritmen zijn alomtegenwoordig geworden. Ze optimaliseren ons woon-werkverkeer, verwerken betalingen en coördineren de stroom van internetverkeer. Het lijkt erop dat er voor elk probleem dat in precieze wiskundige termen kan worden geformuleerd, een algoritme bestaat dat het kan oplossen, althans in principe.
Maar dat is niet het geval: sommige ogenschijnlijk eenvoudige problemen kunnen nooit algoritmisch worden opgelost. De baanbrekende computerwetenschapper Alan Turing bewezen het bestaan van dergelijke “onberekenbare” problemen bijna een eeuw geleden, in hetzelfde artikel waarin hij de wiskundig rekenmodel die de moderne informatica lanceerde.
Turing bewees dit baanbrekende resultaat met behulp van een contra-intuïtieve strategie: hij definieerde een probleem dat eenvoudigweg elke poging om het op te lossen afwijst.
"Ik vraag je wat je doet, en dan zeg ik: 'Nee, ik ga iets anders doen'", zei Rahul Ilango, een afgestudeerde student aan het Massachusetts Institute of Technology die theoretische informatica studeert.
De strategie van Turing was gebaseerd op een wiskundige techniek genaamd diagonalisatie, die een voorname geschiedenis kent. Hier is een vereenvoudigd verslag van de logica achter zijn bewijs.
Snaartheorie
Diagonalisering komt voort uit een slimme truc voor het oplossen van een alledaags probleem waarbij reeksen bits betrokken zijn, die elk 0 of 1 kunnen zijn. Kun je, gegeven een lijst van dergelijke reeksen, allemaal even lang, een nieuwe reeks genereren die niet op de lijst staat? lijst?
De meest eenvoudige strategie is om elke mogelijke string achtereenvolgens te bekijken. Stel dat je vijf strings hebt, elk vijf bits lang. Begin met het scannen van de lijst op 00000. Als deze er niet is, kunt u stoppen; Als dit het geval is, gaat u verder naar 00001 en herhaalt u het proces. Dit is eenvoudig genoeg, maar het is traag voor lange lijsten met lange tekenreeksen.
Diagonalisering is een alternatieve benadering waarbij stukje bij beetje een ontbrekende reeks wordt opgebouwd. Begin met het eerste bit van de eerste string in de lijst en keer deze om. Dat wordt het eerste bit van je nieuwe string. Keer vervolgens het tweede bit van de tweede string om en gebruik dat als het tweede bit van de nieuwe string, en herhaal dit totdat je aan het einde van de lijst bent gekomen. De bits die je omdraait zorgen ervoor dat de nieuwe string op minstens één plek verschilt van elke string op de originele lijst. (Ze vormen ook een diagonale lijn door de lijst met snaren, waaraan de techniek zijn naam dankt.)
Bij diagonalisatie hoeft slechts één bit van elke string in de lijst te worden onderzocht, dus het is vaak veel sneller dan andere methoden. Maar zijn ware kracht ligt in hoe goed het met oneindigheid speelt.
“De snaren kunnen nu oneindig zijn; de lijst kan oneindig zijn – het werkt nog steeds,” zei Ryan Williams, een theoretische computerwetenschapper aan het MIT.
De eerste persoon die deze macht benutte was Georg Cantor, de grondlegger van het wiskundige deelgebied van de verzamelingenleer. In 1873 gebruikte Cantor diagonalisatie om te bewijzen dat sommige oneindigheden bestaan groter dan anderen. Zes decennia later paste Turing Cantors versie van diagonalisatie aan de computertheorie aan, waardoor het een duidelijk tegendraads tintje kreeg.
Het beperkingsspel
Turing wilde het bestaan bewijzen van wiskundige problemen die geen enkel algoritme kan oplossen – dat wil zeggen problemen met goed gedefinieerde inputs en outputs, maar geen onfeilbare procedure om van input naar output te komen. Hij maakte deze vage taak beter beheersbaar door zich uitsluitend te concentreren op beslissingsproblemen, waarbij de invoer een willekeurige reeks nullen en enen kan zijn en de uitvoer 0 of 1 is.
Bepalen of een getal een priemgetal is (alleen deelbaar door 1 en zichzelf) is een voorbeeld van een beslissingsprobleem: gegeven een invoerreeks die een getal vertegenwoordigt, is de juiste uitvoer 1 als het getal een priemgetal is en 0 als dat niet het geval is. Een ander voorbeeld is het controleren van computerprogramma's op syntaxisfouten (het equivalent van grammaticale fouten). Daar vertegenwoordigen invoerreeksen code voor verschillende programma's - alle programma's kunnen op deze manier worden weergegeven, omdat ze zo worden opgeslagen en uitgevoerd op computers - en het doel is om 1 uit te voeren als de code een syntaxisfout bevat en 0 als dat niet het geval is. T.
Een algoritme lost een probleem alleen op als het voor elke mogelijke invoer de juiste uitvoer produceert; als het ook maar één keer faalt, is het geen algemeen algoritme voor dat probleem. Normaal gesproken specificeert u eerst het probleem dat u wilt oplossen en probeert u vervolgens een algoritme te vinden dat het probleem oplost. Turing, op zoek naar onoplosbare problemen, zette deze logica op zijn kop: hij stelde zich een oneindige lijst van alle mogelijke algoritmen voor en gebruikte diagonalisatie om een hardnekkig probleem te construeren dat elk algoritme op de lijst zou dwarsbomen.
Stel je een gemanipuleerd spel van twintig vragen voor, waarbij de antwoorder, in plaats van te beginnen met een bepaald object in gedachten, een excuus verzint om nee te zeggen op elke vraag. Aan het einde van het spel hebben ze een object beschreven dat volledig wordt gedefinieerd door de eigenschappen die het mist.
Het diagonalisatiebewijs van Turing is een versie van dit spel waarbij de vragen door de oneindige lijst van mogelijke algoritmen lopen, waarbij herhaaldelijk wordt gevraagd: "Kan dit algoritme het probleem oplossen waarvan we graag willen dat het onberekenbaar is?"
"Het zijn een soort oneindige vragen", zei Williams.
Om het spel te winnen moest Turing een probleem bedenken waarbij het antwoord voor elk algoritme nee is. Dat betekende het identificeren van een bepaalde invoer die ervoor zorgt dat het eerste algoritme het verkeerde antwoord geeft, een andere invoer die ervoor zorgt dat de tweede mislukt, enzovoort. Hij vond die speciale input met behulp van een truc die leek op de truc die Kurt Gödel onlangs had gebruikt bewijzen dat zelfreferentiële beweringen als ‘deze bewering is onbewijsbaar’ problemen opleverden voor de grondslagen van de wiskunde.
Het belangrijkste inzicht was dat elk algoritme (of programma) kan worden weergegeven als een reeks nullen en enen. Dat betekent, net als in het voorbeeld van het foutcontroleprogramma, dat een algoritme de code van een ander algoritme als invoer kan nemen. In principe kan een algoritme zelfs zijn eigen code als invoer nemen.
Met dit inzicht kunnen we een onberekenbaar probleem definiëren zoals dat in het bewijs van Turing: “Gegeven een invoerreeks die de code van een algoritme vertegenwoordigt, is de output 1 als dat algoritme 0 oplevert als zijn eigen code de invoer is; anders uitgang 0.” Elk algoritme dat dit probleem probeert op te lossen, zal de verkeerde uitvoer produceren op ten minste één invoer, namelijk de invoer die overeenkomt met zijn eigen code. Dat betekent dat dit perverse probleem door geen enkel algoritme kan worden opgelost.
Wat ontkenning niet kan doen
Computerwetenschappers waren nog niet klaar met diagonalisering. In 1965 pasten Juris Hartmanis en Richard Stearns het betoog van Turing aan bewijzen dat niet alle berekenbare problemen gelijk zijn – sommige zijn intrinsiek moeilijker dan andere. Dat resultaat lanceerde het veld van de computationele complexiteitstheorie, die de moeilijkheidsgraad van computationele problemen bestudeert.
Maar de complexiteitstheorie bracht ook de grenzen van Turings tegengestelde methode aan het licht. In 1975, Theodore Baker, John Gill en Robert Solovay bewezen dat veel open vragen in de complexiteitstheorie nooit kunnen worden opgelost door diagonalisatie alleen. De belangrijkste hiervan is het beroemde P versus NP-probleem, dat de vraag stelt of alle problemen met gemakkelijk te controleren oplossingen ook gemakkelijk op te lossen zijn met het juiste ingenieuze algoritme.
De blinde vlekken van diagonalisering zijn een direct gevolg van het hoge abstractieniveau dat haar zo krachtig maakt. Het bewijs van Turing bracht geen onberekenbaar probleem met zich mee dat zich in de praktijk zou kunnen voordoen; in plaats daarvan werd zo'n probleem ter plekke bedacht. Andere bewijzen van diagonalisatie staan op dezelfde manier afzijdig van de echte wereld, zodat ze geen vragen kunnen oplossen waarbij details uit de echte wereld ertoe doen.
"Ze verwerken berekeningen op afstand", zei Williams. “Ik stel me een man voor die met virussen te maken heeft en deze via een of ander handschoenenkastje benadert.”
Het mislukken van de diagonalisatie was een vroege indicatie dat het oplossen van het P versus NP-probleem een oplossing zou zijn een lange reis. Maar ondanks de beperkingen blijft diagonalisering een van de belangrijkste instrumenten in het arsenaal van complexiteitstheoretici. In 2011 gebruikte Williams het samen met een hele reeks andere technieken bewijzen dat een bepaald beperkt rekenmodel een aantal buitengewoon moeilijke problemen niet kon oplossen – een resultaat dat onderzoekers 25 jaar lang was ontgaan. Het was verre van een oplossing van P versus NP, maar het betekende nog steeds een grote vooruitgang.
Als je wilt bewijzen dat iets niet mogelijk is, onderschat dan niet de kracht van gewoon nee zeggen.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. Automotive / EV's, carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- ChartPrime. Verhoog uw handelsspel met ChartPrime. Toegang hier.
- BlockOffsets. Eigendom voor milieucompensatie moderniseren. Toegang hier.
- Bron: https://www.quantamagazine.org/alan-turing-and-the-power-of-negative-thinking-20230905/
- : heeft
- :is
- :niet
- :waar
- ][P
- $UP
- 1
- 20
- 2011
- 25
- a
- abstractie
- Account
- geleden
- Alan
- Alan Turing
- algoritme
- algoritmisch
- algoritmen
- Alles
- alleen
- ook
- onder
- an
- en
- Nog een
- beantwoorden
- elke
- nadering
- ZIJN
- argument
- ontstaan
- Arsenaal
- AS
- vragen
- At
- bakker
- gebaseerde
- BE
- worden
- achter
- Beetje
- Box camera's
- bouwt
- maar
- by
- Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
- Cambridge
- CAN
- geval
- Eeuw
- zeker
- controleren
- chef
- code
- ingewikkeldheid
- berekening
- computer
- Computer Science
- computers
- Overwegen
- bouwen
- bevat
- tegendeel
- coördineren
- te corrigeren
- Overeenkomend
- ambachtelijke
- aangemaakt
- omgang
- decennia
- beslissing
- bepalen
- gedefinieerd
- beschreven
- Niettegenstaande
- gegevens
- anders
- Moeilijkheid
- directe
- afstand
- Gedistingeerd
- do
- Nee
- doen
- Dont
- elk
- Vroeg
- gemakkelijk
- En het is heel gemakkelijk
- beide
- einde
- genoeg
- verzekeren
- geheel
- gelijk
- even
- Gelijkwaardig
- fout
- fouten
- Zelfs
- Alle
- onderzoeken
- voorbeeld
- uitsluitend
- uitgevoerd
- bestaan
- buitengewoon
- FAIL
- mislukt
- Storing
- beroemd
- ver
- Far Cry
- sneller
- veld-
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- Voornaam*
- vijf
- Tik
- stroom
- gericht
- Voor
- formulier
- gevonden
- Stichtingen
- oprichter
- oppompen van
- spel
- voor algemeen gebruik
- voortbrengen
- krijgen
- het krijgen van
- gegeven
- Vrijgevigheid
- doel
- gaan
- afstuderen
- baanbrekende
- Kerel
- HAD
- handvat
- Hard
- harder
- harnas
- Hebben
- he
- hoofd
- Hoge
- zijn
- geschiedenis
- Hoe
- HTTPS
- i
- het identificeren van
- IEEE
- if
- beeld
- ingebeeld
- in
- aanwijzing
- Oneindig
- Infinity
- invoer
- ingangen
- inzicht
- verkrijgen in plaats daarvan
- Instituut
- Internet
- intrinsiek
- betrekken
- IT
- HAAR
- zelf
- John
- voor slechts
- sleutel
- kurt
- later
- gelanceerd
- minst
- Niveau
- ligt
- als
- beperking
- beperkingen
- grenzen
- Lijn
- Lijst
- lijsten
- logica
- lang
- gemaakt
- magazine
- groot
- MERKEN
- handelbaar
- veel
- massachusetts
- Massachusetts Institute of Technology
- wiskundig
- wiskunde
- Materie
- middel
- betekende
- methode
- methoden
- macht
- denken
- vermist
- fouten
- MIT
- model
- Modern
- meer
- meest
- beweging
- veel
- naam
- namelijk
- bijna
- nodig
- behoeften
- negatief
- nooit
- New
- geen
- nu
- aantal
- object
- of
- vaak
- on
- eens
- EEN
- Slechts
- open
- Optimaliseer
- or
- origineel
- Overige
- Overig
- anders-
- onze
- uitgang
- het te bezitten.
- Papier
- bijzonder
- betalingen
- persoon
- baanbrekende
- plaats
- Plato
- Plato gegevensintelligentie
- PlatoData
- speelt
- mogelijk
- energie
- krachtige
- praktijk
- nauwkeurig
- Prime
- principe
- probleem
- problemen
- procedures
- produceren
- produceert
- Programma
- Programma's
- Voortgang
- bewijs
- bewijzen
- Bewijzen
- bewezen
- kwaliteiten
- Quanta tijdschrift
- vraag
- Contact
- liever
- vast
- echte wereld
- onlangs
- stoffelijk overschot
- herhaling
- HERHAALDELIJK
- vertegenwoordigen
- vertegenwoordigd
- vertegenwoordigen
- onderzoekers
- opgelost
- oplossen
- begrensd
- resultaat
- Revealed
- Richard
- opgetuigd
- rechts
- ROBERT
- lopen
- Zei
- dezelfde
- ervaren
- gezegde
- het scannen
- Wetenschap
- Wetenschapper
- wetenschappers
- Ontdek
- Tweede
- schijnbaar
- lijkt
- reeks
- Siam
- gelijk
- evenzo
- Eenvoudig
- vereenvoudigd
- eenvoudigweg
- sinds
- ZES
- traag
- So
- Oplossingen
- OPLOSSEN
- Lost op
- Het oplossen van
- sommige
- iets
- special
- vlekken
- begin
- Start
- Statement
- stengels
- Still
- stop
- opgeslagen
- eenvoudig
- Strategie
- Draad
- Student
- studies
- Bestuderen
- dergelijk
- syntaxis
- Nemen
- Taak
- technieken
- Technologie
- termen
- neem contact
- dat
- De
- Ze
- harte
- theoretisch
- theorie
- Er.
- Deze
- ze
- het denken
- dit
- die
- Door
- dwarsbomen
- naar
- samen
- tools
- verkeer
- moeite
- waar
- proberen
- Turing
- BEURT
- Gedraaid
- alomtegenwoordig
- tot
- .
- gebruikt
- gebruik
- versie
- Tegen
- virussen
- willen
- gezocht
- was
- Manier..
- we
- webp
- GOED
- goed gedefinieerd
- Wat
- wanneer
- of
- welke
- WIE
- wil
- Williams
- winnen
- Met
- Bedrijven
- wereld
- zou
- Verkeerd
- jaar
- nog
- You
- Your
- zephyrnet