Kuidas luua suur algarv | Ajakiri Quanta

Kuidas luua suur algarv | Ajakiri Quanta

Kuidas luua suur algarv | Quanta Magazine PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Sissejuhatus

Algarvud on keerulised asjad. Me õpime koolis, et need on arvud, millel pole muid tegureid kui 1 ja nad ise, ning et matemaatikud on tuhandeid aastaid teadnud, et neid on lõpmatu arv. Sellise käsu peale loomine ei tundu olevat keeruline.

Aga see on. Suvaliselt suurte algarvude konstrueerimine on märkimisväärselt keeruline. Põhimõtteliselt on teil kaks arvutusvõimalust, millest mõlemal on puudusi. Võite kasutada juhuslikkust ja leida selle äraarvamise teel, kuid meetod on ebajärjekindel – teil on oht genereerida iga kord erinev algarvu. Või võite kasutada usaldusväärsemat, deterministlikumat algoritmi, kuid suurte arvutuskuludega.

Mais arvutiteadlaste meeskond näitas et ka mingi hübriidne lähenemine võiks toimida. Nad avaldasid algoritmi, mis kombineerib tõhusalt juhuslikud ja deterministlikud lähenemisviisid, et väljastada konkreetse pikkusega algarv, suure tõenäosusega edastada sama isegi siis, kui algoritmi käitatakse mitu korda. Algoritm ühendab juhuslikkuse ja keerukuse huvitaval viisil ning see võib olla kasulik ka krüptograafias, kus mõned kodeerimisskeemid põhinevad suurte algarvude konstrueerimisel.

"Nad koostasid katsete jada, millest igaüks üritas konstrueerida erineva pikkusega algarvu ja näitas, et üks katsetest toimib," ütles ta. Roei Tell, arenenud uuringute instituudi teoreetiline arvutiteadlane, kes ei olnud tööga seotud. "See on konstruktsioon, mis väljastab deterministlikult valitud algarvu, kuid võimaldab teil selle käigus münte visata ja juhuslikke valikuid teha."

Tõhusa praimeretsepti loomise väljakutsel on sügavad juured. "Me tõesti ei tea nii palju algarvude jaotusest või algarvude lünkadest," ütles pseudojuhuslikke algoritme uuriv Ofer Grossman. Ja kui me ei tea, kust neid leida, pole lihtsat viisi algarvu nullist genereerimiseks.

Sissejuhatus

Aja jooksul töötasid teadlased välja eelnimetatud lähenemisviisid. Lihtsaim viis on lihtsalt oletada. Kui soovite näiteks 1,000-kohalist algarvu, võite valida juhuslikult 1,000-kohalise arvu ja seejärel kontrollida. "Kui see pole parim, proovige lihtsalt teist ja teist ja nii edasi, kuni leiate ühe," ütles Rahul Santanam, Oxfordi ülikooli arvutiteadlane ja uue artikli kaasautor. "Kuna algarvusid on palju, annab see algoritm teile pärast suhteliselt väikest arvu iteratsioone suure tõenäosusega algarvu." Kuid juhuslikkuse kasutamine tähendab, et tõenäoliselt saate iga kord erineva numbri, ütles ta. See võib olla probleem, kui vajate järjepidevust – näiteks kui kasutate krüptograafilist turvameetodit, mis sõltub suurte algarvude saadavusest.

Teine lähenemisviis on kasutada deterministlikku algoritmi. Võite valida lähtepunkti ja hakata numbreid järjestikku katsetama primaalsuse tuvastamiseks. Lõpuks olete määratud selle leidma ja teie algoritm väljastab järjekindlalt esimese, mille leiate. Kuid see võib veidi aega võtta: kui otsite 1,000-kohalist algarvu, siis isegi 2-ga arvutust.500 sammudest – mis võtaksid palju kauem aega kui universumi vanus – ei piisa edu tagamiseks.

2009. aastal tahtis matemaatik ja Fieldsi medaliomanik Terence Tao paremini hakkama saada. Ta kutsus matemaatikuid välja töötama deterministliku algoritmi etteantud suurusega algarvu leidmiseks arvutusliku aja jooksul.

Seda ajapiirangut nimetatakse polünoomiliseks ajaks. Algoritm lahendab ülesande polünoomilise aja jooksul, kui selle sammude arv ei ole suurem kui polünoomfunktsioon n, sisendi suurus. (Polünoomfunktsioon sisaldab termineid, mille muutujad on tõstetud positiivse täisarvuni, näiteks n2 või 4n3.) Algarvude ehitamise kontekstis n viitab numbrite arvule soovitud algarvus. Arvutuslikult ei maksa see palju: Arvutiteadlased kirjeldavad probleeme, mida saab lahendada algoritmide abil polünoomilise aja jooksul, nii lihtsalt. Raske probleem seevastu võtab eksponentsiaalselt aega, mis tähendab, et see nõuab mitmeid samme, mis on lähendatud eksponentsiaalfunktsiooniga (mis sisaldab selliseid termineid nagu 2n).

Aastakümneid on teadlased uurinud seost juhuslikkuse ja kõvaduse vahel. Algarvude konstrueerimise ülesannet peeti lihtsaks, kui lubasite juhuslikkust – ja rahuldusite iga kord erineva arvu saamisega – ja raskeks, kui nõudsite determinismi.

Tao väljakutsele pole veel keegi jõudnud vastata, kuid uus töö tuleb lähedale. See tugineb suuresti Massachusettsi Tehnoloogiainstituudi arvutiteadlaste Shafi Goldwasseri ja Eran Gati 2011. aastal kasutusele võetud lähenemisviisile. Nad kirjeldasid "pseudodeterministlikke" algoritme - matemaatilisi retsepte otsinguprobleemide jaoks, nagu suurte algarvude leidmine, mis võivad ära kasutada juhuslikkuse eeliseid ja anda suure tõenäosusega ikkagi iga kord sama vastuse. Nad kasutaksid retseptis juhuslike bittide tõhusust, mis determiniseeritaks tulemuses, näidates deterministlikuna.

Teadlased on sellest ajast peale uurinud pseudodeterministlikke algoritme. 2017. aastal Santhanam ja Igor Oliveira Warwicki ülikoolist (kes aitas ka uues töös kaasa) kirjeldatud pseudodeterministlik lähenemine algarvude konstrueerimisele, mis kasutas juhuslikkust ja nägi välja veenvalt deterministlik, kuid töötas "subeksponentsiaalses" ajas - kiiremini kui eksponentsiaalne, kuid aeglasemalt kui polünoomaeg. Seejärel 2021. aastal Tell ja Lijie Chen, arvutiteadlane California ülikoolist Berkeleys, uuritud kuidas kasutada rasket ülesannet pseudojuhuslike arvude generaatori (algoritm, mis genereerib juhuslikust väljundist eristamatu arvujada) koostamiseks. "[Me] leidsime uue seose kõvaduse ja pseudojuhuslikkuse vahel, " ütles Chen.

Tükid said lõpuks kokku 2023. aasta kevadel, ajal alglaager arvutusliku keerukuse kohta Simonsi Arvutusteooria Instituudis Berkeleys, kui teadlased hakkasid selle probleemi kallal koostööd tegema, põimides kokku varasemaid tulemusi. Chen ütles, et uue töö jaoks oli Hanlin Renil - Oxfordi arvutiteadlasel ja kaasautoril - esialgsed ideed ühendada Chen-Telli tulemus Santhanam-Oliveira lähenemisviisiga uudsel viisil. Seejärel arendas kogu meeskond ideid uue paberi tootmiseks põhjalikumalt.

Saadud pseudodeterministlik algoritm, ütles Santhanam, kasutas polünoomilises ajas algarvude saamiseks uusi viise varasema töö vaatlemiseks. Tõenäoliselt kasutas see kindla pikkusega algarvu väljastamiseks juhuslikkust ja tööriist on täpsem kui juhuslik arvamine ja arvutuslikult tõhusam kui deterministlik krigistamine.

Uus algoritm on ka märkimisväärselt lihtne, ütles Santhanam ja seda saab rakendada paljudele otsinguprobleemidele - tegelikult igale tihedale arvude alamhulgale, näiteks algarvudele, mille liikmelisust saab määrata polünoomilise aja jooksul. Kuid see pole täiuslik. Algoritm töötab lõputult paljude sisestuspikkuste korral, kuid see ei kata kõiki numbrite pikkusi. Mõned väärtused võivad siiski olla n seal, mille jaoks algoritm ei tooda deterministlikult algarvu.

"Oleks lahe sellest väikesest hoiatusest lahti saada," ütles Grossman.

Santhanami sõnul on lõppeesmärk leida algoritm, mis ei nõua üldse juhuslikkust. Kuid see ülesanne jääb avatuks. "Me tahaksime kasutada determinismi," ütles ta.

Kuid ta märkis ka, et pseudojuhuslikud protsessid on võimsad tööriistad ja projektid, nagu algarvude konstrueerimine, on vaid üks viis nende kasutamiseks matemaatika, arvutiteaduse, infoteooria ja muude valdkondade ideede ühendamiseks.

"Põnev on proovida ja mõelda, kuhu need suurepärased tähelepanekud veel viivad," ütles Tell.

Ajatempel:

Veel alates Kvantamagazin