Introductie
Sinds de allereerste dagen van de informatica - een veld dat bekend staat om zijn methodische benadering van het oplossen van problemen - heeft willekeur een belangrijke rol gespeeld. Het eerste programma dat op 's werelds eerste elektronische computer voor algemene doeleinden werd uitgevoerd, gebruikte willekeur om nucleaire processen te simuleren. Soortgelijke benaderingen zijn sindsdien gebruikt in de astrofysica, klimaatwetenschap en economie. In al deze gevallen inpluggen willekeurige nummers bij bepaalde stappen in het algoritme helpt onderzoekers rekening te houden met onzekerheid over de vele manieren waarop complexe processen kunnen verlopen.
Maar het toevoegen van willekeur aan een algoritme kan u ook helpen het juiste antwoord te berekenen op ondubbelzinnige waar-of-onwaar-vragen. "Je zegt gewoon 'OK, laat me het opgeven, laat me het niet proberen, laat me gewoon willekeurig iets kiezen'," zei Erik Blais, een computerwetenschapper aan de Universiteit van Waterloo. "Voor veel te veel problemen is dat een succesvolle aanpak."
Stel dat u wilt bepalen of een gegeven getal een priemgetal is (alleen deelbaar door 1 en zichzelf) of een samengesteld getal (ook deelbaar door andere gehele getallen). Je zou gewoon kunnen proberen het door alle mogelijke factoren te delen, maar voor grote getallen zijn deze "brute force"-methode en andere factoralgoritmen tergend langzaam. En als het getal samengesteld blijkt te zijn, vertellen factoringalgoritmen u de waarden van de delers - meer informatie dan waar u om vroeg. Als je alleen geeft om de 'primaliteit' van een nummer, is er dan een efficiรซnter algoritme?
Er is als je willekeur gebruikt. Het basisidee gaat terug op een resultaat van de 17e-eeuwse Franse wiskundige Pierre de Fermat, bekend als zijn "kleine stelling.โ Fermat beschouwde twee gehele getallen - noem ze N en x. Hij bewees dat als N is een priemgetal, dan xN - x is altijd een veelvoud van N, ongeacht de waarde van x. Evenzo, als xN - x is geen veelvoud van Ndan N kan geen priemgetal zijn. Maar de omgekeerde bewering is niet altijd waar: als xN - x is een veelvoud van Ndan N is meestal maar niet altijd prime.
Om de kleine stelling van Fermat om te zetten in een primaliteitstest, neem je gewoon de N waarin je geรฏnteresseerd bent, kies x willekeurig, en plug de twee nummers in xN - x. Als het resultaat geen veelvoud is van N, dan ben je klaar: dat weet je N is zeker samengesteld. Als het resultaat een veelvoud is van Ndan N is waarschijnlijk prime. Kies nu een andere willekeurige x en probeer opnieuw. In de meeste gevallen kunt u dat na enkele tientallen pogingen met vrijwel zekerheid concluderen N is een priemgetal. "Je doet dit een klein aantal keren," zei Blais, "en op de een of andere manier is je kans op een fout nu kleiner dan de kans dat een asteroรฏde de aarde raakt tussen nu en wanneer je naar het antwoord kijkt."
De eerste oergevoel testen het gebruik van gerandomiseerde algoritmen (gebaseerd op verfijningen van de kleine stelling van Fermat) luidde een nieuw tijdperk in. Probleem na probleem bleek veel gemakkelijker op te lossen met willekeur dan met niet-willekeurige of deterministische algoritmen. De sleutel was om elk probleem opnieuw te kaderen als een probleem dat snel kon worden opgelost, gegeven een geschikte waarde voor een bepaald getal x, en dan bewijzen dat zowat elke x zou doen. De oplossing werkt, ook al hebben onderzoekers geen idee hoe ze kunnen bepalen of een bepaalde keuze een goede is. Wiskundigen hebben grapjes gemaakt dat deze ongebruikelijke uitdaging verwant is aan hooi zoeken in een hooiberg.
Maar deze successen zorgden ervoor dat onderzoekers zich afvroegen waarom willekeur zou moeten helpen bij problemen als primaliteitstesten, die allemaal gaan over het vinden van verborgen, niet-willekeurige patronen. "Het heeft iets paradoxaals", zei hij Rahul Santhanam, een computerwetenschapper aan de Universiteit van Oxford. "Pure willekeur helpt je grip te krijgen op de structuur die het probleem oplost."
In 1994 ontdekten de computerwetenschappers Noam Nisan en Avi Wigderson hielp deze verwarring op te lossen door aan te tonen dat willekeur, hoewel nuttig, waarschijnlijk niet nodig is. Zij bewezen dat een van twee dingen waar moet zijn: ofwel hebben alle problemen die efficiรซnt kunnen worden opgelost met behulp van willekeur ook snelle deterministische algoritmen, of veel notoir moeilijke problemen zijn stiekem eenvoudig. Computerwetenschappers achten de tweede mogelijkheid zeer onwaarschijnlijk.
In feite vinden computerwetenschappers het vaak gemakkelijker om een โโdeterministisch algoritme te ontwikkelen door te beginnen met een gerandomiseerde versie en deze vervolgens te "de-randomiseren". "Als ik het eenmaal heb, zie ik ineens een heel voor de hand liggende manier om het deterministisch te maken," zei Eli Upfal, een computerwetenschapper aan de Brown University. "Maar als ik er niet op een willekeurige manier over zou nadenken als een probabilistische vraag, zou ik er waarschijnlijk niet aan denken."
Bijna 30 jaar na het baanbrekende bewijs van Nisan en Wigderson blijven gerandomiseerde algoritmen even populair als altijd, omdat de-randomisatie lastig kan zijn en deterministische algoritmen vaak alleen in principe efficiรซnt zijn. Pas in 2002 vonden drie onderzoekers een manier om priemtesten te derandomiseren, en in de praktijk hun algoritme is veel langzamer dan de beste gerandomiseerde algoritmen. Voor andere problemen is het zelfs moeilijk om te weten waar te beginnen - het bekendste algoritme heeft een kip-en-ei-probleem waaraan je alleen door willekeur kunt ontsnappen.
Dat is het geval voor een recente doorbraak in de grafentheorie. Vorig jaar ontwikkelden drie computerwetenschappers zich een snel algoritme voor het vinden van het kortste pad door een grafiek - een web van knooppunten verbonden door lijnsegmenten - dat zelfs werkt wanneer sommige segmenten aftrekken van de totale padlengte in plaats van eraan toevoegen. Hun algoritme omvatte het transformeren van de grafiek in een eenvoudiger grafiek door bepaalde segmenten te verwijderen, het probleem voor de vereenvoudigde grafiek op te lossen en vervolgens rekening te houden met de verwijderde segmenten. Ze zouden kunnen bewijzen dat het algoritme snel zou werken als er geen kortste pad door te veel verwijderde segmenten zou gaan - anders zou de laatste stap te lang duren.
Maar hoe bepaal je welke segmenten je in de eerste plaats wilt verwijderen? Het is niet alleen moeilijk om de ideale reeks segmenten deterministisch te vinden - het is onmogelijk. De set hangt af van welke paden het kortst zijn, precies het probleem dat de drie onderzoekers probeerden op te lossen. Maar ook al konden ze niet de beste set segmenten vinden om te verwijderen, ze konden bewijzen dat de meeste willekeurige keuzes redelijk goed zouden zijn, en dat was genoeg om de lus van zelfreferentie te doorbreken. In de zeldzame gevallen waarin het algoritme een ongelukkige keuze maakt en vastloopt bij de laatste stap, kunnen ze gewoon stoppen en het opnieuw uitvoeren.
"Willekeurigheid is in feite een manier om ervoor te zorgen dat iets waar is over de optimale oplossing zonder de optimale oplossing te kennen", zei Aรคron Bernstein, een van de auteurs van het nieuwe algoritme.
Willekeurigheid heeft talloze andere toepassingen gevonden in de informatica, van cryptografie tot speltheorie tot machine learning. De kans is groot dat het hier is om te blijven.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. Toegang hier.
- Bron: https://www.quantamagazine.org/how-randomness-improves-algorithms-20230403/
- :is
- ][P
- $UP
- 1
- 1994
- a
- Over
- over het
- AC
- Account
- Accounting
- Na
- algoritme
- algoritmen
- Alles
- altijd
- en
- Nog een
- beantwoorden
- nadering
- benaderingen
- passend
- ZIJN
- AS
- Asteroรฏde
- At
- auteurs
- terug
- gebaseerde
- basis-
- Eigenlijk
- BE
- omdat
- beginnen
- wezen
- BEST
- tussen
- Beetje
- Verzonken
- Breken
- doorbraak
- by
- berekenen
- Bellen
- CAN
- verzorging
- geval
- gevallen
- zeker
- zekerheid
- uitdagen
- kansen
- keuze
- keuzes
- Kies
- Klimaat
- complex
- computer
- Computer Science
- concludeert
- verwarring
- gekoppeld blijven
- Overwegen
- beschouwd
- kon
- geheimschrift
- dagen
- beslissen
- definitief
- demonstrating
- afhankelijk
- Bepalen
- ontwikkelen
- ontwikkelde
- moeilijk
- beneden
- dozijn
- elk
- aarde
- gemakkelijker
- Economie
- doeltreffend
- efficiรซnt
- beide
- elektronisch
- eindigt
- genoeg
- verzekeren
- Tijdperk
- fout
- Zelfs
- OOIT
- factoren
- SNELLE
- weinig
- veld-
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- het vinden van
- Voornaam*
- Voor
- gevonden
- Frans
- oppompen van
- spel
- voor algemeen gebruik
- krijgen
- Geven
- gegeven
- Goes
- goed
- diagram
- handvat
- Hard
- Hebben
- met
- hulp
- geholpen
- het helpen van
- helpt
- hier
- verborgen
- raken
- Hoe
- How To
- HTTPS
- i
- idee
- ideaal
- belangrijk
- onmogelijk
- in
- informatie
- geรฏnteresseerd
- betrokken zijn
- IT
- HAAR
- zelf
- jpg
- sleutel
- blijven
- Weten
- bekend
- mijlpaal
- Groot
- Achternaam*
- Afgelopen jaar
- leren
- Lengte
- als
- Lijn
- Elke kleine stap levert grote resultaten op!
- lang
- Kijk
- machine
- machine learning
- gemaakt
- maken
- MERKEN
- veel
- wiskunde
- methode
- methodisch
- meer
- efficiรซnter
- meest
- meervoudig
- Nabij
- noodzakelijk
- New
- knooppunten
- nucleair
- aantal
- nummers
- Voor de hand liggend
- of
- on
- EEN
- optimale
- Overige
- anders-
- Oxford
- voorbij
- pad
- patronen
- kiezen
- Pierre
- plaats
- Plato
- Plato gegevensintelligentie
- PlatoData
- Spelen
- gespeeld
- stekker
- Populair
- mogelijkheid
- mogelijk
- praktijk
- mooi
- Prime
- principe
- waarschijnlijk
- probleem
- probleemoplossing
- problemen
- processen
- Programma
- bewijs
- Bewijzen
- bewezen
- Quanta tijdschrift
- vraag
- Contact
- snel
- willekeurige
- Gerandomiseerd
- willekeurigheid
- BIJZONDER
- liever
- recent
- achteloos
- blijven
- onderzoekers
- resultaat
- Rol
- lopen
- Zei
- Wetenschap
- Wetenschapper
- wetenschappers
- Tweede
- segmenten
- reeks
- moet
- Siam
- gelijk
- vereenvoudigd
- eenvoudigweg
- sinds
- traag
- Klein
- oplossing
- OPLOSSEN
- Lost op
- Het oplossen van
- sommige
- iets
- specifiek
- Start
- Statement
- blijven
- Stap voor
- Stappen
- stop
- structuur
- geslaagd
- Nemen
- proef
- Testen
- dat
- De
- De grafiek
- hun
- Ze
- Deze
- spullen
- drie
- Door
- keer
- naar
- ook
- Totaal
- transformeren
- waar
- BEURT
- Gedraaid
- Onzekerheid
- universiteit-
- Universiteit van Oxford
- .
- doorgaans
- waarde
- Values
- versie
- Manier..
- manieren
- web
- of
- welke
- Met
- zonder
- Bedrijven
- s werelds
- zou
- jaar
- jaar
- You
- Your
- zephyrnet