Matematiikassa modulaarinen aritmetiikka on kokonaislukujen laskentajärjestelmä, jonka avulla ne "kääntyvät" saavuttaessaan tietyn arvon - moduulin (tai niiden monikon). Nykyaikaisen lähestymistavan tämänk altaiseen tieteeseen kehitti Carl Friedrich Gauss vuonna 1801 julkaistussa teoksessaan Disquisitiones Arithmeticae. Tietojenkäsittelytieteilijät käyttävät tätä menetelmää kovasti, koska se on erittäin mielenkiintoinen ja avaa tiettyjä uusia mahdollisuuksia operaatioissa numeroiden kanssa.
Essence
Koska tuntien määrä alkaa uudelleen, kun se on saavuttanut 12, se on aritmeettinen modulo 12. Alla olevan määritelmän mukaan 12 ei vastaa vain 12:ta, vaan myös 0:ta, joten kellonajan voi nimetä myös nimellä " 12:00". "0:00". Loppujen lopuksi 12 on sama kuin 0 modulo 12.
Modulaarista aritmetiikkaa voidaan käsitellä matemaattisesti ottamalla käyttöön yhtenevä relaatio kokonaislukuihin, joka on yhteensopiva kokonaislukuoperaatioiden kanssanumerot: yhteen-, vähennys- ja kertolasku. Positiiviselle kokonaisluvulle n kahden luvun a ja b sanotaan olevan yhteneväisiä modulo n:n suhteen, jos niiden ero a - b on n:n kerrannainen (eli jos on olemassa kokonaisluku k, jossa a - b=kn).
Vähennykset
Teoreettisessa matematiikassa modulaarinen aritmetiikka on yksi lukuteorian perusteista, ja se vaikuttaa lähes kaikkiin sen tutkimuksen osa-alueisiin, ja sitä käytetään myös laaj alti ryhmien, renkaiden, solmujen ja abstraktien algebran teoriassa. Sovellettavan matematiikan alalla sitä käytetään tietokonealgebrassa, kryptografiassa, tietojenkäsittelytieteessä, kemiassa, kuvataiteessa ja musiikissa.
Harjoittelu
Hyvin käytännöllinen sovellus on sarjanumerotunnisteiden tarkistussummien laskeminen. Esimerkiksi joissakin yleisissä kirjastandardeissa käytetään aritmeettista modulo 11:tä (jos julkaistu ennen 1. tammikuuta 2007) tai modulo 10:tä (jos se on julkaistu ennen 1. tammikuuta 2007 tai sen jälkeen). Vastaavasti esimerkiksi kansainvälisissä pankkitilinumeroissa (IBAN). Tämä käyttää modulo 97 aritmetiikkaa tunnistaakseen käyttäjän syöttövirheet pankkitilinumeroissa.
Kemiassa CAS-rekisteröintinumeron (kunkin kemiallisen yhdisteen yksilöllinen tunnistenumero) viimeinen numero on tarkistusnumero. Se lasketaan kertomalla CAS-rekisteröintinumeron kahden ensimmäisen osan viimeinen numero 1:llä, edellinen numero 2 kertaa, edellinen numero 3 kertaa jne., laskemalla kaikki yhteen ja laskemalla summa modulo 10.
Mitä salaus on? Tosiasia on, ettäsillä on erittäin vahva yhteys käsiteltävään aiheeseen. Salaustekniikassa modulaarisen aritmeettisen lait ovat suoraan julkisen avaimen järjestelmien, kuten RSA:n ja Diffie-Hellmanin, taustalla. Tässä se tarjoaa äärelliset kentät, jotka ovat elliptisten käyrien alla. Käytetään useissa symmetrisissä avainalgoritmeissa, mukaan lukien Advanced Encryption Standard (AES), International Data Encryption Algorithm ja RC4.
Hakemus
Tätä menetelmää käytetään alueilla, joilla sinun on luettava numeroita. Sen ovat kehittäneet matemaatikot, ja kaikki käyttävät sitä, erityisesti tietotekniikan tutkijat. Tämä on hyvin dokumentoitu kirjoissa, kuten Modular Aithmetic for Dummies. Monet asiantuntijat suosittelevat kuitenkin, ettei tällaista kirjallisuutta oteta vakavasti.
Tietojenkäsittelytieteessä modulaarista aritmetiikkaa käytetään usein bittikohtaisissa ja muissa operaatioissa, joihin liittyy kiinteän levyisiä ympyrätietorakenteita. Analyytikot käyttävät sitä mielellään. Modulo-toiminto on toteutettu monilla ohjelmointikielillä ja laskimilla. Tässä tapauksessa se on yksi esimerkki tällaisesta sovelluksesta. Ohjelmoinnissa käytetään myös moduulivertailua, jakojäännöksellä jakamista ja muita temppuja.
Musiikissa aritmeettista moduloa 12 käytetään, kun tarkastellaan kahdentoista sävyn samantemperamentista järjestelmää, jossa oktaavi ja enharmonia ovat ekvivalentteja. Toisin sanoen avaimet suhteessa 1-2 tai 2-1 ovat vastaavia. Musiikissa ja muissa humanistisissa tieteissä aritmetiikka on melko merkittävässä roolissa, mutta oppikirjoissaTietojenkäsittelytieteilijät eivät yleensä kirjoita siitä.
Yhdeksän vähentämismenetelmä
9s-muunnosmenetelmä mahdollistaa manuaalisten desimaaliaritmeettisten laskelmien nopean tarkistuksen. Se perustuu modulaariseen aritmetiikkaan modulo 9 ja erityisesti ratkaisevaan ominaisuuteen 10 10 1.
on muitakin esimerkkejä. Aritmeettista modulo 7:ää käytetään algoritmeissa, jotka määrittävät viikonpäivän tietylle päivämäärälle. Erityisesti Zellerin kongruenssi ja Doomsday-algoritmi käyttävät paljon aritmeettista moduloa 7.
Muut sovellukset
Se on jo sanottu modulaarisesta aritmetiikasta kryptografiassa. Tällä alalla hän on yksinkertaisesti korvaamaton. Yleisemminkin modulaarinen aritmetiikka löytää sovelluksia myös tieteenaloilla, kuten oikeustieteessä, taloustieteessä (kuten peliteoriassa) ja muilla yhteiskuntatieteiden aloilla. Toisin sanoen missä resurssien suhteellisella jaolla ja jakautumisella on tärkeä rooli.
Koska modulaarisella aritmetiikalla on niin monenlaisia käyttötarkoituksia, on tärkeää tietää, kuinka vaikeaa vertailujärjestelmän ratkaiseminen on. Lineaarinen kongruenssijärjestelmä voidaan ratkaista polynomiajassa Gaussin eliminoinnin muodossa. Tätä kuvaa tarkemmin lineaarinen kongruenssilause. On myös olemassa algoritmeja, kuten Montgomeryn pelkistys, jotta yksinkertaiset aritmeettiset operaatiot voidaan suorittaa tehokkaasti. Esimerkiksi kerto- ja eksponentiomodulo n suurille luvuille. Tämä on erittäin tärkeää tietää, jotta ymmärrät mitäkryptografia. Loppujen lopuksi se toimii vain vastaavien toimintojen kanssa.
Congruence
Jotkin operaatiot, kuten diskreetin logaritmin tai toisen asteen kongruenssin löytäminen, näyttävät olevan yhtä monimutkaisia kuin kokonaislukujen tekijöiden jakaminen ja ovat siten salausalgoritmien ja salauksen lähtökohta. Nämä ongelmat voivat olla NP-keskitason.
Esimerkkejä
Seuraavassa on kolme melko nopeaa C-funktiota - kaksi modulaarista kertolaskua varten ja yksi 63 bitin etumerkittömien kokonaislukujen korottamiseksi modulaariseksi luvuksi ilman ohimenevää ylivuotoa.
Pian kokonaislukujen (1, 2, 3, 4, 5…) löytämisen jälkeen käy ilmi, että ne on jaettu kahteen ryhmään:
- Parillinen: jaollinen 2:lla (0, 2, 4, 6..).
- Pariton: ei jaollinen kahdella (1, 3, 5, 7…).
Miksi tämä ero on tärkeä? Tämä on abstraktion alku. Huomaamme luvun ominaisuudet (esim. parillinen tai pariton) emmekä vain itse numeroa ("37").
Tämän avulla voimme tutkia matematiikkaa syvemmällä tasolla ja löytää suhteita numerotyyppien välillä tiettyjen lukutyyppien sijaan.
Numeron ominaisuudet
"Kolme" oleminen on vain toinen luvun ominaisuus. Ei ehkä yhtä hyödyllinen kuin parillinen/pariton, mutta se on olemassa. Voimme luoda sääntöjä, kuten "kolmetoista x kolme vein=kolmetoista" ja niin edelleen. Mutta se on hullua. Emme voi tehdä uusia sanoja koko ajan.
Modulo-toiminto (lyhennetty mod tai "%" monissa ohjelmointikielissä) on loppuosa, kunjako. Esimerkiksi "5 mod 3=2", mikä tarkoittaa, että 2 on jäännös, kun jaat 5:llä 3.
Kun muunnetaan arkipäiväisiä termejä matematiikaksi, "parillinen luku" on kohdassa "0 mod 2", mikä tarkoittaa, että jäännös on 0, kun se jaetaan kahdella. Pariton luku on "1 mod 2" (jossa on jakojäännös / 1).
Parilliset ja parittomat luvut
Mikä on parillinen x parillinen x pariton x pariton? No, se on 0 x 0 x 1 x 1=0. Itse asiassa voit nähdä, kerrotaanko parillinen luku missä tahansa, jolloin koko tulos on nolla.
Modulaarisen matematiikan temppu on, että olemme jo käyttäneet sitä ajan tallentamiseen – sitä kutsutaan joskus "kelloaritmetiikaksi".
Esimerkiksi: 7:00 (am/pm - ei väliä). Missä tuntiosoitin on 7 tunnin kuluttua?
Modulaatiot
(7 + 7) mod 12=(14) mod 12=2 mod 12 [2 on jäännös, kun 14 jaetaan 12:lla. Yhtälö 14 mod 12=2 mod 12 tarkoittaa 14 tuntia ja 2 tuntia. sama 12 tunnin kellolla. Ne ovat yhteneväisiä, ja ne ilmaistaan kolminkertaisella yhtäläisyysmerkillä: 14 ≡ 2 mod 12.
Toinen esimerkki: kello on 8.00. Missä iso käsi on 25 tunnin kuluttua?
Sen sijaan, että lisäisit 25:ään 8:aan, voit ymmärtää, että 25 tuntia on vain "1 päivä + 1 tunti". Vastaus on yksinkertainen. Joten, kello päättyy 1 tunti eteenpäin - klo 9:00.
(8 + 25) mod 12 ≡ (8) mod 12 + (25) mod 12 ≡ (8) mod 12 + (1) mod 12 ≡ 9 mod 12. Muusit intuitiivisesti luvun 25 1:ksi ja lisäsit tämän 8.
Kellon avulla voimme selvittää, onkomodulaarisen aritmetiikan säännöt, ja ne toimivat.
Lisäys/Vähennys
Sanotaan, että kaksi kertaa näyttävät sam alta kellossamme ("2:00" ja "14:00"). Jos lisäämme samat x tuntia molempiin, mitä tapahtuu? No, ne vaihtuvat kellossa samalla summalla! 2:00 + 5 tuntia ≡ 14:00 + 5 tuntia - molemmat näytetään 7:00.
Miksi? Voimme yksinkertaisesti lisätä 5 kahteen jäännökseen, jotka molemmilla on, ja ne etenevät samalla tavalla. Kaikille yhteneväisille luvuille (2 ja 14) yhteen- ja vähennyslaskulla on sama tulos.
On vaikeampi tietää, pysyykö kertolasku samana. Jos 14 ≡ 2 (mod 12), voimmeko kertoa molemmat luvut ja saada saman tuloksen? Katsotaan mitä tapahtuu, kun kerromme 3:lla.
No, 2:003 × 6:00. Mutta mikä on 14:003?
Muista, 14=12 + 2. Voimme siis sanoa
143=(12 + 2)3=(123) + (23)
Ensimmäinen osa (123) voidaan jättää huomiotta! 12 tunnin ylivuoto, joka kantaa 14, yksinkertaisesti toistaa itseään useita kertoja. Mutta kuka välittää? Ylivuodon ohitamme joka tapauksessa.
Kertokerta
Kerrottaessa vain loppuosa on tärkeä, eli samat 2 tuntia kello 14:00 ja 2:00. Intuitiivisesti näin kertominen ei muuta suhdetta modulaarisen matematiikan kanssa (voit kertoa modulaarisen suhteen molemmat puolet ja saada saman tuloksen).
Teemme sen intuitiivisesti, mutta on mukava antaa sille nimi. Sinulla on lento, joka saapuu klo 15. Hänmyöhässä 14 tuntia. Mihin aikaan se laskeutuu?
14 ≡ 2 mod 12. Joten ajattele sitä kello 2:ksi, jolloin kone laskeutuu kello 5 aamulla. Ratkaisu on yksinkertainen: 3 + 2=5 am. Tämä on hieman monimutkaisempi kuin yksinkertainen modulo-toiminto, mutta periaate on sama.