Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Сборник задач по дискретной математике. Учебное пособие
.pdf
4.4. Многомодульная арифметика 71
отметим, что −b 6 a − b 6 a, при этом a, b < 100, следовательно,
−
5004
< −100 < a − b < 100 <
2
5004
,
2
значит, нам необходимо использовать симметричную систему вычетов.
Получаем a − b ≡ 4971 ≡ −32 (mod 7 ·11 ·5 ·13), следовательно, a −
b = −32.
Теперь вычислим 3a + b. Имеем
3a ≡ [3 ·6, 3 · 8, 3 ·1, 3 ·2] = [18, 24, 3, 6] ≡ [4, 2, 3, 6] (mod β).
Следовательно,
3a + b ≡ [4 + 5, 2 + 9, 3 + 0, 6 + 10] ≡ [9, 11, 3, 16] ≡ [2, 0, 3, 3] (modβ).
Так как 3a + b ≡ 2 (mod 7), имеем
3a + b = 7x1+ 2. (4.8)
Подставив это выражение в сравнение 3a + b ≡ 0 (mod 11), получим 7x1+ 2 ≡ 0 (mod 11), следовательно, 7x1≡ −2 ≡ 9 (mod 11).
Сначала надо найти значение x
0
, такое что 7x
1
0
≡ 1 (mod 11). Одна-
1
ко это уже было сделано при вычислении a − b. Из (4.5) следует, что
0
x
≡ 8 (mod 11), значит, x1≡ 8 ·9 = 72 ≡ 6 (mod 11). Таким образом,
1
x1= 11x2+ 6. Подставив это равенство в (4.8), получаем
3a + b = 7(11x2+ 6) + 2 = 77x2+ 44. (4.9)
Подставив это равенство в сравнение 3a + b ≡ 3 (mod 5), получаем
77x2+ 44 ≡ 3 (mod 5), то есть 77x2≡ −41 (mod 5), отсюда получаем
2x2≡ 4 (mod 5), следовательно, x2≡ 2 (mod 5). Таким образом, x2=
5x3+ 2.
Подставляя это равенство в (4.9), получаем
3a + b = 77(5x3+ 2) + 44 = 385x3+ 154 + 44 = 385x3+ 198. (4.10)
Подставим это равенство в сравнение 3a + b ≡ 3 (mod 13), получаем 385x3+ 198 ≡ 3 (mod 13), а значит, 385x3≡ −195 (mod 13), то есть
8x3≡ 0 (mod 13). Следовательно, x3≡ 0 (mod 13), то есть x3= 13x4.
Таким образом, из (4.10) получаем 3a + b = 385 · 13x4+ 198 =
5005x4+ 198, то есть 3a − b ≡ 198 (mod 7 ·11 ·5 ·13).
Наконец, чтобы вычислить точное значение 3a + b отметим, что 0 <
a < 100 и 0 < b < 100. Используя эту дополнительную информацию,
получаем
0 < 3a + b < 300 + 100 = 400 < 5005.

72 Глава 4. Числовые системы
Следовательно, здесь необходимо использовать систему наименьших
неотрицательных вычетов. В итоге, получаем 3a + b = 198.
Пример 4.13. Используя многомодульную арифметику, найти 17−1от-
носительно вектора оснований β = [5, 7, 11, 13].
Решение. Необходимо решить четыре сравнения:
17x1≡ 1 (mod 5);
17x2≡ 1 (mod 7);
17x3≡ 1 (mod 11);
17x4≡ 1 (mod 13).
Для первого сравнения имеем 17x1≡ 2x1≡ 1 (mod 5). Следователь-
но, x1≡ 23≡ 3 (mod 5).
Для второго сравнения получаем 17x2≡ 3x2≡ 1 (mod 7). Таким об-
разом,
x2≡ 35≡ 32· 33= 9 ·27 ≡ 2 ·6 = 12 ≡ 5 (mod 7).
Далее, 17x3≡ 6x3≡ 1 (mod 11). Следовательно,
x3≡ 69≡(62)4· 6 = 364· 6 ≡ 34· 6 = 33· 3 ·6 =
=27 ·18 ≡ 5 ·7 = 35 ≡ 2 (mod 11).
Наконец, 17x4≡ 4x4≡ 1 (mod 13). Отсюда получаем
x4≡ 411=(42)5· 4 = 165· 4 ≡ 35· 4 = 33· 32· 4 =
=27 ·36 ≡ 1 ·10 = 10 (mod 13).
Таким образом, получаем 17−1≡ [3, 5, 2, 10] (mod β).
5
Пример 4.14. Вычислить
2
−
8
используя многомодульную арифме-
3
тику с вектором оснований β = [5, 7, 11, 13].
5
Доказательство. Имеем
2
−
8
= 5 ·8−1− 2 ·3−1. Обозначим это число
3
через a
Найдем 8−1и 3−1, как это было сделано в примере 4.13. Чтобы найти
8−1, необходимо решить следующие сравнения
8x1≡ 1 (mod 5);
8x2≡ 1 (mod 7);
8x3≡ 1 (mod 11);
8x4≡ 1 (mod 13).

4.4. Многомодульная арифметика 73
Имеем для первого сравнения 8x1≡ 3x1≡ 1 (mod 5), Следовательно,
x1≡ 33≡ 2 (mod 5).
Для второго сравнения получаем 8x2≡ x2≡ 1 (mod 7).
Далее, для x3получаем
x3≡ 89≡ (82)4· 8 = 644· 8 ≡ 94· 8 = (92)2· 8 = 812· 8 ≡
≡ 42· 8 = 16 · 8 ≡ 5 ·8 = 40 ≡ 7 (mod 11).
Наконец, для x4имеем
x4≡ 811= (82)5· 8 = 645· 8 ≡ (−1)5· 8 = −8 ≡ 5 (mod 13).
Таким образом, получаем 8−1≡ [2, 1, 7, 5] (mod β).
Теперь найдем 3−1, для чего необходимо решить сравнения
3x1≡ 1 (mod 5);
3x2≡ 1 (mod 7);
3x3≡ 1 (mod 11);
3x4≡ 1 (mod 13).
Имеем для первого сравнения x1≡ 33≡ 2 (mod 5).
Для второго сравнения получаем
x2≡ 35= (32)2· 3 = 92· 3 ≡ 22· 3 = 12 ≡ 5 (mod 7).
Далее, для x3получаем
x3≡ 39≡ (33)3= 273≡ 53= 25 ·5 = 3 ·5 = 15 ≡ 4 (mod 11).
Наконец, для x4имеем
x4≡ 311= (33)3· 32= 273· 9 ≡ 13· 9 = 9 (mod 13).
Итак, 3−1≡ [2, 5, 4, 9] (mod β).
Далее, получаем
a ≡5[2, 1, 7, 5] −2[2, 5, 4, 9] =
=[10, 5, 35, 25] − [4, 10, 8, 18] ≡ [0, 5, 2, 12] −[4, 3, 8, 5] =
=[−4, 2, −6, 7] ≡ [1, 2, 5, 7] (mod β).
Здесь знак равенства означает равенство выражений в правой и левой
части, как векторов с четырьмя координатами.

74 Глава 4. Числовые системы
Если теперь мы попытаемся решить систему неравенств
x ≡ 1 (mod 5)
x ≡ 2 (mod 7)
;
x ≡ 5 (mod 11)
x ≡ 7 (mod 13)
то получим некоторый класс эквивалентности по модулю 5 · 7 · 11 · 13,
однако это не даст нам возможности найти точное значение числа a,
так как это число не является целым. Для того, чтобы все-таки найти,
чему равно a, используем следующую дополнительную информацию.
c
Во-первых, a представимо в виде
, где d = 3·8. Это следует из правила
d
сложения дробей. Во-вторых, справедливы следующие оценки −1 <
a < 1, а значит, −3 · 8 < c < 3 · 8. Таким образом, задача свелась к
нахождению целого числа c.
c
Так как a =
, получаем ad = c, а значит, ad ≡ c (mod m) для любо-
d
го целого значения m, в частности, для m равного каждой из координат
вектора оснований. Так как a ≡ [1, 2, 5, 7] (mod β), а d = 8 · 3 = 24 ≡
[4, 3, 2, 11], получаем
c ≡ ad ≡ [1 ·4, 2 · 3, 5 ·2, 7 ·11] = [4, 6, 10, 77] ≡ [4, 6, 10, 12].
Итак, c ≡ 4 (mod 5), следовательно,
a = 5x1+ 4, (4.11)
с другой стороны, a ≡ 6 (mod 7), то есть 5x1+ 4 ≡ 6 (mod 7), а значит,
5x1≡ 2 (mod 7). Для начала найдем x
0
, такой что 5x
1
0
≡ 1 (mod 7).
1
Имеем
0
x
≡ 55= (52)2· 5 = 252· 5 ≡ 42· 5 = 2 · 5 = 10 ≡ 3 (mod 7),
1
Откуда получаем
x1≡ 2 ·3 ≡ 6 (mod 7). (4.12)
Далее, из 4.12 получаем x1= 7x2+ 6, подставляя это значение в
равенство (4.11), получаем
a = 5(7x2+ 6) + 4 = 35x2+ 34. (4.13)
Теперь подставим это выражение в сравнение a ≡ 10 (mod 11), получаем 35x2+ 34 ≡ 10 (mod 11), то есть 35x2≡ −24 (mod 11), а значит,
2x2≡ 9 (mod 11). Найдем x
0
x
≡ 29= (24)2· 2 = 162· 2 ≡ 52· 2 = 25 · 2 ≡ 3 ·2 = 6 (mod 11),
2
0
, такой что 2x
2
0
≡ 1 (mod 11). Имеем
2

4.4. Многомодульная арифметика 75
Откуда получаем
x2≡ 2 ·9 = 54 ≡ 10 (mod 11). (4.14)
Таким образом, x2= 11x3+ 10. Подставим в равенство (4.13), получаем
a = 35(11x3+ 10) + 34 = 385x3+ 384. (4.15)
Подставив это выражение в сравнение a ≡ 12 (mod 13), получаем
385x3+ 384 ≡ 12 (mod 13), следовательно, 385x3≡ −372 (mod 13), то
есть 8x3≡ 5 (mod 13). Найдем значение x
0
8x
≡ 1 (mod 13) истинно. Имеем
3
0
, для которого сравнение
3
0
x
3
≡ 8
13−2
= 811= (82)5·8 = 645·8 ≡ (−1)5·8 = −1 ·8 = 5 (mod 13).
Следовательно, x3≡ 5 ·5 = 25 ≡ 12 (mod 13), то есть x3= 13x4+
7. Подставив в равенство (4.15), получаем c = 385(13x4+ 12) +
384 = 5005x4+ 4620 + 384 = 5005x3+ 5004. Таким образом,
c ≡ 5004 (mod 7 ·11 ·5 ·13). Так как −24 < c < 24, получаем c = −1,
а значит, a =
c
= −
d
1
.
24
Пример 4.15. Найти знак числа a, вектор остатков которого по век-
тору оснований β = [7, 11, 13, 2] равен [3, 2, 7, 1].
Решение. Найдем q1, q2, q3, q4из разложения
a = q1+ 7q2+ 7 ·11 · q3+ 7 ·11 · 13 ·q4.
Найдем вектор остатков числа a − q1. Получаем
[3 −3, 2 −3, 7 −3, 1 −3] ≡ [0, −1, 4, −2] ≡ [0, 10, 4, 0] (mod β).
Теперь найдем 7−1относительно вектора оснований β1= [11, 13, 2], для
чего необходимо решить сравнения
7x1≡ 1 (mod 11);
7x2≡ 1 (mod 13);
7x3≡ 1 (mod 2).
Имеем для первого сравнения
x1≡ 79=(72)4· 7 = 494· 7 ≡ 54· 7 = (52)2· 7 =
=252· 7 ≡ 32· 7 = 63 ≡ 8 (mod 11).

76 Глава 4. Числовые системы
Для второго сравнения получаем
x2≡ 711=(72)5· 7 = 495· 7 ≡ 105· 7 = (102)2· 10 ·7 = 1002· 70 ≡
≡92· 5 = 81 · 5 ≡ 3 ·5 = 15 ≡ 2 (mod 13).
Наконец, из того, что 7x3≡ x3(mod 2), получаем x3≡ 1 (mod 2).
Таким образом, 7−1≡ [8, 2, 1] (mod β1), а значит,
a1= (a − q1)7−1≡ [10 ·8, 4 ·2, 0 ·1] = [80, 8, 0] ≡ [3, 8, 0] (mod β1).
Теперь найдем a1− q2, где q2= 3 – это остаток от деления a1на 11.
Получаем вектор остатков
[3 −3, 8 −3, 0 −3] ≡ [0, 5, −3] ≡ [0, 5, 1] (mod β1).
Найдем 11−1относительно вектора оснований β2= [13, 2], для чего
необходимо решить сравнения
11x1≡ 1 (mod 13);
11x2≡ 1 (mod 2).
Имеем для первого сравнения
x1≡ 1111=(112)5· 11 = 1215· 11 ≡ 45· 11 = (42)2· 4 ·11 =
=162· 44 ≡ 32· 5 = 45 ≡ 6 (mod 13).
Для x2, так как 11x2≡ x2(mod 2), получаем x2≡ 1 (mod 2). Таким
образом, 11−1≡ [6, 1] (mod β2), а значит,
a2= (a1− q2)11−1≡ [5 ·6, 1 ·1] = [30, 1] ≡ [4, 1] (mod β2).
Таким образом, q3= 4, найдем вектор остатков, соответствующий
a2− q3относительно вектора оснований β2. Получаем
[4 −4, 1 −4] = [0, −3] ≡ [0, 1] (mod β2).
Теперь найдем 13
−1
по модулю 2. Для этого необходимо решить
сравнение 13x1≡ 1 (mod 2). Так как 13x1≡ x1(mod 2), получаем
x1≡ 1 (mod 2). Таким образом, (a2− q3)13
−1
≡ 1 · 1 = 1 (mod 2).
Следовательно, q4= 1, а значит, a < 0.
4.4. Задачи
4.4.1. Вычислить, используя многомодульную арифметику с вектором
оснований β = [9, 8, 7, 11]:

4.4. Многомодульная арифметика 77
а) a + b, где a = 211, b = 184; б) a + b, где a = 324, b = 249;
в) a + b, где a = 241, b = 315; г) a − b, где a = 342, b = 131;
д) a − b, где a = 325, b = 124; е) a − b, где a = 214, b = 111;
ж) 2a + 4b, где a = 205, b = 327; з) 3a − 5b, где a = 411, b = 103;
и) 6a − 2b, где a = 213, b = 304; к) 3a + 5b, где a = 117, b = 89.
Вычислить, используя многомодульную арифметику с вектором оснований γ = [4, 7, 11, 13, 15]:
л) 3a + 5b, где a = 127, b = 131; м) 5a + 6b, где a = 155, b = 241,
н) 2a − 7b, где a = 341, b = 114; о) 8a − 3b, где a = 267, b = 301.
4.4.2. Вычислить, используя многомодульную арифметику:
а) 13−1(mod β), где β = [3, 17, 5, 2]; б) 14−1(mod β), где β = [3, 17, 11, 5];
в) 12−1(mod β), где β = [5, 11, 17, 13];
г) 11−1(mod β), где β = [8, 9, 13, 5];
д) 23−1(mod β), где β = [5, 17, 13, 7, 19];
е) 17−1(mod β), где [7, 8, 11, 13, 25].
4.4.3. Вычислить, используя многомодульную арифметику. Исполь-
зуя дополнительные априорные оценки, найти точные значения выражений:
3
а)
11
5
б)
11
4
в)
13
4
г)
7
2
д)
3
+
−
4
−
(mod β), где β = [5, 17, 3, 2];
13
7
−
(mod β), где β = [7, 17, 13, 2];
15
2
−
(mod β), где β = [5, 11, 17, 2];
9
3
11
6
7
2
−
(mod β), где β = [3, 17, 13, 2];
5
3
−
(mod β), где β = [19, 5, 11, 2].
17
4.4.4. Найти знак числа a, заданного вектором остатков по вектору
оснований β:
а) a = [4, 3, 14, 0], β = [5, 11, 19, 2]; б) a = [2, 6, 0, 1], β = [5, 7, 13, 2];
в) a = [3, 4, 3, 9, 1], β = [5, 19, 13, 11, 2];
г) a = [1, 2, 3, 3, 0], β = [17, 13, 11, 5, 2];
д) a = [3, 6, 11, 7, 1], β = [5, 11, 17, 29, 2];
е) a = [6, 17, 3, 4, 0], β = [17, 19, 23, 5, 2].

Глава 5
Теория графов
5.1 Способы задания графов. Изоморфизмы графов
Пример 5.1. Какие из приведенных рисунков являются изображения-
ми графов (ориентированных или неориентированных), а какие — только мультиграфов? Для каждого графа найти множество вершин и множество дуг, а также все петли.
1)
3
q q
@
@
q q
1 2
@
@
@
@
4
e
2)
-
4
3
q q
6
q q
1 2
1
f
3)
yi
-
f
6
3 4
q q
q q
1 2
Решение. На первом рисунке изображен неориентированный граф со
множеством вершин V = {1, 2, 3, 4} и множеством ребер E =
{[1, 2], [1, 4], [2, 3], [2, 4], [4, 4]}, петлей является только ребро [4, 4]. Каж-
дое из ребер изображено в виде отрезка прямой или участка кривой
(для петли [4, 4]).
На втором рисунке — ориентированный граф, с множеством вершин
V = {1, 2, 3, 4} и множеством дуг
E = {(1, 1), (1, 2), (1, 3), (2, 4), (4, 1), (4, 2)},
в котором дуги обозначены участками кривых со стрелками: дуга в
ориентированном графе (u, v) обозначается участком кривой со стрелкой в направлении от u к v. Петлей является дуга (1, 1). На третьем —
изображен мультиграф (он не является графом, так как, например, из
вершины 2 в вершину 4 идут две дуги). Множество вершин этого мультиграфа V = {1, 2, 3, 4}.

5.1. Способы задания графов. Изоморфизмы графов 79
Пример 5.2. Построить матрицы смежности, задающие графы из примера 5.1.
Решение. Для построения матрицы смежности графа необходимо для
каждой дуги (i, j) поставить единицу в i-ую строчку, j-ый столбец, а на
остальных местах в матрице поставить нули (см. [5], §4.1). Если граф
неориентированный, то считаем, что каждое ребро [i, j] при i 6= j соответствует двум дугам: (i, j) и (j, i). Для мультиграфа на пересечении
i-ой строки и j-го стобца ставится количество дуг из i в j. В итоге
получаем:
1) 2) 3)
0 1 0 1
1 0 1 1
0 1 0 0
1 1 1 0
0 0 0 1
;
0 0 0 0
0 1 1 0
0 0 0 2
;
1 0 0 0
.
1 1 0 1
1 1 0 0
0 1 1 2
В дальнейшем матрицу смежности графа G будем обозначать AG.
Пример 5.3. Построить матрицы инцидентности для графов из примера 5.1.
Доказательство. Введем обозначения для дуг графов.
1) e1= (1,2), e2= (2,1), e3= (1,4), e4= (4,1), e5= (2,3), e6= (3,2),
e7= (2, 4), e8= (4, 2), e9= (4, 4);
2) e1= (1, 1), e2= (1, 2), e3= (1, 3), e4= (2, 4), e5= (4, 1), e6= (4, 2);
3) e1= (1, 2), e2= (1, 3), e3= (3, 1), e4= (4, 2), e5= (4, 3), а также
пусть e6и e7— дуги, идущие из вершины 2 в вершину 4, а e8и e9—
петли, исходящие из вершины 4. Тогда матрицы инцидентности имеют
вид (см. [5],§ 4.1):
1 −1 1 −1 0 0 0 0 0
1)
−1 1 0 0 1 −1 1 −1 0
0 0 0 0 −1 1 0 0 0
;
2)
0 0 −1 1 0 0 −1 1 1
1 1 1 0 −1 0
0 −1 0 1 0 −1
0 0 −1 0 0 0
0 0 0 −1 1 1
;

80 Глава 5. Теория графов
1 1 −1 0 0 0 0 0 0
3)
−1 0 0 −1 0 1 1 0 0
0 −1 1 0 −1 0 0 0 0
.
0 0 0 1 1 −1 −1 1 1
В дальнейшем матрицу инцидентности графа G будем обозначать BG.
Пример 5.4. Задать графы из примера 5.1 посредством списка дуг.
Ответы. Используем ту же нумерацию дуг, что и в примере 5.3. Тогда,
как описано в [5], § 4.1,
1) m = (1, 2, 1, 4, 2, 3, 2, 4, 4), n = (2, 1, 4, 1, 3, 2, 4, 2, 4);
2) m = (1, 1, 1, 2, 4, 4), n = (1, 2, 3, 4, 1, 2);
3) m = (1, 1, 3, 4, 4, 2, 2, 4, 4), n = (2, 3, 1, 2, 3, 4, 4, 4, 4).
Пример 5.5. Для графов 1) и 2) из примера 5.1 построить структуры
смежности.
Ответ. Опять же, как описано в [5], § 4.1, получаем
1) 2)
вершины последователи
1 2, 4
2 1, 3, 4 ;
3 2
4 1, 2, 4
вершины последователи
1 1, 2, 3
2 4 .
3 −
4 1, 2
Пример 5.6. Выяснить, изоморфны ли графы, G1и G2, заданные мат-
рицами смежности:
A
1 0 0 1
0 0 1 1
=
G
1
1 1 0 0
1 0 0 1
; A
0 0 1 1
0 1 1 0
=
G
2
0 1 1 0
1 1 0 0
Решение. В силу [5], теорема 4.1.1, нам необходимо либо найти такую
перестановку, при помощи которой мы сможем получить одну матрицу
из другой, либо доказать, что такой перестановки не существует. Для
начала, заметим, что в обеих матрицах все строки содержат по две единицы. Также в обеих матрицах два столбца содержат по одной единице,
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
