Matematikte modüler aritmetik, tamsayılar için belirli bir değere - modül (veya çoğul) ulaştıklarında "döndükleri" bir hesaplama sistemidir. Bu tür bilime modern yaklaşım, Carl Friedrich Gauss tarafından 1801'de yayınlanan Disquisitiones Arithmeticae'sinde geliştirildi. Bilgisayar bilimcileri, çok ilginç olduğu ve sayılarla işlemlerde bazı yeni olanaklar sunduğu için bu yöntemi kullanmaya çok düşkündür.
Öz
Saat sayısı 12'ye ulaştıktan sonra tekrar başladığından, aritmetik modulo 12'dir. Aşağıdaki tanıma göre, 12 sadece 12'ye değil, 0'a da karşılık gelir, bu nedenle zaman " olarak da adlandırılabilir. 12:00". "0:00". Sonuçta 12, 0 modulo 12 ile aynıdır.
Modüler aritmetik, tamsayılar üzerindeki işlemlerle uyumlu olan tamsayılara uyumlu bir ilişki tanıtılarak matematiksel olarak işlenebilir.sayılar: toplama, çıkarma ve çarpma. Bir pozitif tamsayı n için, a ve b arasındaki farklar a - b n'nin katıysa (yani, a - b=kn olacak şekilde bir k tamsayısı varsa) iki a ve b sayısının uyumlu modulo n olduğu söylenir.
Kesintiler
Teorik matematikte, modüler aritmetik, sayı teorisinin temellerinden biridir ve çalışmasının neredeyse tüm yönlerini etkiler ve ayrıca gruplar, halkalar, düğümler ve soyut cebir teorisinde yaygın olarak kullanılır. Uygulamalı matematik alanında bilgisayar cebiri, kriptografi, bilgisayar bilimi, kimya, görsel sanatlar ve müzikte kullanılmaktadır.
Pratik
Çok pratik bir uygulama, seri numarası tanımlayıcılarındaki sağlama toplamlarının hesaplanmasıdır. Örneğin, bazı yaygın kitap standartları aritmetik modulo 11 (1 Ocak 2007'den önce yayınlandıysa) veya modulo 10 (1 Ocak 2007'den önce veya sonra yayınlandıysa) kullanır. Benzer şekilde, örneğin Uluslararası Banka Hesap Numaralarında (IBAN'lar). Bu, banka hesap numaralarındaki kullanıcı giriş hatalarını tespit etmek için modulo 97 aritmetiğini kullanır.
Kimyada, CAS kayıt numarasının son basamağı (her kimyasal bileşik için benzersiz kimlik numarası) kontrol basamağıdır. CAS kayıt numarasının ilk iki bölümünün son hanesinin 1 ile, önceki hanenin 2 katı, önceki hanenin 3 katı vb. çarpımı, hepsini toplayıp toplam modulo 10'u hesaplayarak hesaplanır.
Kriptografi nedir? Gerçek şu kitartışılan konu ile çok güçlü bir bağlantısı var. Kriptografide, modüler aritmetik yasaları, RSA ve Diffie-Hellman gibi açık anahtarlı sistemlerin altında doğrudan yatar. Burada eliptik eğrilerin altında yatan sonlu alanları sağlar. Gelişmiş Şifreleme Standardı (AES), Uluslararası Veri Şifreleme Algoritması ve RC4 dahil olmak üzere çeşitli simetrik anahtar algoritmalarında kullanılır.
Uygulama
Bu yöntem, sayıları okumanız gereken alanlarda kullanılır. Matematikçiler tarafından geliştirildi ve herkes, özellikle bilgisayar bilimcileri kullanıyor. Bu, Dummies için Modüler Aritmetik gibi kitaplarda iyi belgelenmiştir. Ancak bazı uzmanlar bu tür yayınları ciddiye almamanızı tavsiye ediyor.
Bilgisayar biliminde, modüler aritmetik genellikle bit düzeyinde ve sabit genişlikli dairesel veri yapılarını içeren diğer işlemlerde kullanılır. Analistler onu kullanmayı sever. Modulo işlemi birçok programlama dilinde ve hesap makinesinde uygulanmaktadır. Bu durumda, böyle bir uygulamanın bir örneğidir. Modülo karşılaştırma, kalanla bölme ve diğer hileler de programlamada kullanılır.
Müzikte, aritmetik modulo 12, oktav ve enharmoniklerin eşdeğer olduğu on iki tonluk eşit mizaçlı bir sistem düşünüldüğünde kullanılır. Başka bir deyişle, 1-2 veya 2-1 oranındaki tuşlar eşdeğerdir. Müzikte ve diğer beşeri bilimlerde aritmetik oldukça önemli bir rol oynar, ancak ders kitaplarındabilgisayar bilimcileri genellikle bu konuda yazmazlar.
Dokuzları az altma yöntemi
9s dönüştürme yöntemi, manuel ondalık aritmetik hesaplamaların hızlı bir şekilde kontrol edilmesini sağlar. Modüler aritmetik modulo 9'a ve özellikle belirleyici özellik 10 10'a dayanmaktadır 1.
Başka örnekler de var. Aritmetik modulo 7, belirli bir tarih için haftanın gününü belirleyen algoritmalarda kullanılır. Özellikle, Zeller'in uyumu ve Doomsday algoritması, aritmetik modulo 7'yi yoğun bir şekilde kullanır.
Diğer uygulamalar
Kriptografide modüler aritmetik hakkında zaten söylenmişti. Bu alanda, o basitçe yeri doldurulamaz. Daha genel olarak, modüler aritmetik, hukuk, ekonomi (oyun teorisi gibi) ve sosyal bilimlerin diğer alanları gibi disiplinlerde de uygulama bulur. Başka bir deyişle, kaynakların orantılı olarak bölünmesi ve dağıtılması önemli bir rol oynar.
Modüler aritmetiğin çok geniş bir kullanım alanı olduğundan, bir karşılaştırma sistemini çözmenin ne kadar zor olduğunu bilmek önemlidir. Doğrusal bir kongrüans sistemi, Gauss eleme biçiminde polinom zamanında çözülebilir. Bu, lineer uyum teoremi ile daha ayrıntılı olarak açıklanmaktadır. Montgomery indirgemesi gibi algoritmalar, basit aritmetik işlemlerin verimli bir şekilde gerçekleştirilmesine izin vermek için de mevcuttur. Örneğin, büyük sayılar için çarpma ve üs alma modulo n. Bunun ne olduğunu anlamak için bilmek çok önemlidir.kriptografi. Sonuçta, sadece benzer işlemlerle çalışır.
Uyum
Ayrık logaritmayı veya ikinci dereceden uyumu bulma gibi bazı işlemler tamsayı çarpanlarına ayırma kadar karmaşık görünmektedir ve bu nedenle kriptografik algoritmalar ve şifreleme için başlangıç noktasıdır. Bu sorunlar NP-orta düzeyde olabilir.
Örnekler
Aşağıdakiler oldukça hızlı üç C işlevidir - ikisi modüler çarpma gerçekleştirmek için ve biri geçici taşma olmadan 63 bite kadar işaretsiz tamsayılar için modüler sayılara yükseltmek içindir.
Tamsayıların (1, 2, 3, 4, 5…) keşfinden kısa bir süre sonra bunların iki gruba ayrıldıkları ortaya çıkıyor:
- Çift: 2'ye bölünebilir (0, 2, 4, 6..).
- Tek: 2'ye (1, 3, 5, 7…) bölünemez.
Bu ayrım neden önemli? Bu soyutlamanın başlangıcıdır. Yalnızca sayının ("37") kendisini değil, sayının özelliklerini (ör. çift veya tek) fark ederiz.
Bu, matematiği daha derin bir düzeyde keşfetmemizi ve belirli olanlardan ziyade sayı türleri arasındaki ilişkileri bulmamızı sağlar.
Sayının özellikleri
"Üç" olmak, sayının başka bir özelliğidir. Belki çift/tek kadar hemen kullanışlı değildir, ama oradadır. "On üç x üç damar=on üç" gibi kurallar oluşturabiliriz. Ama bu çılgınca. Her zaman yeni kelimeler yapamayız.
Modulo işlemi (birçok programlama dilinde mod veya "%" olarak kıs altılır),bölünme. Örneğin, "5 mod 3=2", yani 5'i 3'e böldüğünüzde kalan 2'dir.
Günlük terimleri matematiğe dönüştürürken, "çift sayı" "0 mod 2"dir, yani 2'ye bölündüğünde kalan 0'dır. Tek sayı "1 mod 2"dir (geri kalanı vardır). 1).
Çift ve tek sayılar
Çift x çift x tek x tek nedir? 0 x 0 x 1 x 1=0. Aslında, herhangi bir yerde bir çift sayının çarpılıp çarpılmadığını görebilirsin, burada tüm sonuç sıfır olur.
Modüler matematiğin püf noktası, onu zaten zamanı depolamak için kullanmamızdır - bazen "saat aritmetiği" olarak adlandırılır.
Örneğin: 07:00 (am/pm - fark etmez). 7 saat sonra akrep nerede olacak?
Modülasyonlar
(7 + 7) mod 12=(14) mod 12=2 mod 12 [2, 14'ün 12'ye bölümünden kalandır. Denklem 14 mod 12=2 mod 12, 14 saat ve 2 saat anlamına gelir. 12 saatlik sistemde aynı. Üçlü eşittir işaretiyle gösterilen uyumludurlar: 14 ≡ 2 mod 12.
Başka bir örnek: saat 8:00. Büyük el 25 saat sonra nerede olacak?
25'e 8 eklemek yerine 25 saatin sadece "1 gün + 1 saat" olduğunu anlayabilirsiniz. Cevap basit. Yani, saat 1 saat ileride - 9:00'da sona erecek.
(8 + 25) mod 12 ≡ (8) mod 12 + (25) mod 12 ≡ (8) mod 12 + (1) mod 12 ≡ 9 mod 12. Sezgisel olarak 25'i 1'e çevirdiniz ve bunu eklediniz 8.
'a
Saati bir benzetme olarak kullanarak,modüler aritmetik kuralları ve işe yarıyorlar.
Toplama/Çıkarma
Diyelim ki saatimizde iki zaman aynı görünüyor ("2:00" ve "14:00"). Her ikisine de aynı x saati eklersek ne olur? Eh, saatte aynı miktarda değişiyorlar! 2:00 + 5 saat ≡ 14:00 + 5 saat - her ikisi de 7:00'yi gösterir.
Neden? Her ikisinin de sahip olduğu ve aynı şekilde ilerleyen 2 kalanına 5 ekleyebiliriz. Tüm uyumlu sayılar için (2 ve 14), toplama ve çıkarma aynı sonuca sahiptir.
Çarpmanın aynı kalıp kalmadığını bilmek daha zordur. Eğer 14 ≡ 2 (mod 12) ise her iki sayıyı da çarparak aynı sonucu alabilir miyiz? Bakalım 3.
ile çarptığımızda ne olacak?
Pekala, 2:003 × 6:00. Ama 14:003 nedir?
Unutmayın, 14=12 + 2. Yani
diyebiliriz.
143=(12 + 2)3=(123) + (23)
İlk kısım (123) göz ardı edilebilir! 14 saat taşıyan 12 saatlik taşma, kendini birkaç kez tekrar eder. Ama kim umursar? Yine de taşmayı görmezden geliyoruz.
Çarpma
Çarpırken, yalnızca kalan önemlidir, yani 14:00 ve 2:00 için aynı 2 saat. Sezgisel olarak, çarpma işleminin modüler matematikle ilişkiyi değiştirmediğini görüyorum (modüler bir ilişkinin her iki tarafını da çarpabilir ve aynı sonucu elde edebilirsiniz).
Sezgisel olarak yapıyoruz, ancak buna bir isim vermek güzel. Saat 15.00'te inen bir uçuşunuz var. O14 saat ertelendi. Ne zaman inecek?
14 ≡ 2 mod 12. Yani, saat 2 olarak düşünün, yani uçak sabah saat 5'te inecek. Çözüm basit: 3 + 2=5 am. Bu, basit modulo işleminden biraz daha karmaşıktır, ancak prensip aynıdır.