Introduktion
Siden de allerførste dage af datalogi - et felt kendt for sin metodiske tilgang til problemløsning - har tilfældighed spillet en vigtig rolle. Det første program, der kørte på verdens første almindelige elektroniske computer, brugte tilfældighed til at simulere nukleare processer. Lignende tilgange er siden blevet brugt inden for astrofysik, klimavidenskab og økonomi. I alle disse tilfælde skal du tilslutte tilfældige tal på visse trin i algoritmen hjælper forskere med at redegøre for usikkerhed om de mange måder, komplekse processer kan udspille sig på.
Men tilføjelse af tilfældighed i en algoritme kan også hjælpe dig med at beregne det rigtige svar på utvetydige sandt-eller-falsk-spørgsmål. "Du siger bare 'OK, lad mig give op, lad mig ikke prøve, lad mig bare vælge noget tilfældigt'," sagde Erik Blais, en datalog ved University of Waterloo. "For alt for mange problemer ender det med at blive en succesfuld tilgang."
Lad os sige, at du vil bestemme, om et givet tal er primtal (kun deleligt med 1 og sig selv) eller sammensat (også deleligt med andre heltal). Du kan simpelthen prøve at dividere det med alle mulige faktorer, men for store tal er denne "brute force"-metode og andre factoring-algoritmer uhyggeligt langsomme. Og hvis tallet viser sig at være sammensat, fortæller factoring-algoritmer dig værdierne af dets divisorer - mere information, end du bad om. Hvis du kun bekymrer dig om et tals "primalitet", er der en mere effektiv algoritme?
Der er, hvis du bruger tilfældighed. Grundideen går tilbage til et resultat fra den franske matematiker Pierre de Fermat fra det 17. århundrede, kendt som hans "lille teorem." Fermat betragtede to heltal - kald dem N , x. Han beviste, at hvis N er altså et primtal xN - x er altid et multiplum af N, uanset værdien af x. Tilsvarende, hvis xN - x er ikke et multiplum af N, derefter N kan ikke være et primtal. Men det omvendte udsagn er ikke altid sandt: Hvis xN - x er et multiplum af N, derefter N er normalt, men ikke altid prime.
For at omdanne Fermats lille sætning til en primalitetstest skal du blot tage N som du er interesseret i, vælg x tilfældigt, og sæt de to tal ind i xN - x. Hvis resultatet ikke er et multiplum af N, så er du færdig: Det ved du godt N er bestemt sammensat. Hvis resultatet er et multiplum af N, derefter N er sandsynligvis prime. Vælg nu en anden tilfældig x og prøv igen. I de fleste tilfælde kan du efter et par dusin forsøg konkludere med næsten sikkerhed N er et primtal. "Du gør dette et lille antal gange," sagde Blais, "og på en eller anden måde er din sandsynlighed for at have en fejl mindre end sandsynligheden for, at en asteroide rammer Jorden mellem nu, og når du ser på svaret."
Den første primalitet tests ved hjælp af randomiserede algoritmer (baseret på forbedringer af Fermats lille sætning) indledte en ny æra. Problem efter problem viste sig at være langt lettere at løse med tilfældighed end med ikke-tilfældige eller deterministiske algoritmer. Nøglen var at omformulere hvert problem som et, der hurtigt kunne løses givet en passende værdi for et eller andet tal x, og derefter bevise, at næsten enhver x ville gøre. Løsningen virker, selvom forskerne ikke aner, hvordan de skal afgøre, om et specifikt valg er godt. Matematikere har joket, at denne usædvanlige udfordring er beslægtet med at finde hø i en høstak.
Men disse succeser fik forskere til at undre sig over, hvorfor tilfældighed skulle hjælpe med problemer som primalitetstest, som handler om at finde skjulte, ikke-tilfældige mønstre. "Der er noget lidt paradoksalt over det," sagde Rahul Santhanam, en datalog ved University of Oxford. "Ren tilfældighed hjælper dig med at få styr på den struktur, der løser problemet."
I 1994 skrev datalogerne Noam Nisan og Avi Wigderson hjalp med at løse denne forvirring ved at demonstrere, at tilfældighed, selvom det er nyttigt, sandsynligvis ikke er nødvendigt. De bevist at en af to ting skal være sand: Enten har alle problemer, der kan løses effektivt ved hjælp af tilfældighed, også hurtige deterministiske algoritmer, eller også er mange notorisk svære problemer hemmeligt nemme. Dataloger anser den anden mulighed for meget usandsynlig.
Faktisk har dataloger ofte lettere ved at udvikle en deterministisk algoritme ved at starte med en randomiseret version og derefter "de-randomisere" den. "Når jeg har det, ser jeg pludselig en meget indlysende måde at gøre det deterministisk på," sagde Eli Upfal, en datalog ved Brown University. "Men hvis jeg ikke tænkte på det på en randomiseret måde som et sandsynlighedsspørgsmål, ville jeg nok ikke tænke på det."
Næsten 30 år efter Nisan og Wigdersons skelsættende bevis, forbliver randomiserede algoritmer lige så populære som nogensinde, fordi de-randomisering kan være vanskelig, og deterministiske algoritmer er ofte kun effektive i princippet. Det var først i 2002, at tre forskere fandt en måde at afrandomisere primalitetstest, og i praksis deres algoritme er langt langsommere end de bedste randomiserede algoritmer. For andre problemer er det svært selv at vide, hvor man skal begynde - den bedst kendte algoritme har et kylling-og-æg-problem, som du kun kan undslippe gennem tilfældighed.
Det er tilfældet for et nyligt gennembrud inden for grafteori. Sidste år udviklede tre dataloger en hurtig algoritme til at finde den korteste vej gennem en graf - et net af knudepunkter forbundet med linjesegmenter - der fungerer, selv når nogle segmenter trækker fra den samlede vejlængde i stedet for at lægge til den. Deres algoritme involverede at transformere grafen til en enklere ved at slette bestemte segmenter, løse problemet for den forenklede graf og derefter tage højde for de slettede segmenter. De kunne bevise, at algoritmen ville køre hurtigt, hvis ingen korteste vej gik gennem for mange slettede segmenter - ellers ville det sidste trin tage for lang tid.
Men hvordan beslutter man, hvilke segmenter der skal slettes i første omgang? Det er ikke bare svært at finde det ideelle sæt af segmenter deterministisk – det er umuligt. Sættet afhænger af, hvilke veje der er kortest, selve det problem de tre forskere forsøgte at løse. Men selvom de ikke kunne finde det bedste sæt af segmenter at slette, kunne de bevise, at de fleste tilfældige valg ville være ret gode, og det var nok til at bryde den selvrefererende løkke. I de sjældne tilfælde, hvor algoritmen træffer et uheldigt valg og hænger fast ved det sidste trin, kunne de bare stoppe og køre den igen.
"Tilfældighed er dybest set en måde at sikre, at noget er sandt om den optimale løsning uden at kende den optimale løsning," sagde Aaron Bernstein, en af forfatterne til den nye algoritme.
Tilfældighed har fundet utallige andre anvendelser inden for datalogi, fra kryptografi til spilteori til maskinlæring. Chancerne er, at det er kommet for at blive.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. Adgang her.
- Kilde: https://www.quantamagazine.org/how-randomness-improves-algorithms-20230403/
- :er
- ][s
- $OP
- 1
- 1994
- a
- Om
- om det
- AC
- Konto
- Bogføring og administration
- Efter
- algoritme
- algoritmer
- Alle
- altid
- ,
- En anden
- besvare
- tilgang
- tilgange
- passende
- ER
- AS
- Asteroide
- At
- forfattere
- tilbage
- baseret
- grundlæggende
- I bund og grund
- BE
- fordi
- begynde
- være
- BEDSTE
- mellem
- Bit
- fastklemt
- Pause
- gennembrud
- by
- beregne
- ringe
- CAN
- hvilken
- tilfælde
- tilfælde
- vis
- sikkerhed
- udfordre
- odds
- valg
- valg
- Vælg
- Klima
- komplekse
- computer
- Datalogi
- konkluderer
- forvirring
- tilsluttet
- Overvej
- betragtes
- kunne
- kryptografi
- Dage
- beslutte
- definitivt
- demonstrerer
- afhænger
- Bestem
- udvikle
- udviklet
- svært
- ned
- dusin
- hver
- jorden
- lettere
- Økonomi
- effektiv
- effektivt
- enten
- elektronisk
- ender
- nok
- sikre
- Era
- fejl
- Endog
- NOGENSINDE
- faktorer
- FAST
- få
- felt
- Finde
- finde
- Fornavn
- Til
- fundet
- Fransk
- fra
- spil
- generelle formål
- få
- Giv
- given
- Goes
- godt
- graf
- håndtere
- Hård Ost
- Have
- have
- hjælpe
- hjulpet
- hjælpe
- hjælper
- link.
- Skjult
- rammer
- Hvordan
- How To
- HTTPS
- i
- idé
- ideal
- vigtigt
- umuligt
- in
- oplysninger
- interesseret
- involverede
- IT
- ITS
- selv
- jpg
- Nøgle
- Kend
- Kendskab til
- kendt
- vartegn
- stor
- Efternavn
- Sidste år
- læring
- Længde
- ligesom
- Line (linje)
- lidt
- Lang
- Se
- maskine
- machine learning
- lavet
- lave
- maerker
- mange
- matematik
- metode
- metodisk
- mere
- mere effektiv
- mest
- flere
- I nærheden af
- nødvendig
- Ny
- noder
- nukleare
- nummer
- numre
- Obvious
- of
- on
- ONE
- optimal
- Andet
- Ellers
- Oxford
- Bestået
- sti
- mønstre
- pick
- Pierre
- Place
- plato
- Platon Data Intelligence
- PlatoData
- Leg
- spillet
- stik
- Populær
- Muligheden
- mulig
- praksis
- smuk
- Prime
- princippet
- sandsynligvis
- Problem
- problemløsning
- problemer
- Processer
- Program
- bevis
- Bevise
- bevist
- Quantamagazin
- spørgsmål
- Spørgsmål
- hurtigt
- tilfældig
- Tilfældigt
- tilfældighed
- SJÆLDEN
- hellere
- nylige
- Uanset
- forblive
- forskere
- resultere
- roller
- Kør
- Said
- Videnskab
- Videnskabsmand
- forskere
- Anden
- segmenter
- sæt
- bør
- siam
- lignende
- forenklet
- ganske enkelt
- siden
- langsom
- lille
- løsninger
- SOLVE
- Løser
- Løsning
- nogle
- noget
- specifikke
- Starter
- Statement
- forblive
- Trin
- Steps
- Stands
- struktur
- vellykket
- Tag
- prøve
- Test
- at
- Grafen
- deres
- Them
- Disse
- ting
- tre
- Gennem
- gange
- til
- også
- I alt
- omdanne
- sand
- TUR
- Drejede
- Usikkerhed
- universitet
- University of Oxford
- brug
- sædvanligvis
- værdi
- Værdier
- udgave
- Vej..
- måder
- web
- hvorvidt
- som
- med
- uden
- virker
- Verdens
- ville
- år
- år
- Du
- Din
- zephyrnet