Множества с алгебраическими операциями. Бинарные операции (лекция 4) презентация

Содержание

На X может быть задано, вообще говоря, много различных операций. Желая выделить одну из них, используют скобки (X, *) и говорят, что операция * определяет на X алгебраическую структуру

Слайд 1МНОЖЕСТВА С АЛГЕБРАИЧЕСКИМИ ОПЕРАЦИЯМИ
БИНАРНЫЕ ОПЕРАЦИИ
Пусть X – произвольное множество.

Бинарной алгебраической операцией (или законом композиции) на X называется произвольное (но фиксированное) отображение
τ:X × X→X декартова квадрата X2=X × X в X.

Таким образом, любой упорядоченной паре (a,b) элементов
a,b ∈X ставится в соответствие определенный элемент τ(a,b) того же множества X.
Иногда вместо τ(a,b) пишут aτb, а еще чаще бинарную операцию на X обозначают каким-нибудь специальным символом: ∗, ·, ⋅ или +.


Слайд 2На X может быть задано, вообще говоря, много различных операций.
Желая

выделить одну из них, используют скобки (X, *) и говорят, что операция * определяет на X
алгебраическую структуру
или что (X, *) – алгебраическая система.

Пример . В множестве Z целых чисел, помимо естественных
операций +, ⋅ (сложения и умножения), легко указать получающиеся при
помощи + (или -) и ⋅ "производные" операции:
n• m=n+m-n × m,
n∗m=-n-m и т.д.
Мы приходим к различным алгебраическим структурам
(Z,+), (Z,-), (Z, •) и (Z, ∗). ♦


Слайд 3Наряду с бинарными алгебраическими операциями не лишены интереса гораздно более общие

n-арные операции:

унарные при n=1,

тернарные при n=3 и т.д., равно как и их комбинации.
Связанные с ними алгебраические структуры составляют специальную теорию универсальных алгебр.

Слайд 4ПОЛУГРУППЫ И МОНОИДЫ
Бинарная операция ∗ на множестве X называется ассоциативной,


если (a∗b)∗c=a∗(b∗c) для всех a,b,c∈X .

Она также называется коммутативной, если a*b=b*a.

Те же названия присваиваются и соответствующей алгебраической структуре (X,*).

Требования ассоциативности и коммутативности независимы.

Пример. Операция * на Z, заданная правилом n*m=-n-m, очевидно, коммутативна.
Но (1*2)*3=(-1-2)*3=-(-1-2)-3=0 ≠ 1* (2*3)= 1*(-2-3)=-1-(-5)=4. Так что условие ассоциативности не выполняется.


Слайд 5Некоторые свойства операций имеют специальные названия. Пусть задана алгебра (M, Σ)

и a,b,c ∈ M,
”•“,”*” ∈ Σ. (, т.е. бинарные операции).

Тогда:
ассоциативность: (a*b) *c=a* (b*c);
коммутативность: a*b=b*c;
дистрибутивность слева: a• (b*c)=a•b*a•c;
дистрибутивность справа: (a*b) •c=a•c*b•c;
поглощение: (a*b) •a=a;
идемпотентность: a*a=a.

Слайд 6 Ассоциативные операции: сложение и умножение чисел, объединение и пересечение множеств,

композиция отношений.
Неассоциативные операции: возведение числа в степень, вычитание множеств.

Коммутативные операции: сложение и умножение чисел, объединение и пересечение множеств.
Некоммутативные операции: умножение матриц, композиция отношений.




Слайд 7Элемент e∈X называется единичным (или нейтральным) относительно рассматриваемой бинарной операции ∗,

если e∗x = x∗e = x для всех x∈X.

Если e' – еще один единичный элемент, то, как следует из определения,
e'=e'∗e=e∗e'=e.
Следовательно, в алгебраической структуре (X,∗) может существовать не более одного единичного элемента.

Множество X с заданной на нем бинарной ассоциативной операцией называется полугруппой.

Полугруппу с единичным (нейтральным) элементом принято называть моноидом.


Слайд 8Элемент a моноида (M,×,e) называется обратимым, если найдется элемент b∈ M,

для которого a×b=b×a=e
(понятно, что элемент b тоже обратим).

Если еще и a×b' = e = b'×a,
то b' = e×b' = (b×a)×b' = b×(a×b') = b×e = b.

Это дает основание говорить просто об обратном элементе a-1 к (обратимому) элементу a∈ M:

a⋅a-1 = e = a-1⋅a.

Разумеется, (a-1)-1=a.

Слайд 9Группой называется непустое множество G с бинарной операцией * на нем,

для которой выполнены следующие аксиомы:

операция * ассоциативна, т.е. для любых a,b,c ∈ G a*(b*c)=(a*b)*c;

В множестве имеется единичный элемент (или единица) e такой, что для любого a*e=e*a=a;

Для каждого a∈ G существует обратный элемент a-1∈ G такой, что a* a-1 = a-1 * a = e;

Группа называется абелевой (или коммутативной), если для любых a,b ∈ G выполняется a*b =b*a.

Слайд 10Множество Z целых чисел образует абелеву группу относительно операции сложения.
То

же самое можно сказать относительно рациональных чисел Q, вещественных R и комплексных C

Группа G обладающая конечным числом элементов называется конечной группой.
Число элементов конечной группы называется порядком группы и обозначается #G (или |G|).



Слайд 11Кольцом называется множество R с двумя бинарными операциями, обозначаемыми «+»и «•»,

такими, что:




Простейшими примерами колец являются кольца целых чисел Z и многочленов R[x] с вещественными элементами.


Слайд 14Кольцо называется областью целостности, если оно является коммутативным кольцом с единицей

и без делителя нуля.

Коммутативное кольцо называется полем, если его ненулевые элементы образуют группу относительно операции умножения.




Подмножество S кольца R называется подкольцом этого кольца, если оно замкнуто относительно имеющихся операций сложения и умножения и само образует кольцо относительно этих операций.

Подкольцо H кольца R называется идеалом (двухсторонним идеалом) этого кольца ,если для всех , имеет место .





Слайд 15Пусть область целостности R содержит единичный элемент e. Рассмотрим элемент
Возможны

два случая.

А) не существует такого , что ;
Б) существует такоe , что ;










Слайд 17Поля
Основные понятия


Слайд 18
Полем называется множество
с операциями сложения и умножения,
которые удовлетворяют

ассоциативному, коммутативному и дистрибутивному законам,
причём имеются как аддитивная (0), так и мультипликативная (1) единицы,
каждый элемент имеет обратный элемент по сложению,
кроме того каждый элемент, кроме аддитивной единицы 0 имеет и обратный элемент по умножению.






Слайд 19Примерами являются
Q - поле рациональных чисел,
R - поле действительных чисел,
С

- поле комплексных чисел,





Слайд 20Число к элементов поля называется порядком поля.
Различают бесконечные поля (например,

множество рациональных чисел)
и
конечные поля, например, поле {0,1} с операциями сложения по модулю два и умножения.
Конечные поля называются полями Галуа .
Поле Галуа порядка к обозначается GF(k) или .




Слайд 22Отношение конгруэнтности (сравнимости) по модулю данного числа т
на расширенном (включающем

число 0) множестве натуральных чисел N+ ,
является отношением эквивалентности и разбивает
множество N+ на классы эквивалентности, или смежные классы, по модулю т.
В качестве обозначений этих классов можно взять наименьшие числа классов.

Слайд 23Множество смежных классов по модулю m (или их обозначений ) с

операциями сложения и умножения по модулю m
на множестве обозначений этих классов
является полем тогда и только тогда,
когда m = р, где р - простое число.
Единицами по сложению и умножению этого поля GF(p) являются классы, содержащие числа 0 и 1 соответственно.

Слайд 24Элемент g поля называется примитивным, или образующим, если для любого другого

ненулевого элемента а поля найдется неотрицательное число х, такое, что а = gх.

Поле классов конгруэнтности целых чисел по модулю простого числа р GF(p)
(обозначается также Z/pZ или Fp) и
называется простым полем.

Если многократное сложение 1 не позволяет получить 0, то поле называется полем характеристики ноль, в этом случае оно содержит копию поля рациональных чисел.
В противном случае, если существует простое число р такое, что р-кратное сложение 1 даёт 0, число р называется характеристикой поля.
В этом случае поле содержит копию поля Z/pZ.


Слайд 26
ЭЛЕМЕНТЫ ТЕОРИИ ЧИСЕЛ


Модулярная арифметика


Слайд 27Запись в модулярной арифметике
a ≡ b (mod n)
читается так: "a сравнимо

с b по модулю n".

Если a ≡ b (mod n),
то b называют вычетом числа a по модулю n.

Это соотношение справедливо для целых значений a,b и n ≠ 0, если, и только если
a = b + k ∗ n
для некоторого целого k.

Операцию нахождения вычета числа a по модулю n
a (mod n)
называют приведением числа a по модулю n или приведением по модулю.


Слайд 28Набор целых чисел от 0 до (n –1) называют полным набором

вычетов по модулю n.

Это означает, что для любого целого a (a > 0) его вычет r по модулю n есть некоторое целое число в интервале от 0 до (n –1), определяемое из соотношения
r = a – k ∗ n,
где k – целое число.

Например, для n =12 полный набор вычетов:
{0, 1, 2, …, 11}.


Слайд 29Обычно предпочитают использовать вычеты
r ∈ {0, 1, 2, …, n –1},
но

иногда полезны вычеты в диапазоне целых:


Заметим, что
–12 (mod 7) ≡ –5 (mod 7) ≡ 2 (mod 7) ≡ 9 (mod 7) и т.д.


Слайд 30Целые числа по модулю n с использованием операций сложения и умножения

образуют коммутативное кольцо при соблюдении законов ассоциативности, коммутативности и дистрибутивности.

Фактически мы можем либо сначала приводить по модулю n, а затем выполнять операции, либо сначала выполнять операции, а затем приводить по модулю n.

(a + b) mod n = [a (mod n) + b (mod n)] mod n,

(a – b) mod n = [a (mod n) – b (mod n)] mod n,

(a ∗ b) mod n = [a (mod n) ∗ b (mod n)] mod n,

[a ∗ (b + c)] mod n = {[a ∗ b (mod n)] + [a ∗ c (mod n)]} mod n.


Слайд 31Вычисление степени числа a по модулю n
ax mod n
можно выполнить как

ряд умножений и делений.

Существуют способы сделать это быстрее.
Поскольку эти операции дистрибутивны, быстрее произвести возведение в степень как ряд последовательных умножений, выполняя каждый раз приведение по модулю. Это особенно заметно, если работать с длинными числами (200 бит и более).

Например, если нужно вычислить
a8 mod n,
не следует применять примитивный подход с выполнением семи перемножений и одного приведения по модулю громадного числа:
(a ∗ a ∗ a ∗ a ∗ a ∗ a ∗ a ∗ a) mod n.


Слайд 32Вместо этого выполняют три малых умножения и три малых приведения по

модулю:
((a2 mod n)2 mod n)2 mod n.

Тем же способом вычисляют
a16 mod n = (((a2 mod n)2 mod n)2 mod n)2 mod n.

Вычисление
ax mod n,
где x не является степенью 2, лишь немного сложнее. Двоичная запись числа x позволяет представить число x как сумму степеней 2:
x = 25(10) → 1 1 0 0 1(2), поэтому 25 = 24 + 23 + 20.


Слайд 33Тогда
a25 mod n =
(a∗a24) mod n = (a∗a8 ∗a16) mod

n =

= a ∗ ((a2)2)2 ∗ (((a2)2)2)2 mod n = ((((a2 ∗ a)2)2)2 ∗ a) mod n.

При разумном накоплении промежуточных результатов потребуется только шесть умножений:
(((((((a2 mod n) ∗ a) mod n)2 mod n)2 mod n)2 mod n) ∗ a) mod n.
Этот метод уменьшает трудоемкость вычислений до 1,5хk операций в среднем, где k – длина числа в битах .


Слайд 34Алгоритм Евклида для нахождения наибольшего общего делителя
Целое число a делит без

остатка другое целое число b, если, и только если
b = k ∗ a
для некоторого целого числа k.
В этом случае a называют делителем числа b или множителем в разложении числа b на множители.

Пусть a – целое число, большее 1. Тогда
a является простым числом,
если его единственными положительными делителями будут 1 и само a,
в противном случае a называется составным .


Слайд 35Любое целое n >1 может быть представлено единственным образом с точностью

до порядка сомножителей как произведение простых .

Существенный с точки зрения криптографии факт состоит в том, что не известно никакого эффективного алгоритма разложения чисел на множители;
не было получено и никакой нетривиальной нижней оценки временной сложности разложения.
Никаких эффективных методов не известно даже в таком простом случае, когда необходимо восстановить два простых числа p и q из их произведения:
n = p ∗ q.


Слайд 36Наибольший общий делитель чисел a и b, обозначаемый как НОД (a,b)

или просто (a,b), – это наибольшее целое, делящее одновременно числа a и b.
Если НОД (a,b)=1, то целые a и b – взаимно простые.

Наибольший общий делитель может быть вычислен с помощью алгоритма Евклида. Евклид описал этот алгоритм в своей книге "Начала", написанной около 300 лет до н.э. Он не изобрел его. Историки полагают, что этот алгоритм, возможно, старше еще на 200 лет. Это древнейший нетривиальный алгоритм, который просуществовал до настоящего времени и все еще хорош и сегодня.


Слайд 37Опишем алгоритм Евклида для нахождения НОД (a,b).
Введем обозначения:
qi –

частное; ri – остаток.
Тогда алгоритм можно представить в виде следующей цепочки равенств:

a = b ∗ q1 + r1, 0 < r1< b,
b = r1 ∗ q2 + r2, 0 < r2< r1,
r1 = r2 ∗ q3 + r3, 0 < r3< r2,
…….
rn–2 = rn–1 ∗ qn + rn, 0 < rn< rn–1,

rn–1 = rn ∗ qn+1 rn+1=0




Слайд 38Остановка гарантируется, поскольку остатки ri от делений образуют строго убывающую последовательность

натуральных чисел.
Таким образом, rn = НОД (a, b) или rn = (a, b).

Как следствие из алгоритма Евклида, можно получить утверждение, что
наибольший делитель целых чисел a и b
может быть представлен в виде линейной комбинации этих чисел, т.е. существуют целые числа и и v такие, что справедливо равенство

(a,b)=(b,r)=(r,r1) = …=(rn-1,rn)=rn


Слайд 39Алгоритм Евклида для вычисления наибольшего общего делителя

begin
g[0]: = b;
g[1]: = a;

i : =1;
while g[i] ! = 0 do
begin
g[i+1] : = g[i–1] mod(g[i]);
i : = i +1;
end
gcd : = g[i–1]; /*gcd – результат*/
end

Слайд 40Вычисление обратного элемента по заданному модулю
Если целые числа а и n

взаимно просты, то существует число а', удовлетворяющее сравнению а • а' = 1(mod n).
Число a' называют обратным к а по модулю n и используют обозначение : a-1(mod n) .

Вычислить а' можно, например, воспользовавшись представлением наибольшего общего делителя чисел а и n в виде их линейной комбинации: а*и + n*v = 1.

Взяв наименьшие неотрицательные вычеты обеих частей этого равенства по модулю n, получим, что искомое значение а' удовлетворяет сравнению
а' = и (mod n)


Слайд 41Расширенный алгоритм Евклида
При заданных неотрицательных целых числах a и b этот

алгоритм определяет вектор
(u1, u2, u3),
такой, что
a ∗ u1 + b ∗ u2 = u3 = НОД (a, b).

В процессе вычисления используются вспомогательные векторы (v1, v2, v3), (t1, t2, t3). Действия с векторами производятся таким образом, что в течение всего процесса вычисления выполняются соотношения

a ∗ t1 + b ∗ t2 = t3, a ∗ u1 + b ∗ u2 = u3,

a ∗ v1 + b ∗ v2 = v3.


Слайд 42Для вычисления обратной величины a–1 (mod n) используется частный режим работы

расширенного алгоритма Евклида, при котором b = n, НОД (a,n) = 1, и этот алгоритм определяет вектор
(u1, u2, u3),
такой, что
u3 =1, a ∗ u1 + n ∗ u2 = НОД (a,n) =1,
(a ∗ u1 + n ∗ u2) mod n ≡ a ∗ u1 (mod n) ≡ 1,
a–1 (mod n) ≡ u1 (mod n).



Слайд 43Шаги алгоритма:
1. Начальная установка.
Установить (u1, u2, u3) : = (0, 1,

n),
(v1, v2, v3) : = (1, 0, a).

2. u3 =1 ?. Если u3 =1, то алгоритм заканчивается.
3. Разделить, вычесть.
Установить q : = [u3/v3].
Затем установить
(t1, t2, t3) : = (u1, u2, u3) – (v1, v2, v3) ∗ q,
(u1, u2, u3) : = (v1, v2, v3),
(v1, v2, v3) : = (t1, t2, t3).
Возвратиться к шагу 2.






Слайд 44Пример. Заданы модуль n = 23 и число

a = 5. Найти обратное число a–1 (mod 23), т.е. x = 5–1 (mod 23).
Используя расширенный алгоритм Евклида, выполним вычисления, записывая результаты отдельных шагов табл. П.3.

q : = [u3/v3].
(u1, u2, u3) : = (v1, v2, v3),
(t1, t2, t3) : = (u1, u2, u3) – (v1, v2, v3) ∗ q,
(v1, v2, v3) : = (t1, t2, t3).












Слайд 45При u3 =1, u1 = –9, u2 = 2
(a ∗ u1

+ n ∗ u2 ) mod n = (5 ∗ (– 9) + 23 ∗ 2) mod 23 =
= 5 ∗ (– 9) mod 23 ≡ 1,
a–1 (mod n) = 5–1 (mod 23) = (– 9) mod 23 = (– 9 + 23) mod 23 = 14.
Итак, x = 5–1 (mod 23) ≡ 14 (mod 23) = 14.

Слайд 46Малая теорема Ферма
Если m – простое число, и a не

кратно m ,то малая теорема Ферма утверждает:

Слайд 47Функция Эйлера
Приведенной системой вычетов по модулю п называют подмножество полной системы

вычетов, члены которого взаимно просты с п.
Например, приведенную систему вычетов по модулю 12 составляют числа {1, 5, 7, 11}.

Если п - простое число, в приведенную систему вычетов по модулю п входит всё множество чисел от 1 до п— 1.

Для любого n, не равного 1, число 0 никогда не входит в приведенную систему вычетов.


Слайд 48Функция Эйлера, которую иногда называют функцией «фи» Эйлера и записывают как

φ(п), указывает число элементов в приведенной системе вычетов по модулю п.

Иными словами, φ(п) - это количество положительных целых чисел, меньших п и взаимно простых с п (для любого n, большего 1).

Если п — простое число, то φ(п) = п-1.

Если n = pq, где р и q - простые числа, то φ(п) = (р-1)(q-1).


Слайд 49 В соответствии с обобщением Эйлера малой теоремы Ферма, если НОД(а,п)

= 1,то:

Теперь нетрудно вычислить а-1 mod n:


Слайд 50Основные способы нахождения обратных величин
a–1 (mod n).

Проверить поочередно значения 1, 2,

..., n – 1, пока не будет найден a–1 (mod n), такой, что a∗a–1 (mod n) ≡ 1.

n=Prime[number];

a= Mod[b, n]

Do[,]
While[,]
For[,]

If[,]
Break[]



Слайд 512. Если известна функция Эйлера ϕ(n), то можно

вычислить
a–1 (mod n) ≡ aϕ(n)–1 (mod n),
используя алгоритм быстрого возведения в степень.

EulerPhi[n];

PowerMod[a,b,n] = ab mod n.



Слайд 52Если функция Эйлера ϕ(n) не известна, можно использовать расширенный алгоритм Евклида.
n=23

a=5 ExtendedGCD[n,a]












Слайд 53Если функция Эйлера ϕ(n) не известна, можно использовать расширенный алгоритм Евклида.
n=23

a=5
ExtendedGCD[n,a]

{1,{2,-9}}

u3 =1, u2 = 2 ,u1 = –9
5–1 (mod 23) = (– 9) mod 23 = (– 9 + 23) mod 23 = 14.
Mod[-9,23]
14



Слайд 54Для решения более сложных сравнений
a ∗ x ≡ b (mod n),

т.е. b ≠1, x = ?
используется следующий прием. Сначала решают сравнение
a ∗ y ≡1 (mod n),
т.е. определяют
y = a–1 (mod n),
а затем находят
x = a–1 b (mod n) = y ∗ b (mod n).

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика