Alkulukutesteistä
Tämän tutkielman tavoitteena on esittää tunnetuimmat alkulukutestit niin matemaattiselta
perustoiltaan kuin käytännön toteutuksiltaan ohjelmakoodin muodossa.
Alkulukutestit jaotellaan yleisesti deterministisiin ja probabilistisiin testeihin; deterministiset
testit antavat täysin varman vastauksen, mutta ovat suurille luvuille huomattavasti
probabilistia testejä hitaampia. Probabilistiset testit ovat nopeita tehdä,
mutta saattavat antaa väärän vastauksen. Testien suoritusaikaa mitataan karkeasti
niiden suorittamiseksi vaadittavien laskutoimitusten lukumääarällä.
Tutkielmassa käsitellään deterministisistä testeistä jakolaskumenetelmä, Wilsonin
lause, Prothin testi, Lucasin ja Lehmerin testi ja viimeisenä suhteellisen uusi AKStesti.
Yleisesti deterministiset testit eivät ole kovin käyttökelpoisia, sillä niiden suoritusaika
kasvaa eksponentiaalisesti testattavan luvun kasvaessa tai ne toimivat ainoastaan
tiettyä muotoa oleville luvuille. Probabilistisiin testeihin päädytään hyöyntämällä
Fermat’n pientä lausetta käänteisesti, ja tätä kutsutaan Fermat’n alkulukutestiksi.
Kyseinen testi ei kuitenkaan toimi kovin luotettavasti: on olemassa Carmichaelin
lukuja, jotka hyvin todennäköisesti toteuttavat Fermat’n pienen lauseen yhtälön,
vaikka ovatkin yhdistettyjä lukuja. Fermat’n alkulukutestin johdannainen Millerin ja
Rabinin testi on kuitenkin erittäin käytetty sen vuoksi, ett tälle pystytääan määrittelemään
virheraja, jolla testi antaa vääriä vastauksia. Solovayn ja Strassenin testi on
hyvin lähellä kahta viimeksi mainittua testiä, muttei ole aivan yhtä luotettava kuin
Millerin ja Rabinin testi.
Alkulukutestiä, kuten monia algoritmeja yleensäkin, nimitetään polynomiaikaiseksi,
jos siinä vaadittavien laskutoimitusten lukumäärä on polynomi testattavan luvun
numeroiden lukumäärän suhteen. Pitkäänn alkulukutestaus ei ollut polynomisessa
ajassa ratkaistava ongelma, ennen kuin vuonna 2002 julkaistiin AKS-testi, joka on
ensimmäinen deterministinen ja polynomiaikainen alkulukutesti. Tutkielmassa todistetaan
lopulta myös tämän testin toimivuus sekä todetaan, että kyseessä todellakin
on polynomiaikainen algoritmi.
...
Asiasanat
Metadata
Näytä kaikki kuvailutiedotKokoelmat
- Pro gradu -tutkielmat [29740]
Lisenssi
Samankaltainen aineisto
Näytetään aineistoja, joilla on samankaltainen nimeke tai asiasanat.
-
Kompleksilukujen lukuteoriaa ja lukuteoriaa kompleksiluvuilla
Lindqvist, Ellinoora (2019)Tämän tutkielman tarkoituksena on näyttää, kuinka kokonaislukujen lukuteoriaa voidaan yleistää kokonaislukujen kompleksisille laajennuksille. Lisäksi halutaan osoittaa, että tilannetta voidaan tarkastella toisestakin ... -
Lukuteoriaan perustuvia salausmenetelmiä
Rehn, Rasmus (2019)Tämän tutkielman tarkoitus on tutustuttaa lukija salakirjoituksen maailmaan lukuteorian näkökulmasta. Tutkielma sisältää salausmenetelmiin tarvittavat matemaattiset pohjatiedot, Diffie-Hellmanin salausmenetelmän ja ... -
Reitinhakualgoritmien käyttö videopeleissä
Keränen, Emil (2018)Reitinhaku on sekä videopeleissä että tekoälyn ja robotiikan puolella hyvin tuttu ongelma. Sen tutkimiseen on käytetty viime vuosina paljon resursseja lisääntyneen tekoälykiinnostuksen vuoksi. Tässä tutkielmassa keskitytään ... -
Post-kvanttisalausten standardoinnin nykytilanne
Seppänen, Edvard (2024)Nykyisten salausmenetelmien turvallisuus on asetettu kyseenalaiseksi kvanttitietokoneiden kehityksen myötä. Vuonna 1994 Peter Shor kehitti algoritmin, joka kykenee murtamaan nykyiset salausmenetelmät riittävän tehokkaan ... -
Gravitaatiosimulaatiot
Peiponen, Aapo (2019)Tässä tutkielmassa tarkastellaan gravitaatiosimulaatioita, simulaatioiden tehokkuutta ja algoritmeja, joilla simulaatioita voidaan nopeuttaa. Gravitaatiosimulaatioiden suurin ongelma on laskennallinen vaativuus. Suoraan N ...
Ellei toisin mainittu, julkisesti saatavilla olevia JYX-metatietoja (poislukien tiivistelmät) saa vapaasti uudelleenkäyttää CC0-lisenssillä.