In wiskunde is modulêre rekenkunde 'n berekeningstelsel vir heelgetalle, met behulp waarvan hulle "omdraai" wanneer hulle 'n sekere waarde bereik - die module (of die meervoud daarvan). Die moderne benadering tot hierdie soort wetenskap is ontwikkel deur Carl Friedrich Gauss in sy Disquisitiones Arithmeticae wat in 1801 gepubliseer is. Rekenaarwetenskaplikes is baie lief daarvoor om hierdie metode te gebruik, aangesien dit baie interessant is en sekere nuwe moontlikhede in bewerkings met getalle oopmaak.
Essence
Omdat die aantal ure weer begin nadat dit 12 bereik het, is dit rekenkundige modulo 12. Volgens die definisie hieronder stem 12 nie net ooreen met 12 nie, maar ook met 0, so mens kan ook die tyd noem wat " " 12:00". "0:00". 12 is immers dieselfde as 0 modulo 12.
Modulêre rekenkunde kan wiskundig verwerk word deur 'n kongruente verhouding met heelgetalle in te voer wat versoenbaar is met bewerkings op heelgetallegetalle: optel, aftrek en vermenigvuldiging. Vir 'n positiewe heelgetal n word gesê dat twee getalle a en b kongruente modulo n is as hul verskil a - b 'n veelvoud van n is (dit wil sê as daar 'n heelgetal k bestaan sodat a - b=kn).
Aftrekkings
In teoretiese wiskunde is modulêre rekenkunde een van die grondslae van get alteorie, wat byna alle aspekte van die studie daarvan affekteer, en word ook wyd gebruik in die teorie van groepe, ringe, knope en abstrakte algebra. Op die gebied van toegepaste wiskunde word dit in rekenaaralgebra, kriptografie, rekenaarwetenskap, chemie, visuele kunste en musiek gebruik.
Oefen
'n Baie praktiese toepassing is die berekening van kontrolesomme in reeksnommer-identifiseerders. Byvoorbeeld, sommige algemene boekstandaarde gebruik rekenkundige modulo 11 (indien vrygestel voor 1 Januarie 2007) of modulo 10 (indien vrygestel voor of na 1 Januarie 2007). Net so, byvoorbeeld, in Internasionale Bankrekeningnommers (IBAN's). Dit gebruik modulo 97 rekenkunde om gebruikerinvoerfoute in bankrekeningnommers op te spoor.
In chemie is die laaste syfer van die CAS-registrasienommer (die unieke identifikasienommer vir elke chemiese verbinding) die kontrolesyfer. Dit word bereken deur die laaste syfer van die eerste twee dele van die CAS-registrasienommer vermenigvuldig met 1 te neem, die vorige syfer 2 keer, die vorige syfer 3 keer, ens., dit alles bymekaar te tel en die som modulo 10 te bereken.
Wat is kriptografie? Die feit is datdit het 'n baie sterk verband met die onderwerp onder bespreking. In kriptografie lê die wette van modulêre rekenkunde direk onderliggend aan publiekesleutelstelsels soos RSA en Diffie-Hellman. Hier verskaf dit die eindige velde wat elliptiese krommes onderlê. Word gebruik in verskeie simmetriese sleutelalgoritmes, insluitend Advanced Encryption Standard (AES), International Data Encryption Algorithm en RC4.
Aansoek
Hierdie metode word gebruik in gebiede waar jy getalle moet lees. Dit is ontwikkel deur wiskundiges, en almal gebruik dit, veral rekenaarwetenskaplikes. Dit is goed gedokumenteer in boeke soos Modular Arithmetic for Dummies. 'n Aantal kenners beveel egter aan om nie sulke literatuur ernstig op te neem nie.
In rekenaarwetenskap word modulêre rekenkunde dikwels gebruik in bitsgewyse en ander bewerkings wat sirkelvormige datastrukture met vaste breedte behels. Ontleders hou daarvan om dit te gebruik. Die modulo-bewerking word in baie programmeertale en sakrekenaars geïmplementeer. In hierdie geval is dit een voorbeeld van so 'n toepassing. Modulo-vergelyking, deling met 'n res, en ander truuks word ook in programmering gebruik.
In musiek word rekenkundige modulo 12 gebruik wanneer 'n stelsel van gelyke temperament van twaalf toonsoorte oorweeg word, waarin die oktaaf en enharmoniese ekwivalent is. Met ander woorde, die sleutels in die verhouding 1-2 of 2-1 is ekwivalent. In musiek en ander geesteswetenskappe speel rekenkunde 'n redelik belangrike rol, maar in handboekerekenaarwetenskaplikes skryf gewoonlik nie daaroor nie.
Metode om nege te verminder
Die 9s-omskakelingsmetode bied 'n vinnige kontrole van handmatige desimale rekenkundige berekeninge. Dit is gebaseer op modulêre rekenkunde modulo 9 en in die besonder op die beslissende eienskap 10 10 1.
daar is ander voorbeelde. Rekenkundige modulo 7 word gebruik in algoritmes wat die dag van die week vir 'n spesifieke datum bepaal. Veral Zeller se kongruensie en die Doomsday-algoritme maak baie gebruik van rekenkundige modulo 7.
Ander toepassings
Daar is reeds gesê oor modulêre rekenkunde in kriptografie. Op hierdie gebied is sy eenvoudig onvervangbaar. Meer algemeen vind modulêre rekenkunde ook toepassings in dissiplines soos die regte, ekonomie (soos spelteorie) en ander areas van die sosiale wetenskappe. Met ander woorde, waar die proporsionele verdeling en verspreiding van hulpbronne 'n groot rol speel.
Omdat modulêre rekenkunde so 'n wye reeks gebruike het, is dit belangrik om te weet hoe moeilik dit is om 'n stelsel van vergelykings op te los. 'n Lineêre stelsel van kongruensies kan in polinoomtyd opgelos word in die vorm van Gaussiese eliminasie. Dit word in meer besonderhede beskryf deur die lineêre kongruensiestelling. Algoritmes soos Montgomery-reduksie bestaan ook om eenvoudige rekenkundige bewerkings doeltreffend uit te voer. Byvoorbeeld, vermenigvuldiging en eksponensiëring modulo n, vir groot getalle. Dit is baie belangrik om te weet om te verstaan watkriptografie. Dit werk immers net met soortgelyke bewerkings.
Kongruensie
Sommige bewerkings, soos die vind van die diskrete logaritme of die kwadratiese kongruensie, blyk so kompleks soos heelgetalfaktorisering te wees en is dus die beginpunt vir kriptografiese algoritmes en enkripsie. Hierdie probleme kan NP-intermediêr wees.
Voorbeelde
Die volgende is drie redelik vinnige C-funksies - twee vir die uitvoering van modulêre vermenigvuldiging en een vir die verhoging tot modulêre getalle vir ongetekende heelgetalle tot 63 bisse, sonder verbygaande oorloop.
Kort na die ontdekking van heelgetalle (1, 2, 3, 4, 5…) word dit duidelik dat hulle in twee groepe verdeel word:
- Ewe: deelbaar deur 2 (0, 2, 4, 6..).
- Onewek: nie deelbaar deur 2 (1, 3, 5, 7…).
Hoekom is hierdie onderskeid belangrik? Dit is die begin van abstraksie. Ons let op die eienskappe van die getal (bv. ewe of onewe) en nie net die getal self ("37") nie.
Dit stel ons in staat om die wiskunde op 'n dieper vlak te verken en verwantskappe tussen get altipes eerder as spesifiekes te vind.
Eienskappe van 'n nommer
Om 'n "drie" te wees is net nog 'n eienskap van 'n getal. Miskien nie so onmiddellik nuttig soos ewe/onewe nie, maar dit is daar. Ons kan reëls skep soos "dertien x drie aar=dertien" ensovoorts. Maar dit is gek. Ons kan nie heeltyd nuwe woorde maak nie.
Die modulo-bewerking (afgekort mod of "%" in baie programmeertale) is die res wanneerverdeling. Byvoorbeeld, "5 mod 3=2", wat beteken 2 is die res wanneer jy 5 deur 3 deel.
Wanneer alledaagse terme na wiskunde omgeskakel word, is 'n "ewe getal" waar dit "0 mod 2" is, wat beteken dat die res 0 is wanneer gedeel deur 2. 'n Onewe getal is "1 mod 2" (het 'n res van 1).
Ewe en onewe getalle
Wat is ewe x ewe x onewe x onewe? Wel, dit is 0 x 0 x 1 x 1=0. Eintlik kan jy sien of 'n ewe getal enige plek vermenigvuldig word, waar die hele resultaat nul sal wees.
Die truuk met modulêre wiskunde is dat ons dit reeds gebruik het om tyd te stoor - soms genoem "klokrekenkunde".
Byvoorbeeld: 7:00 vm (vm/nm - maak nie saak nie). Waar sal die uurwyser oor 7 uur wees?
Modulations
(7 + 7) mod 12=(14) mod 12=2 mod 12 [2 is die res wanneer 14 gedeel word deur 12. Vergelyking 14 mod 12=2 mod 12 beteken 14 uur en 2 uur lyk die dieselfde op 'n 12-uur horlosie. Hulle is kongruent, aangedui deur 'n driedubbele gelykheidsteken: 14 ≡ 2 mod 12.
Nog 'n voorbeeld: dit is 08:00. Waar sal die groot hand oor 25 uur wees?
In plaas daarvan om 25 tot 8 by te voeg, kan jy verstaan dat 25 uur net "1 dag + 1 uur" is. Die antwoord is eenvoudig. Dus, die horlosie sal 1 uur vooruit eindig – om 9:00.
(8 + 25) mod 12 ≡ (8) mod 12 + (25) mod 12 ≡ (8) mod 12 + (1) mod 12 ≡ 9 mod 12. Jy het intuïtief 25 na 1 omgeskakel en dit bygevoeg tot 8.
Deur die horlosie as 'n analogie te gebruik, kan ons uitvind of diedie reëls van modulêre rekenkunde, en hulle werk.
Optelling/Aftrekking
Kom ons sê twee keer lyk dieselfde op ons horlosie ("2:00" en "14:00"). As ons dieselfde x ure by albei voeg, wat gebeur? Wel, hulle verander vir dieselfde bedrag op die klok! 2:00 + 5 uur ≡ 14:00 + 5 uur - albei sal 7:00 wys.
Hoekom? Ons kan eenvoudig 5 byvoeg by die 2 oorblyfsels wat albei het en hulle vorder op dieselfde manier. Vir alle kongruente getalle (2 en 14), het optelling en aftrekking dieselfde resultaat.
Dit is moeiliker om te weet of die vermenigvuldiging dieselfde bly. As 14 ≡ 2 (mod 12), kan ons beide getalle vermenigvuldig en dieselfde resultaat kry? Kom ons kyk wat gebeur wanneer ons met 3 vermenigvuldig.
Wel, 2:003 × 6:00. Maar wat is 14:003?
Onthou, 14=12 + 2. So ons kan sê
143=(12 + 2)3=(123) + (23)
Die eerste deel (123) kan geïgnoreer word! Die oorloop van 12 uur wat 14 dra, herhaal homself eenvoudig verskeie kere. Maar wie gee om? Ons ignoreer in elk geval die oorloop.
Vermenigvuldiging
Wanneer vermenigvuldig word, maak net die res saak, dit wil sê dieselfde 2 uur vir 14:00 en 2:00. Intuïtief is dit hoe ek sien dat vermenigvuldiging nie die verwantskap met modulêre wiskunde verander nie (jy kan beide kante van 'n modulêre verwantskap vermenigvuldig en dieselfde resultaat kry).
Ons doen dit intuïtief, maar dit is lekker om dit 'n naam te gee. Jy het 'n vlug wat om 15:00 aankom. Hymet 14 uur vertraag. Hoe laat sal dit land?
14 ≡ 2 mod 12. So, dink daaraan as 2-uur, so die vliegtuig sal om 5-uur in die oggend land. Die oplossing is eenvoudig: 3 + 2=5 vm. Dit is 'n bietjie meer ingewikkeld as die eenvoudige modulo-bewerking, maar die beginsel is dieselfde.