Moduláris aritmetika: mi ez és hol használják

Tartalomjegyzék:

Moduláris aritmetika: mi ez és hol használják
Moduláris aritmetika: mi ez és hol használják
Anonim

A moduláris aritmetika a matematikában egy egész számok számítási rendszere, amelynek segítségével azok egy bizonyos értéket - a modult (vagy többes számot) - elérve "megfordulnak". Az e fajta tudomány modern megközelítését Carl Friedrich Gauss dolgozta ki 1801-ben megjelent Disquisitiones Arithmeticae című művében. Az informatikusok nagyon szeretik ezt a módszert használni, mivel nagyon érdekes, és bizonyos új lehetőségeket nyit meg a számokkal végzett műveletekben.

A moduláris aritmetika megjelenítése
A moduláris aritmetika megjelenítése

Essence

Mivel az órák száma a 12 elérése után újra kezdődik, ez aritmetikai modulo 12. Az alábbi definíció szerint a 12 nem csak 12-nek, hanem 0-nak is felel meg, így az időt is nevezhetjük " 12:00" "0:00". Végül is a 12 ugyanaz, mint a 0 modulo 12.

A moduláris aritmetika matematikailag is feldolgozható az egész számokra vonatkozó kongruens reláció bevezetésével, amely kompatibilis az egész számokkal végzett műveletekkelszámok: összeadás, kivonás és szorzás. Egy n pozitív egész számra két a és b szám modulo n egybevágónak mondható, ha a - b különbségük n többszöröse (vagyis ha létezik olyan k egész szám, amelyre a - b=kn).

Moduláris számok
Moduláris számok

Levonások

Az elméleti matematikában a moduláris aritmetika a számelmélet egyik alapja, amely tanulmányozásának szinte minden aspektusát érinti, és széles körben alkalmazzák a csoportok, gyűrűk, csomók és az absztrakt algebra elméletében is. Az alkalmazott matematika területén a számítógépes algebrában, kriptográfiában, számítástechnikában, kémiában, vizuális művészetekben és zenében használják.

Gyakorlás

Egy nagyon praktikus alkalmazás a sorozatszám-azonosítókban lévő ellenőrző összegek kiszámítása. Például néhány általános könyvszabvány a 11-es aritmetikai modulo-t (ha 2007. január 1-je előtt adták ki) vagy a modulo 10-et (ha 2007. január 1-je előtt vagy után) használja. Hasonlóan például a nemzetközi bankszámlaszámoknál (IBAN). Ez a modulo 97 aritmetikát használja a bankszámlaszámok felhasználói beviteli hibáinak észlelésére.

A kémiában a CAS regisztrációs szám utolsó számjegye (az egyes kémiai vegyületek egyedi azonosító száma) az ellenőrző számjegy. Kiszámítása úgy történik, hogy a CAS-regisztrációs szám első két részének utolsó számjegyét megszorozzuk 1-gyel, az előző számjegyet 2-szer, az előző számjegyet háromszor, stb., összeadjuk és kiszámítjuk a modulo 10 összeget.

Mi az a kriptográfia? A tény az, hogynagyon erősen kapcsolódik a tárgy alt témához. A kriptográfiában a moduláris aritmetika törvényei közvetlenül az olyan nyilvános kulcsú rendszerek mögött állnak, mint az RSA és a Diffie-Hellman. Itt megadja azokat a véges mezőket, amelyek az elliptikus görbék mögött állnak. Különféle szimmetrikus kulcs-algoritmusokban használják, beleértve az Advanced Encryption Standard (AES), a Nemzetközi adattitkosítási algoritmust és az RC4-et.

Elemi számtan
Elemi számtan

Alkalmazás

Ezt a módszert olyan területeken használják, ahol számokat kell olvasni. Matematikusok fejlesztették ki, és mindenki használja, különösen az informatikusok. Ezt jól dokumentálják olyan könyvek, mint a Modular Aithmetic for Dummies. Számos szakértő azonban azt javasolja, hogy ne vegyék komolyan az ilyen irodalmat.

A számítástechnikában a moduláris aritmetikát gyakran használják bitenkénti és egyéb, rögzített szélességű körkörös adatstruktúrákat tartalmazó műveleteknél. Az elemzők előszeretettel használják. A modulo művelet számos programozási nyelven és számológépen van megvalósítva. Ebben az esetben ez az egyik példa egy ilyen alkalmazásra. Modulo összehasonlítást, maradékkal való osztást és egyéb trükköket is alkalmaznak a programozásban.

A zenében a 12-es aritmetikai modulot használják, amikor egy tizenkét hangból álló egyenlő temperamentumú rendszert veszünk figyelembe, amelyben az oktáv és az enharmónia egyenértékű. Más szavakkal, az 1-2 vagy 2-1 arány kulcsai egyenértékűek. A zenében és más bölcsészettudományokban a számtan meglehetősen jelentős szerepet játszik, de a tankönyvekbenaz informatikusok általában nem írnak róla.

Gyermek számtan
Gyermek számtan

A kilences csökkentésének módja

A 9s átalakítási módszer a kézi decimális aritmetikai számítások gyors ellenőrzését teszi lehetővé. A moduláris aritmetikai modulo 9 és különösen a 10 10 1 döntő tulajdonságon alapul.

van más példa is. Az aritmetikai modulo 7 olyan algoritmusokban használatos, amelyek meghatározzák a hét napját egy adott dátumhoz. A Zeller-féle kongruencia és a Doomsday algoritmus nagymértékben használja a 7-es aritmetikai modulo-t.

Egyéb alkalmazások

A moduláris aritmetikáról már volt szó a kriptográfiában. Ezen a téren egyszerűen pótolhatatlan. Általánosabban fogalmazva, a moduláris aritmetika olyan tudományágakban is alkalmazható, mint a jog, a közgazdaságtan (például a játékelmélet) és a társadalomtudományok más területein. Más szóval, ahol az erőforrások arányos felosztása és elosztása játszik nagy szerepet.

Számláló projekt
Számláló projekt

Mivel a moduláris aritmetikának nagyon sokféle felhasználási lehetősége van, fontos tudni, hogy milyen nehéz megoldani egy összehasonlítási rendszert. Egy lineáris kongruenciarendszer polinomiális időben is megoldható Gauss-elimináció formájában. Ezt a lineáris kongruencia tétel írja le részletesebben. Olyan algoritmusok is léteznek, mint például a Montgomery-redukció, amelyek lehetővé teszik az egyszerű aritmetikai műveletek hatékony végrehajtását. Például szorzás és hatványozás modulo n, nagy számok esetén. Ezt nagyon fontos tudni, hogy megértsük, mitkriptográfia. Végül is csak hasonló műveletekkel működik.

Congruence

Néhány művelet, mint például a diszkrét logaritmus vagy a másodfokú kongruencia megtalálása, olyan összetettnek tűnik, mint az egész számok faktorizálása, és így a kriptográfiai algoritmusok és a titkosítás kiindulópontja. Ezek a problémák NP-közepesek lehetnek.

Példák

Az alábbiakban három meglehetősen gyors C-függvény található – kettő a moduláris szorzás végrehajtására, egy pedig a moduláris számokra való emelésre előjel nélküli egész számok esetén 63 bitig, tranziens túlcsordulás nélkül.

Nem sokkal az egész számok (1, 2, 3, 4, 5…) felfedezése után nyilvánvalóvá válik, hogy két csoportra oszthatók:

  • Páros: osztható 2-vel (0, 2, 4, 6..).
  • Páratlan: nem osztható 2-vel (1, 3, 5, 7…).

Miért fontos ez a megkülönböztetés? Ez az absztrakció kezdete. Észrevesszük a szám tulajdonságait (pl. páros vagy páratlan), és nem csak magát a számot ("37").

Ez lehetővé teszi számunkra, hogy a matematikát mélyebb szinten fedezzük fel, és összefüggéseket találjunk a számtípusok között, nem pedig konkrétak között.

Számolás az ujjakon
Számolás az ujjakon

Egy szám tulajdonságai

A „hármasnak” lenni csak egy szám egy tulajdonsága. Talán nem olyan azonnal hasznos, mint a páros/páratlan, de ott van. Létrehozhatunk olyan szabályokat, mint „tizenhárom x három véna=tizenhárom” és így tovább. De ez őrültség. Nem tudunk állandóan új szavakat alkotni.

A modulo művelet (rövidítve mod vagy "%" sok programozási nyelvben) a maradék, haosztály. Például: "5 mod 3=2", ami azt jelenti, hogy 2 a maradék, ha elosztja 5-öt 3-mal.

A mindennapi kifejezések matematikára konvertálásakor a "páros szám" az, ahol "0 mod 2", vagyis a maradék 0, ha elosztjuk 2-vel. A páratlan szám "1 mod 2" (van egy maradéka / 1).

Számláló eszközök
Számláló eszközök

Páros és páratlan számok

Mi a páros x páros x páratlan x páratlan? Nos, ez 0 x 0 x 1 x 1=0. Tulajdonképpen láthatja, ha egy páros számot megszorozunk valahol, ahol a teljes eredmény nulla lesz.

A moduláris matematika trükkje az, hogy már használtuk az idő tárolására – ezt néha „óraaritmetikának” is nevezik.

Például: 7:00 (am/pm – nem számít). Hol lesz az óramutató 7 óra múlva?

Modulációk

(7 + 7) mod 12=(14) mod 12=2 mod 12 [2 a maradék, ha a 14-et elosztjuk 12-vel. A 14-es egyenlet mod 12=2 mod 12 azt jelenti, hogy 14 óra és 2 óra ugyanez a 12 órás óra. Egybevágóak, három egyenlőségjel jelzi: 14 ≡ 2 mod 12.

Másik példa: 8:00 van. Hol lesz a nagy leosztás 25 óra múlva?

Ahelyett, hogy 25-öt 8-hoz adna, megértheti, hogy 25 óra csak „1 nap + 1 óra”. A válasz egyszerű. Tehát az óra 1 órával előbb ér véget – 9:00-kor.

(8 + 25) mod 12 ≡ (8) mod 12 + (25) mod 12 ≡ (8) mod 12 + (1) mod 12 ≡ 9 mod 12. Ön intuitív módon átalakította a 25-öt 1-re, és hozzáadta ezt 8.

Az órát hasonlatként használva kitalálhatjuk, hogy aa moduláris aritmetika szabályait, és működnek.

A számok és képletek hatalma
A számok és képletek hatalma

összeadás/kivonás

Tegyük fel, hogy két alkalommal ugyanúgy néz ki az óránk ("2:00" és "14:00"). Ha mindkettőhöz hozzáadjuk ugyanazt az x órát, mi történik? Nos, ugyanannyiért váltják az órán! 2:00 + 5 óra ≡ 14:00 + 5 óra – mindkettő 7:00 lesz.

Miért? Egyszerűen hozzáadhatunk 5-öt a 2 maradékhoz, amely mindkettővel rendelkezik, és ugyanúgy haladnak előre. Minden egybevágó szám (2 és 14) esetén az összeadás és a kivonás ugyanazt az eredményt adja.

Nehezebb tudni, hogy a szorzás változatlan marad-e. Ha 14 ≡ 2 (mod 12), megszorozhatjuk mindkét számot, és ugyanazt az eredményt kapjuk? Lássuk, mi történik, ha megszorozzuk 3-mal.

Nos, 2:003 × 6:00. De mi az a 14:003?

Ne feledje, 14=12 + 2. Tehát azt mondhatjuk, hogy

143=(12 + 2)3=(123) + (23)

Az első rész (123) figyelmen kívül hagyható! A 14 órát hordozó 12 órás túlcsordulás egyszerűen többször megismétlődik. De kit érdekel? A túlcsordulást egyébként figyelmen kívül hagyjuk.

Aritmetikai eszközök
Aritmetikai eszközök

Szorzás

Szorzáskor csak a maradék számít, vagyis ugyanaz a 2 óra 14:00-ra és 2:00-ra. Intuitív módon így látom, hogy a szorzás nem változtatja meg a kapcsolatot a moduláris matematikával (a moduláris kapcsolat mindkét oldalát megszorozhatja, és ugyanazt az eredményt kaphatja).

Intuitív módon csináljuk, de jó nevet adni. 15 órakor érkezik egy járata. Ő14 órát késik. Hány órakor fog leszállni?

14 ≡ 2 mod 12. Tehát képzelje el, hogy 2 óra, tehát a gép hajnali 5 órakor fog leszállni. A megoldás egyszerű: 3 + 2=5 óra. Ez egy kicsit bonyolultabb, mint az egyszerű modulo művelet, de az elv ugyanaz.

Ajánlott: