Riyaziyyatda modul arifmetika tam ədədlər üçün hesablama sistemidir, onların köməyi ilə müəyyən bir dəyərə - modula (və ya onların cəminə) çatdıqda "çevrilir". Bu cür elmə müasir yanaşma Karl Fridrix Qauss tərəfindən 1801-ci ildə nəşr olunmuş Disquisitiones Arithmeticae əsərində işlənib hazırlanmışdır. Kompüter alimləri bu metoddan istifadə etməyi çox sevirlər, çünki o, çox maraqlıdır və rəqəmlərlə əməliyyatlarda müəyyən yeni imkanlar açır.
Essensiya
Saatların sayı 12-yə çatdıqdan sonra yenidən başladığı üçün arifmetik modul 12-dir. Aşağıdakı tərifə görə, 12 təkcə 12-yə deyil, həm də 0-a uyğundur, ona görə də "adlı vaxtı da adlandırmaq olar. 12:00". "0:00". Axı, 12 0 modulu 12 ilə eynidir.
Modul arifmetika, tam ədədlər üzərində əməliyyatlarla uyğun gələn tam ədədlərə konqruent münasibət təqdim etməklə riyazi şəkildə işlənə bilər.ədədlər: toplama, çıxma və vurma. Müsbət n tam ədədi üçün a və b ədədlərinin fərqi n-ə qat olduqda (yəni a - b=kn olan k tam ədədi varsa) iki ədəd a və b modulu n konqruent sayılırlar.
Çıxılmalar
Nəzəri riyaziyyatda modul arifmetika ədədlər nəzəriyyəsinin əsaslarından biridir, onun öyrənilməsinin demək olar ki, bütün aspektlərinə təsir edir, həmçinin qruplar, halqalar, düyünlər və abstrakt cəbr nəzəriyyəsində geniş istifadə olunur. Tətbiqi riyaziyyat sahəsində kompüter cəbri, kriptoqrafiya, kompüter elmləri, kimya, təsviri incəsənət və musiqidə istifadə olunur.
Təcrübə
Çox praktik tətbiq seriya nömrəsi identifikatorlarında yoxlama məbləğlərinin hesablanmasıdır. Məsələn, bəzi ümumi kitab standartlarında arifmetik modul 11 (əgər 1 yanvar 2007-ci il tarixindən əvvəl buraxılıbsa) və ya modul 10 (1 yanvar 2007-ci il tarixindən əvvəl və ya sonra buraxılıbsa) istifadə olunur. Eynilə, məsələn, Beynəlxalq Bank Hesab Nömrələrində (IBAN). Bu, bank hesabı nömrələrində istifadəçi daxiletmə xətalarını aşkar etmək üçün modul 97 arifmetikasından istifadə edir.
Kimyada CAS qeydiyyat nömrəsinin son rəqəmi (hər kimyəvi birləşmə üçün unikal identifikasiya nömrəsi) yoxlama rəqəmidir. CAS qeydiyyat nömrəsinin ilk iki hissəsinin sonuncu rəqəminin 1-ə vurulması, əvvəlki rəqəmin 2 dəfə, əvvəlki rəqəmin 3 dəfə və s. alınması, hamısının toplanması və cəmi modulun 10 hesablanması ilə hesablanır.
Kriptoqrafiya nədir? Fakt budur kionun müzakirə olunan mövzu ilə çox güclü əlaqəsi var. Kriptoqrafiyada modul arifmetika qanunları birbaşa RSA və Diffie-Hellman kimi açıq açar sistemlərinin əsasını təşkil edir. Burada elliptik əyrilərin altında yatan sonlu sahələri təmin edir. Qabaqcıl Şifrələmə Standartı (AES), Beynəlxalq Məlumat Şifrələmə Alqoritmi və RC4 daxil olmaqla müxtəlif simmetrik açar alqoritmlərində istifadə olunur.
Tətbiq
Bu üsul rəqəmləri oxumağınız lazım olan yerlərdə istifadə olunur. Onu riyaziyyatçılar hazırlayıb və hər kəs, xüsusən də kompüter alimləri ondan istifadə edir. Bu, Modular Arifmetic for Dummies kimi kitablarda yaxşı sənədləşdirilmişdir. Bununla belə, bir sıra ekspertlər bu cür ədəbiyyatı ciddi qəbul etməməyi tövsiyə edir.
Kompüter elmində modul arifmetika tez-tez bit istiqamətində və sabit enli dairəvi məlumat strukturlarını əhatə edən digər əməliyyatlarda istifadə olunur. Analitiklər ondan istifadə etməyi sevirlər. Modul əməliyyatı bir çox proqramlaşdırma dillərində və kalkulyatorlarda həyata keçirilir. Bu vəziyyətdə, belə bir tətbiqin bir nümunəsidir. Proqramlaşdırmada modul müqayisəsi, qalıqla bölmə və digər fəndlərdən də istifadə olunur.
Musiqidə oktava və enharmonik ekvivalent olan on iki tonluq bərabər temperament sistemi nəzərə alınarkən arifmetik modul 12 istifadə olunur. Başqa sözlə, 1-2 və ya 2-1 nisbətindəki düymələr ekvivalentdir. Musiqi və digər humanitar elmlərdə arifmetika kifayət qədər əhəmiyyətli rol oynayır, lakin dərsliklərdəkompüter alimləri adətən bu barədə yazmırlar.
Doqquzları az altma üsulu
9s çevirmə metodu əl ilə onluq arifmetik hesablamaların sürətli yoxlanılmasını təklif edir. O, modul arifmetik modula 9 və xüsusilə həlledici xüsusiyyət 10 10 1-ə əsaslanır.
başqa misallar da var. Arifmetik modul 7 müəyyən bir tarix üçün həftənin gününü təyin edən alqoritmlərdə istifadə olunur. Xüsusilə, Zellerin uyğunluğu və Qiyamət alqoritmi arifmetik modul 7-dən çox istifadə edir.
Digər proqramlar
Kriptoqrafiyada modul arifmetika haqqında artıq deyilib. Bu sahədə o, sadəcə olaraq əvəzolunmazdır. Ümumiyyətlə, modul arifmetika hüquq, iqtisadiyyat (oyun nəzəriyyəsi kimi) və sosial elmlərin digər sahələrində də tətbiqlər tapır. Başqa sözlə, resursların proporsional bölgüsü və paylanmasının böyük rol oynadığı yer.
Modül hesabının bu qədər geniş istifadə dairəsi olduğuna görə, müqayisələr sistemini həll etməyin nə qədər çətin olduğunu bilmək vacibdir. Xətti uyğunluqlar sistemi çoxhədli zamanda Qauss aradan qaldırılması şəklində həll edilə bilər. Bu, xətti uyğunluq teoremi ilə daha ətraflı təsvir edilmişdir. Montqomeri reduksiyası kimi alqoritmlər də sadə hesab əməliyyatlarının səmərəli şəkildə yerinə yetirilməsinə imkan vermək üçün mövcuddur. Məsələn, böyük ədədlər üçün vurma və eksponentasiya modulu n. Nə olduğunu başa düşmək üçün bunu bilmək çox vacibdirkriptoqrafiya. Axı o, sadəcə oxşar əməliyyatlarla işləyir.
Uyğunluq
Diskret loqarifmin və ya kvadratik uyğunluğun tapılması kimi bəzi əməliyyatlar tam ədədi faktorlara ayırma kimi mürəkkəb görünür və beləliklə kriptoqrafik alqoritmlər və şifrələmə üçün başlanğıc nöqtəsidir. Bu problemlər NP-intermediate ola bilər.
Nümunələr
Aşağıdakılar üç kifayət qədər sürətli C funksiyasıdır - ikisi modul vurmağın yerinə yetirilməsi üçün, biri isə keçici daşqın olmadan 63 bitə qədər işarəsiz tam ədədlər üçün modul ədədlərə yüksəltmək üçün.
Tam ədədlərin (1, 2, 3, 4, 5…) kəşfindən qısa müddət sonra onların iki qrupa bölündüyü aydın olur:
- Cüt: 2-yə bölünür (0, 2, 4, 6..).
- Tək: 2-yə bölünmür (1, 3, 5, 7…).
Bu fərq nə üçün vacibdir? Bu mücərrədliyin başlanğıcıdır. Biz ədədin xassələrini (məsələn, cüt və ya tək) görürük, nəinki rəqəmin özünü ("37").
Bu, bizə riyaziyyatı daha dərindən araşdırmağa və konkret deyil, ədəd növləri arasında əlaqələr tapmağa imkan verir.
Ədədin xassələri
"Üç" olmaq rəqəmin başqa bir xüsusiyyətidir. Bəlkə də cüt/tək kimi dərhal faydalı deyil, amma var. Biz “on üç x üç damar=on üç” və s kimi qaydalar yarada bilərik. Amma bu dəlilikdir. Biz hər zaman yeni sözlər yarada bilmirik.
Modulo əməliyyatı (qısaldılmış mod və ya bir çox proqramlaşdırma dillərində "%") qalıqdırbölmə. Məsələn, "5 mod 3=2", yəni 5-i 3-ə böləndə 2 qalıqdır.
Gündəlik şərtləri riyaziyyata çevirən zaman "cüt ədəd" "0 mod 2" olduğu yerdədir, yəni 2-yə bölündükdə qalıq 0 olur. Tək ədəd "1 mod 2"dir (qalığı var). 1).
Cüt və tək ədədlər
Cüt x cüt x tək x tək nədir? Bu, 0 x 0 x 1 x 1=0-dır. Əslində, hər yerdə cüt ədədin vurulub vurulmadığını görə bilərsiniz, burada bütün nəticə sıfır olacaq.
Modul riyaziyyatın hiyləsi ondan ibarətdir ki, biz ondan vaxtı saxlamaq üçün artıq istifadə etmişik - bəzən "saat arifmetik" də deyilir.
Məsələn: səhər 7:00 (am/p0 - fərq etməz). Saat əqrəbi 7 saatdan sonra harada olacaq?
Modulyasiyalar
(7 + 7) mod 12=(14) mod 12=2 mod 12 [2, 14 12-yə bölündükdə qalıqdır. Tənlik 14 mod 12=2 mod 12 14 saat və 2 saat baxmaq deməkdir 12 saatlıq saatda da eyni. Onlar konqruentdir, üçqat bərabər işarəsi ilə göstərilir: 14 ≡ 2 mod 12.
Başqa bir misal: səhər saat 8:00-dır. Böyük əl 25 saatdan sonra harada olacaq?
8-ə 25 əlavə etmək əvəzinə, 25 saatın sadəcə "1 gün + 1 saat" olduğunu başa düşə bilərsiniz. Cavab sadədir. Beləliklə, saat 1 saat irəlidə - 9:00-da bitəcək.
(8 + 25) mod 12 ≡ (8) mod 12 + (25) mod 12 ≡ (8) mod 12 + (1) mod 12 ≡ 9 mod 12. Siz intuitiv olaraq 25-i 1-ə çevirdiniz və bunu əlavə etdiniz 8.
Saatdan bənzətmə kimi istifadə edərək, bunun olub olmadığını anlaya bilərikmodul arifmetika qaydaları və onlar işləyir.
Əlavə/Çıxarma
Deyək ki, saatımızda iki dəfə eyni görünür ("2:00" və "14:00"). Hər ikisinə eyni x saatı əlavə etsək, nə olar? Yaxşı, onlar saatda eyni məbləğə dəyişirlər! 2:00 + 5 saat ≡ 14:00 + 5 saat - hər ikisi 7:00-ı göstərəcək.
Niyə? Biz sadəcə olaraq hər ikisində olan 2 qalığa 5 əlavə edə bilərik və onlar eyni şəkildə irəliləyirlər. Bütün konqruent ədədlər (2 və 14) üçün toplama və çıxma eyni nəticəyə malikdir.
Vurmanın eyni qalıb-qalmayacağını bilmək daha çətindir. Əgər 14 ≡ 2 (mod 12) olarsa, hər iki ədədi vurub eyni nəticəni ala bilərikmi? Gəlin görək 3-ə vuranda nə baş verəcək.
Yaxşı, 2:003 × 6:00. Bəs 14:003 nədir?
Unutmayın, 14=12 + 2. Beləliklə,
deyə bilərik
143=(12 + 2)3=(123) + (23)
Birinci hissəyə (123) məhəl qoyula bilməz! 14-ü daşıyan 12 saatın daşması sadəcə bir neçə dəfə təkrarlanır. Amma kimin vecinədir? Biz hər halda daşmaya məhəl qoymuruq.
Çarpma
Çarılma zamanı yalnız qalıqlar, yəni 14:00 və 2:00 üçün eyni 2 saat əhəmiyyət kəsb edir. İntuitiv olaraq, çarpmanın modul riyaziyyatla əlaqəni dəyişmədiyini belə görürəm (modul əlaqənin hər iki tərəfini çoxalda və eyni nəticəni əldə edə bilərsiniz).
Biz bunu intuitiv şəkildə edirik, lakin ona ad vermək xoşdur. Saat 15:00-da uçuşunuz var. O14 saat gecikdirildi. Saat neçədə enəcək?
14 ≡ 2 mod 12. Beləliklə, onu saat 2 kimi düşünün, beləliklə, təyyarə səhər saat 5-də enəcək. Həll sadədir: 3 + 2=səhər 5. Bu, sadə modul əməliyyatından bir az daha mürəkkəbdir, lakin prinsip eynidir.