Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Билеты и вопросы к ним с ответами




Алгоритм Гарнера

Алгоритм Гаусса

Операции

Китайская теорема об остатках

Пусть m - натуральное число, m1, m2,..., mt - взаимно простые натуральные числа, произведение которых больше либо равно m.

Теорема

Любое число x: 0 <= x <= m может быть однозначно представлено в виде последовательности r(x) = (r1, r2,..., rt), где ri = x(mod mi).

Для любых чисел r1.. rt, таким образом, существует единственное число x(mod m), такое что

x = ri(mod mi), 1 <= i <= t

Более того, любое решение x набора такого сравнений имеет вид

x = r1*e1 +... + rt*et (mod m), где ei = m / mi * ((m/mi)-1 mod mi), 1 <= i <= t.

Вышеприведенная формулировка - Китайская Теорема об Остатках в том виде, в котором ее сформулировал в 1247 году нашей эры китаец Jiushao Qin.

Заметим, что число m/mi = m1*...*mi-1*mi+1*...*mt взаимно просто с mi, а значит обратное число в формуле для ei всегда существует. Кроме того, имеют место равенства

ei*ei = ei (mod m)
ei * ej = 0 (mod m), i =/= j.

Знакомым с теорией колец: Zm = Zm1 +... + Zmt, сумма прямая. ei, как следует из равенств выше - ортогональные идемпотенты в кольце Zm.

Иначе говоря, кольцо R = Zm разлагается в прямую сумму

R = R1 + R2 +... + Rt,

где Ri = Rei = {a*ei (mod m): a - целое} ~ Zmi, 1 <= i <= t.

Последовательность (r1,..., rt) называется модульным представлением x. Набор модульных представлений для всех x: 0 <= x <= m называется системой вычетов.

Сумма представлений - последовательность wi = ri + ui mod mi

Произведение - последовательность zi = ri * ui mod mi.

Как восстановить число по системе вычетов?

Очевидный алгоритм получается, если вычислять x по формуле, данной в теореме:

На входе:
положительные взаимно простые m1,..,mt
целые r1,.., rt
На выходе:
Целое число x:
x = ri (mod mi), 1 <= i <= t
0 <= x <= m, m = m1*..*mt

1. Вычислить m = m1*..*mt, положить x=0.
2. for i=1, 2,.., t do
вычислить yi = m/mi
вычислить расширенным алгоритмом Евклида si = yi-1 mod mi
ci = ri*si mod mi
x = x + ci*yi (mod m)
3. Возвратить x

Пусть все mi > 1, m = m1*..*mt. Тогда любое число 0 <= x < m может быть однозначным образом представлено в виде

x = x0 + x1m1 + x2m1m2 +... + xt-1m1m2*...*mt-1,

где 0 <= xi < mi+1, i = 0, 1,.., t-1.

Для xi верно соотношение

xi = ri+1 - (x0 + x1m1 +.. + xi-1m1mi-1) (mod mi+1)
 
m1*..*mi

Таким образом, xi могут быть вычеслены один за другим. Получившийся алгоритм носит имя Гарнера(Garner). Он также пригоден для аналогичных операций с полиномами (в предыдущем алгоритме требуются некоторые изменения).

1. For i from 2 to t {
1.1 Ci:= 1;
1.2 For j from 1 to (i-1) {
u:= mj-1 mod mi;
Ci:= u*Ci mod mi;
}
}
2. u:= r1; x:= u;
3. For i from 2 to t {
u:= (ri-x)Ci mod mi;
x:= x + u* [ Произведение mj от j=1 до i-1 ];
}

4. return (x);

Пример: пусть
m1=5, m2=7, m3=11, m4=13,
m = m1*m2*m3*m4 = 5*7*11*13 = 5005,
r(x) = (2, 1, 3, 8).

Константы Ci: C2=3, C3=6, C4=5.

Значения (i, u, x), вычисленные на шаге 3: (1, 2, 2); (2, 4, 22); (3, 7, 267) и (4, 5, 2192).

Таким образом модульное представление r(x) отвечает x = 2192.

Примечание Нахождение m-1 - обратного элемента по модулю можно осуществить опять по алгоритму Евклида.

для проведения зачёта с оценкой по ОБЖ с учащимися 11-х классов




Поделиться с друзьями:


Дата добавления: 2015-04-23; Просмотров: 849; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.