Математика. Теория чисел
Китайская теорема об остатках
 

Математика. Теория Чисел
Введение
Определение и история создания теоремы
Важным результатом элементарной теории чисел является китайская теорема об остатках —несколько связанных утверждений о решении линейной системы сравнений.
В теории чисел, утверждение этой теоремы заключается в том, что некоторое целое число можно воссоздать по множеству его остатков от деления на попарно взаимно простые числа. Первое упоминание задачи было сделано греческим математиком Никомахом из Герасы в его книге «Введение в арифметику» (I век н.э.), а именно он вводит как игру «метод для определения натурального числа по остаткам, полученным от деления этого числа на другие натуральные числа».

Никомах Герасский — древнегреческий философ (представитель неопифагореизма), математик, теоретик музыки.
Но по официальным данным первоисточником теоремы является утверждение китайского математика Сунь-цзы в 3 главе математического трактата «Сунь Цзы Суань Цзин» (III век н.э.): «Есть вещи, количество которых неизвестно. Если мы посчитаем их по три, у нас останется два; к пятеркам у нас остается три; а к семеркам осталось два. Сколько всего там вещей?». После решения этой задачи, представляется алгоритм решения общей — при произвольных остатках (правило «тья-тен»): «Умножь число остатков при делении на тройки на 70, добавь к полученному произведению числа остатков при делении на пятерки на 21, и затем добавь произведение числа остатков при делении на семерки на 15. Если результат равен 106 или более — вычти кратное 105». Однако его работа не имеет ни доказательства, ни полного алгоритма. Также помимо описания арифметических методов и анализа диофантовых уравнений, трактат включает в себя исследования по астрономии.Полный алгоритм решения этой теоремы описал первый индийский математик-астроном Арьябхат (VI век н.э.). Частные случаи китайской теоремы об остатках появлялись в некоторых работах индийского учёного Брахмагупта (VII век н.э.) и присутствовали в книге итальянского математика Фибоначчи «Liber Abaci» (1202 г.). А в 1247 году китайский математик Цинь Цзюшао в своей книге «Математические рассуждения в 9 главах» обобщил теорему и привёл точное её решение.

Исходная формулировка Сунь Цзы: x ≡ 2 (mod 3) ≡ 3 (mod 5) ≡ 2 (mod 7) с решением x = 23 + 105k где k ∈ ℤ
Математика.теория чисел
Основная часть
Формулировка и доказательство
Доказательство (конструктивный метод доказательства):
Это доказательство, в котором существование некоторого математического объекта доказывается путём представления его на конкретном примере):
Нужно найти х – некоторое решение системы сравнений, причём 0 ≤ x ≤ N–1, удовлетворяющее одновременно всем сравнениям x ≡ ai (mod ni), i = 1, 2, ..,k. Рассмотрим сначала первые два сравнения. Первое сравнение x≡a1 (mod n1) справедливо для всякого х вида х=a1+n1⋅q, где q - произвольное. Чтобы найти q подставим значение x во второе сравнение, получим a1+n1⋅q≡a2 (mod n2). Отсюда q≡ (n1)-1⋅(a2-a1) (mod n2). Таким образом, q=(n1)-1⋅(a2-a1)+r⋅n2 для некоторого числа r. Подставим значение q в выражение х=a1+n1⋅q. Получим, что решение x первых двух сравнений можно представить в виде x=a1⋅2+r⋅(n1⋅n2), для некоторого r. Теперь заменим первые два сравнения на одно: x≡a1⋅2 (mod n1⋅n2). Применим выше описанные действия к сравнению, которое первоначально было третьим и к сравнению: x≡a1⋅2 (mod n1⋅n2). Будем повторять этот процесс до тех пор, пока не найдём число x, удовлетворяющее всем сравнениям. Для доказательства единственности предположим, что существует: x’, 0 ≤ x‘ ≤ N – 1, такой, что x‘ ≡ ai (mod ni) для любого i. Тогда x – x‘ ≡ 0 (mod ni) для всех i , откуда следует, что: ni | ( x – x ‘ ) для любого i . Но тогда N | ( x – x‘) и, поскольку | x – x ‘ | < N , то x = x‘.

Доказательство (с использованием леммы):

Доказательство этой теоремы может быть основано на данной лемме: «если числа a и b взаимно просты, то найдется такое целое число c, что ac≡ 1(modb)».
Т.к. N= n1⋅n2⋅…⋅nk - по условию, то Ni= . Из леммы следует, что xiNi≡1 (mod ni). Отсюда x=a1⋅x1⋅N1+a2⋅x2+…+ak⋅xk⋅Nk. Теперь требуется доказать, что x удовлетворяет требуемой системе сравнений. Для этого рассмотрим число x по модулю n1: все слагаемые, начиная со второго содержат множители Ni, которые по определению делятся на n1, значит, x≡a1⋅x1⋅N1 (mod n1). Т.к. x1N1≡1 (mod n1), то x≡a1 (mod n1). Следовательно х удовлетворяет первой системе сравнений, тогда х удовлетворяет и всей системе. Пусть A и B – два решения системы, то A≡B (mod N). Так как A-B≡ai-ai≡0 (mod ni) для любого i, 1≤i≤k, то А-В⋮ni. А числа ni взаимно попарно просты, то А-В⋮N=n1⋅n2⋅…⋅nk.
Другие распространённые формулировки
Если n = n1n2…nk, где ni, 1 ≤ i ≤ k, – взаимно простые числа, то кольцо Zn является прямой суммой колец Zni.

Пусть модули системы линейных сравнений являются взаимно простыми. Это означает, что общий делитель двух чисел ni и nj, равен единице, т. е. НОД (ni, nj) = 1 при 1 ≤ i, j ≤ k. В этом случае существует класс вычетов Zni, который удовлетворяет условию Zni ≡ 0 (mod nj).

Если натуральные числа a1,a2,…,an попарно взаимно просты, то для любых целых r1,r2,…,rn таких, что 0⩽ri<ai при всех i∈{1,2,…,n}, найдётся число N, которое при делении на ai даёт остаток ri при всех i∈{1,2,…,n}. Более того, если найдутся два таких числа N1 и N2, то N1≡N2 (mod a1⋅a2⋅…⋅an)

Доказательство (индукция по числу уравнений):

Воспользуемся методом математической индукции – один из методов математического доказательства, когда доказывается истинность некоторого утверждения для всех натуральных чисел. Если n=1, то утверждение теоремы очевидно. Пусть она справедлива и при n=k−1, то существует число m, дающее остаток ri при делении на ai при i∈{1,2,…,k−1}. Обозначим d=a1⋅a2⋅…⋅ak−1. Возьмём произвольное число ak, взаимно простое со всеми a1⋅…⋅ak−1 и рассмотрим числа M={m,m+d,m+2d,…,m+(ak−1)⋅d}={m+t⋅d}0⩽t<ak. Покажем, что все t∈{0,…,ak−1} являются остатками при делении каких-либо элементов из множества M на число ak. Допустим это не так, то есть существует некоторое rk<ak, которое не принадлежит множеству всех остатков при делении элементов M на ak. Поскольку количество этих элементов равно |M|=ak, а возможных остатков при делении элементов из M на ak может быть не более чем ak−1(ведь ни одно число не даёт остаток rk), то среди них найдутся два числа, имеющих равные остатки (по принципу ящиков Дирихле). Пусть это числа m+t1⋅d и m+t2⋅d, причём t1≠t2. Тогда их разность (m+t1⋅d)−(m+t2⋅d)=(t1−t2)d делится на ak, что невозможно, так как t1<ak, t2<ak, 0<|t1−t2|<ak и d=a1⋅a2⋅…⋅ak−1 взаимно просто с ak (т.к. числа a1,a2,…,ak попарно взаимно просты - по условию). Противоречие. Таким образом, среди рассматриваемых чисел найдётся число N=m+t⋅d, которое при делении на ak даёт остаток rk. В то же время при делении на a1,a2,…,ak−1 число N даёт остатки r1,r2,…,rk−1 соответственно, так как m+t⋅d≡m (mod ai). Докажем теперь, что N1≡N2(mod a1⋅a2⋅…⋅an). В самом деле N1≡N2≡ri (mod ai), то есть N1−N2≡0 (mod ai). Таким образом, число N1−N2 делит без остатка все ai, а также их произведение.

Китайская теорема об остатках широко применяется в теории чисел, криптографии и других дисциплинах:
  • взаимно однозначное соответствие между некоторым числом и набором его остатков, определяемым набором взаимно простых чисел, существование которого утверждается в теореме, на практике помогает работать не с длинными числами, а с наборами их коротких по длине остатков. А вычисления по каждому из модулей можно выполнять параллельно;
  • такое представление числа под названием системы остаточных классов использовалось в ранних ЭВМ, особенно специализированных, т. к. позволяло выполнять арифметические операции над числами с большим числом битов путем параллельного вычисления операций над остатками. Так как модули можно было взять с небольшим числом битов, то таблицы операций над остатками по каждому модулю можно было просто запомнить в ПЗУ, как таблицу Пифагора, что позволяло производить арифметическую операцию практически за один такт;
  • на Теореме основаны схема Асмута — Блума и схема Миньотта — пороговые схемы разделения секрета в группе участников. Секрет могут узнать только k из n участников, объединив свои ключи;
  • одним из применений является быстрое преобразование Фурье на основе простых чисел;
  • теорема лежит в основе принципа Хассе поиска целочисленных корней уравнения;
  • теорема может быть использована при доказательстве свойства мультипликативности функции Эйлера;
  • на Теореме основывается алгоритм Полига — Хеллмана нахождения дискретного логарифма за полиномиальное время для чисел, имеющих специальный вид;
  • теорема имеет множество применений в шифровании и дешифровании в криптографических системах, например, в криптосистеме Рабина или в шифре Виженера и в алгоритме RSA;
  • реализация функций алгебры логики числовыми методами.
2. Олег собрал мешочек монет. Саша пересчитал их, и оказалось, что если разделить все монеты на пять равных кучек, то останется две лишние монеты. А если на четыре равные кучки – останется одна лишняя монета. В то же время монетки можно разделить на три равные кучки. Какое наименьшее число монет могло быть у Олега?


Видеоролики для лучшего усвоения информации
This site was made on Tilda — a website builder that helps to create a website without any code
Create a website