Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
54
Добавлен:
14.02.2016
Размер:
535.04 Кб
Скачать

10.5. Модульна арифметика

Означення 1. Розглянемо два натуральні числа a і m. Позначимо через

a mod m

остачу від ділення a на m. З цього означення слідує, що позначивши a mod m = r, одержимо a = mq + r і 0 ( r < m.

Приклади.

17 mod 5 = 2, 125 mod 13 = 8, 39 mod 6 = 3.

Означення 2. Два цілі числа a і b називаються рівними по модулю m

a ( b (mod m)

якщо m є дільником a – b.

Приклади.

17 ( 7 (mod 5) тому що 17 – 7 = 10 ділиться на 5.

23 ( 14 (mod 3) тому що 23 – 14 = 9 ділиться на 3.

Теорема. Рівність по модулю є відношення еквівалентності.

Доведення.

Рефлексивність. a ( a (mod m), тому що m є дільником a – a = 0.

Симетрія. Якщо a ( b (mod m), тоді m є дільником a – b. Але в цьому випадку m є також дільником b – a. Звідси слідує, що b ( a (mod m).

Транзитивність. Нехай a ( b (mod m) і b ( c (mod m). Якщо a ( b (mod m), то a – b = mq і a = b + mq. Якщо b ( c (mod m), то b – c = mp і c = b - mp. Звідси слідує, що a – c = b + mq – b + mp = m(p+q) , а це значить, що a ( c (mod m).

Класи еквівалентності визначені модульною арифметикою

Якщо a ( b (mod m), тоді послідовність a, a+m, a+2m, ..., a+km,... утворює клас еквівалентності.

Oзначення 3. Множина класів еквівалентності визначена в Е бінарним відношенням R називається множиною часткою E на R.

Приклад 1 . Нехай R відношення рівності по модулю 3 в множині цілих чисел Z: a ( b (mod.3).

Z1 = {a: a = 3k + 1, k ( Z}, Z2 = {a: a = 3k + 2, k ( Z}, Z3 = {a: a = 3k , k ( Z},

Є класи еквівалентності RC(3) і множина частка Z на R є

{Z1 , Z2 , Z3 }.

З множиною часткою асоціюється множина S представників кожного класу, тобто, підмножина множини Е кожний елемент якої належить одному і лише одному класу еквівалентності. .

В останньому випадку однією з таких множин є S = {1, 2, 3}

Приклад 2. Напрями

В множині прямих паралельність визначає клас еквівалентності, що називається напрямком.

Приклад 3. Вектори

Розглянемо на прямій всі її відрізки і будемо вважати еквівалентними відрізки, що мають однакову довжину і один і той же напрям. Класи еквівалентності визначені таким способом є не що інше як vectores glissantes (скользящие). Якщо умову приналежності відрізків одній прямій замінити на приналежність тому самому напряму, матимемо класи вільних векторів. Розглядаючи один з таких векторів нам навіть в голову не приходить, що це лише один представник із безлічі векторів, що належать одному й тому ж самому класу.

Приклад 4. Криптографія

Розглянемо впорядковану множину літер латинського алфавіту

a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z

Ще Julius Ceasar щоб зберегти в секреті свої повідомлення вживав наступний метод – замість писати потрібну літеру писав ту, яка слідує її через одну позицію. Наприклад, замість писати літеру a писав c, замість j писав l, замість y писав a, etc. Таким чином “ matematica discreta” напишеться як “ ocvgcvkec fkuetgvc “ .

Як математично запрограмувати процес кодування? Розглянемо аплікацію множини літер алфавіту на множину цілих 0, 1, 2, ... 25, так що літері a відповідає 0, b відповідає 1, ..., z відповідає 25. Таким чином літери заміняються числами. Потім введемо функцію

f(p) = (p+2) mod 26

Для декодування повідомлення використаємо обернену функцію

f – 1 (p) = (p – 2) mod 26.

Більш надійне кодування досягається функцією

f(p) = (ap+b) mod 26,

де а і b довільні числа

Соседние файлы в папке DM