حساب مدولار: چیست و کجا استفاده می شود

فهرست مطالب:

حساب مدولار: چیست و کجا استفاده می شود
حساب مدولار: چیست و کجا استفاده می شود
Anonim

در ریاضیات، حساب مدولار یک سیستم محاسباتی برای اعداد صحیح است که با کمک آن وقتی به یک مقدار معین - ماژول (یا جمع آنها) می رسند، "برگردان" می شوند. رویکرد مدرن به این نوع علم توسط کارل فردریش گاوس در Disquisitiones Arithmeticae منتشر شده در سال 1801 توسعه یافت. دانشمندان کامپیوتر علاقه زیادی به استفاده از این روش دارند، زیرا بسیار جالب است و احتمالات جدیدی را در عملیات با اعداد باز می کند.

تجسم محاسبات مدولار
تجسم محاسبات مدولار

جوهر

از آنجایی که تعداد ساعت ها پس از رسیدن به 12 دوباره شروع می شود، مدول حسابی 12 است. طبق تعریف زیر، 12 نه تنها با 12، بلکه با 0 نیز مطابقت دارد، بنابراین می توان زمان را به نام "" نام برد. 12:00 ". "0:00". به هر حال، 12 همان 0 مدول 12 است.

محاسبات مدولار را می توان با معرفی یک رابطه همسو با اعداد صحیح که با عملیات روی اعداد صحیح سازگار است، به صورت ریاضی پردازش کرد.اعداد: جمع، تفریق و ضرب. برای یک عدد صحیح مثبت n، دو عدد a و b به عنوان مدول n متجانس گفته می شود که اختلاف آنها a - b مضربی از n باشد (یعنی اگر یک عدد صحیح k وجود داشته باشد که a - b=kn باشد).

اعداد مدولار
اعداد مدولار

کسورات

در ریاضیات نظری، حساب مدولار یکی از پایه های نظریه اعداد است که تقریباً بر تمام جنبه های مطالعه آن تأثیر می گذارد و همچنین در نظریه گروه ها، حلقه ها، گره ها و جبر انتزاعی کاربرد زیادی دارد. در زمینه ریاضیات کاربردی در جبر کامپیوتر، رمزنگاری، علوم کامپیوتر، شیمی، هنرهای تجسمی و موسیقی کاربرد دارد.

تمرین

یک کاربرد بسیار کاربردی، محاسبه جمع‌های چک در شناسه‌های شماره سریال است. برای مثال، برخی از استانداردهای رایج کتاب از مدول حسابی 11 (اگر قبل از 1 ژانویه 2007 منتشر شده باشد) یا مدول 10 (اگر قبل یا بعد از 1 ژانویه 2007 منتشر شده باشد) استفاده می کنند. به طور مشابه، برای مثال، در شماره حساب های بانکی بین المللی (IBAN). این از محاسبات مدول 97 برای تشخیص خطاهای ورودی کاربر در شماره حساب های بانکی استفاده می کند.

در شیمی، آخرین رقم شماره ثبت CAS (شماره شناسایی منحصر به فرد برای هر ترکیب شیمیایی) رقم چک است. با گرفتن آخرین رقم از دو قسمت اول شماره ثبت CAS ضرب در 1، رقم قبلی 2 برابر، رقم قبلی 3 برابر و غیره، جمع کردن همه و محاسبه مجموع مدول 10 محاسبه می شود.

رمزنگاری چیست؟ واقعیت این است کهارتباط بسیار قوی با موضوع مورد بحث دارد. در رمزنگاری، قوانین محاسبات مدولار به طور مستقیم زیربنای سیستم های کلید عمومی مانند RSA و Diffie-Hellman هستند. در اینجا میدان های محدودی را ارائه می دهد که زیر منحنی های بیضوی قرار دارند. مورد استفاده در الگوریتم‌های کلید متقارن مختلف، از جمله استاندارد رمزگذاری پیشرفته (AES)، الگوریتم رمزگذاری بین‌المللی داده، و RC4.

حساب ابتدایی
حساب ابتدایی

برنامه

این روش در مناطقی که نیاز به خواندن اعداد دارید استفاده می شود. این توسط ریاضیدانان ساخته شده است و همه از آن استفاده می کنند، به خصوص دانشمندان کامپیوتر. این به خوبی در کتاب هایی مانند حساب مدولار برای آدمک ها ثبت شده است. با این حال، تعدادی از کارشناسان توصیه می کنند که چنین ادبیاتی را جدی نگیرید.

در علوم کامپیوتر، محاسبات مدولار اغلب در عملیات بیتی و سایر عملیات‌هایی که شامل ساختارهای داده دایره‌ای با عرض ثابت هستند استفاده می‌شود. تحلیلگران دوست دارند از آن استفاده کنند. عملیات ماژول در بسیاری از زبان های برنامه نویسی و ماشین حساب ها اجرا می شود. در این مورد، یکی از نمونه های چنین برنامه ای است. مقایسه ماژول، تقسیم با باقیمانده، و ترفندهای دیگر نیز در برنامه نویسی استفاده می شود.

در موسیقی، مدول حسابی 12 هنگام در نظر گرفتن سیستمی با خلق و خوی مساوی از دوازده تن، که در آن اکتاو و آن هارمونیک معادل هستند، استفاده می شود. به عبارت دیگر، کلیدهای نسبت 1-2 یا 2-1 معادل هستند. در موسیقی و سایر علوم انسانی، حساب نقش نسبتاً مهمی دارد، اما در کتاب های درسیدانشمندان کامپیوتر معمولاً در مورد آن چیزی نمی نویسند.

حساب کودکانه
حساب کودکانه

روش کاهش نه

روش تبدیل 9s بررسی سریع محاسبات حسابی اعشاری دستی را ارائه می دهد. این بر اساس مدول حسابی مدولار 9 و به ویژه بر روی ویژگی تعیین کننده 10 10 1 است.

مثالهای دیگری نیز وجود دارد. مدول حسابی 7 در الگوریتم هایی استفاده می شود که روز هفته را برای یک تاریخ خاص تعیین می کند. به طور خاص، تطابق زلر و الگوریتم روز قیامت به شدت از مدول حسابی 7 استفاده می کنند.

سایر برنامه ها

قبلاً در مورد محاسبات مدولار در رمزنگاری گفته شده است. در این زمینه، او به سادگی غیر قابل تعویض است. به طور کلی تر، حساب مدولار در رشته هایی مانند حقوق، اقتصاد (مانند نظریه بازی ها) و سایر حوزه های علوم اجتماعی نیز کاربرد دارد. به عبارت دیگر، در جایی که تقسیم و توزیع متناسب منابع نقش اصلی را ایفا می کند.

پروژه شمارش
پروژه شمارش

از آنجایی که محاسبات مدولار دارای طیف وسیعی از کاربردها است، مهم است که بدانیم حل یک سیستم مقایسه چقدر دشوار است. یک سیستم خطی از همخوانی ها را می توان در زمان چند جمله ای به شکل حذف گاوسی حل کرد. این با قضیه تطابق خطی با جزئیات بیشتری توضیح داده شده است. الگوریتم‌هایی مانند کاهش مونتگومری نیز وجود دارند تا عملیات ساده حسابی را به طور موثر انجام دهند. به عنوان مثال، مدول ضرب و توان n، برای اعداد بزرگ. دانستن این امر برای درک چیستی بسیار مهم استرمزنگاری. پس از همه، فقط با عملیات مشابه کار می کند.

تناسب

بعضی عملیات، مانند یافتن لگاریتم گسسته یا همخوانی درجه دوم، به نظر می رسد به اندازه فاکتورسازی اعداد صحیح پیچیده است و بنابراین نقطه شروع الگوریتم های رمزنگاری و رمزگذاری هستند. این مشکلات ممکن است NP-intermediate باشند.

نمونه

در زیر سه تابع C نسبتاً سریع وجود دارد - دو تابع برای انجام ضرب مدولار و یکی برای افزایش اعداد مدولار برای اعداد صحیح بدون علامت تا ۶۳ بیت، بدون سرریز گذرا.

در مدت کوتاهی پس از کشف اعداد صحیح (1، 2، 3، 4، 5…) آشکار می شود که آنها به دو گروه تقسیم می شوند:

  • زوج: بخش پذیر بر 2 (0، 2، 4، 6..).
  • فرد: بر 2 بخش پذیر نیست (1، 3، 5، 7…).

چرا این تمایز مهم است؟ این آغاز انتزاع است. ما متوجه خصوصیات عدد (به عنوان مثال، زوج یا فرد) و نه فقط خود عدد ("37") می شویم.

این به ما امکان می دهد ریاضیات را در سطح عمیق تری بررسی کنیم و روابط بین انواع اعداد را به جای موارد خاص پیدا کنیم.

با انگشت شمردن
با انگشت شمردن

خواص یک عدد

"سه" بودن فقط یکی دیگر از ویژگی های یک عدد است. شاید فوراً به اندازه زوج/فرد مفید نباشد، اما وجود دارد. ما می توانیم قوانینی مانند "سیزده x سه رگ=سیزده" و غیره ایجاد کنیم. اما این دیوانه است. ما نمی توانیم همیشه کلمات جدید بسازیم.

عملیات مدول (مخفف mod یا "%" در بسیاری از زبان های برنامه نویسی) باقیمانده زمانی است کهتقسیم به عنوان مثال، "5 mod 3=2"، به این معنی که وقتی 5 را بر 3 تقسیم می کنید، 2 باقی مانده است.

هنگام تبدیل اصطلاحات روزمره به ریاضی، "عدد زوج" جایی است که "0 mod 2" است، به این معنی که باقیمانده وقتی بر 2 تقسیم می شود 0 است. یک عدد فرد "1 mod 2" است (باقیمانده دارد از 1).

دستگاه های شمارش
دستگاه های شمارش

اعداد زوج و فرد

زوج x زوج x فرد x فرد چیست؟ خوب، 0 x 0 x 1 x 1=0 است. در واقع، می توانید ببینید که آیا یک عدد زوج در هر جایی ضرب می شود، جایی که کل نتیجه صفر خواهد شد.

ترفند ریاضیات مدولار این است که ما قبلاً از آن برای ذخیره زمان استفاده کرده ایم - که گاهی اوقات "حساب ساعت" نامیده می شود.

به عنوان مثال: 7:00 صبح (صبح/بعد از ظهر - مهم نیست). عقربه ساعت 7 ساعت دیگر کجا خواهد بود؟

مدولاسیون

(7 + 7) mod 12=(14) mod 12=2 mod 12 [2 باقیمانده زمانی است که 14 بر 12 تقسیم شود. معادله 14 mod 12=2 mod 12 به معنای 14 ساعت است و 2 ساعت به نظر می رسد در یک ساعت 12 ساعته هم همینطور آنها متجانس هستند و با علامت مساوی سه گانه نشان داده می شوند: 14 ≡ 2 mod 12.

یک مثال دیگر: ساعت 8 صبح است. 25 ساعت دیگر دست بزرگ کجا خواهد بود؟

به جای اضافه کردن 25 به 8، می توانید بفهمید که 25 ساعت فقط "1 روز + 1 ساعت" است. پاسخ ساده است. بنابراین، ساعت یک ساعت جلوتر به پایان می رسد - در ساعت 9:00.

(8 + 25) mod 12 ≡ (8) mod 12 + (25) mod 12 ≡ (8) mod 12 + (1) mod 12 ≡ 9 mod 12. شما به طور مستقیم 25 را به 1 تبدیل کردید و این را اضافه کردید به 8.

با استفاده از ساعت به عنوان یک قیاس، می توانیم بفهمیم که آیاقوانین حساب مدولار، و آنها کار می کنند.

قدرت اعداد و فرمول ها
قدرت اعداد و فرمول ها

جمع/ تفریق

بیایید بگوییم دو بار در ساعت ما یکسان است ("2:00" و "14:00"). اگر x ساعت یکسان را به هر دو اضافه کنیم، چه اتفاقی می افتد؟ خوب، آنها برای همان مقدار در ساعت تغییر می کنند! 2:00 + 5 ساعت ≡ 14:00 + 5 ساعت - هر دو ساعت 7:00 نمایش داده می شوند.

چرا؟ ما می توانیم به سادگی 5 را به 2 باقیمانده ای که هر دو دارند اضافه کنیم و آنها به همان ترتیب پیش می روند. برای همه اعداد متجانس (2 و 14)، جمع و تفریق نتیجه یکسانی دارند.

دانستن اینکه آیا ضرب ثابت می ماند دشوارتر است. اگر 14 ≡ 2 (mod 12)، آیا می توانیم هر دو عدد را ضرب کنیم و نتیجه یکسانی بدست آوریم؟ بیایید ببینیم وقتی در 3 ضرب می کنیم چه اتفاقی می افتد.

خب، 2:003 × 6:00. اما ساعت 14:003 چیست؟

به یاد داشته باشید، 14=12 + 2. بنابراین می توانیم بگوییم

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

قسمت اول (123) را می توان نادیده گرفت! سرریز 12 ساعت که حامل 14 است، به سادگی چندین بار تکرار می شود. اما چه کسی اهمیت میدهد؟ ما به هر حال سرریز را نادیده می گیریم.

ابزارهای حسابی
ابزارهای حسابی

ضرب

هنگام ضرب، فقط باقیمانده مهم است، یعنی همان 2 ساعت برای ساعت 14:00 و 2:00. به طور شهودی، من اینگونه می بینم که ضرب رابطه را با ریاضی مدولار تغییر نمی دهد (شما می توانید هر دو طرف یک رابطه مدولار را ضرب کنید و نتیجه یکسانی بگیرید).

ما این کار را به صورت شهودی انجام می دهیم، اما خوب است که نامی برای آن بگذاریم. شما یک پرواز دارید که ساعت 3 بعد از ظهر می رسد. اوبا 14 ساعت تاخیر چه ساعتی فرود می آید؟

14 ≡ 2 mod 12. بنابراین، آن را ساعت 2 در نظر بگیرید، بنابراین هواپیما در ساعت 5 صبح فرود خواهد آمد. راه حل ساده است: 3 + 2=5 صبح. این کمی پیچیده تر از عملیات مدول ساده است، اما اصل یکسان است.

توصیه شده: