- •Предисловие
- •Введение
- •Глава 1. Множества
- •§ 1. Множества н их спецификация
- •§ 2. Простейшие операции над множествами
- •X ∉ ø при любом х.
- •§ 3. Диаграммы Венна
- •§ 4. Подмножества и доказательства
- •Глава 2. Отношения
- •§ 5. Произведения множеств
- •§ 1. Основные понятия
- •§ 2. Графические представления
- •§ 3. Свойства отношений
- •§ 4. Разбиения и отношения эквивалентности
- •§ 5. Отношения порядка
- •§ 6. Отношения на базах данных и структурах данных
- •§ 7. Составные отношения
- •§ 8. Замыкание отношений
- •Глава 3. Функции
- •§ 1. Функции и отображения
- •§ 2. Обратные функции и отображения
- •§ 3. Мощность множеств и счетность
- •§ 4. Некоторые специальные классы функций
- •§ 5. Аналитические свойства вещественных функций
- •§ 6. Операции
- •Глава 4. Основные понятия арифметики
- •§ 1. «Малая» конечная арифметика
- •§ 2. «Большая» конечная арифметика
- •§ 3. Двоичная арифметика
- •§ 4. Логическая арифметика
- •Глава 5. Алгебраические структуры
- •§ 1. Алгебраические структуры и подструктуры
- •§ 2. Простейшие операционные структуры
- •§ 3. Кольца и поля
- •§ 4. Линейная алгебра
- •4.1. Векторные пространства о линейные преобразования.
- •§ 5. Решетка и булевы алгебры
- •§ 6. Замкнутые полукольца
- •Глава 6. Матрицы
- •§ 1. Матрицы и бинарные отношения на конечных множествах
- •§ 2. Матрицы над другими алгебраическими структурами
- •§ 3. Матрицы и векторные пространства
- •Глава 7. Теория графов
- •§ 1. Вводные понятия
- •§ 2. Маршруты, циклы и связанность.
- •§ 3. Планарные графы
- •3.1. Теоремы Эйлера и Куратовского.
- •3.2. Раскраска карт и графов.
- •§ 4. Структуры данных для представления графа
- •§ 5. Обход графа
- •5.2. Обход графа по глубине.
- •5.4. Остовные леса обходов по глубине и ширине.
- •§ 6. Ориентированные графы
- •6.2. Маршруты и связность в орграфах.
- •Глава 8. Языки и грамматики
- •§ 1. Основные понятия
- •§ 2. Грамматики с фразовой структурой
- •2.1. Основные определения.
- •§ 3. Контекстно-свободные языки
- •§ 4. Понятия грамматического разбора и грамматических модификаций
- •§ 5. Грамматики операторного предшествования
- •Глава 9. Конечные автоматы
- •§ 1. Общие понятия
- •§ 2. Конечные автоматы
- •§ 3. Регулярная алгебра
- •Глава 10.Компьютерная геометрия
- •§ 1. Системы координат для подмножеств r3
- •§ 2. Преобразования
- •§ 3. Кривые и поверхности
§ 2. «Большая» конечная арифметика
Мы
уже построили арифметику для
.
Возникает
вопрос: как можно расширить эту систему,
чтобы иметь возможность считать после
5? Для этого достаточно иметь множество
n-значных чисел (наборов из n элементов
из
)
с арифметикой над
.
Чтобы проиллюстрировать это, рассмотрим
упорядоченную тройку из
,
т.е. элементы множества
по правилу
если
или
и
или
и
В этом случае элементы
будут упорядочены следующим образом:
……………………………
……………………………
Таким
образом, существует 63=216
различных троек. Поэтому нужно уметь
производить арифметические вычисления
над
в пределах от 0 до 215. В приведённом выше
упорядочивании элементов из
непосредственно
предшествует
непосредственно
предшествует
……………………………………………………
непосредственно
предшествует
Следовательно, хотелось бы, чтобы выполнялось соотношение
Однако
до сих пор не было представления 1 в
.
И
хотя это соотношение выглядит
естественным, мы должны заботиться о
том, чтобы не использовать ни одного не
определенного понятия. Для облегчения
описания представим
как
и рассмотрим сумму (
и (
.
Покомпонентное сложение даёт (
,
где сложение осуществляется в
,
и пока, как кажется, этого достаточно.
П р и м е р 2.1. Рассмотрим соотношение
,
которое будет более наглядным, если записать его в виде
Однако
(=1?)
(=0?). //
В
результате операции сложения множество
переходит в себя. Однако для того чтобы
сумма достаточно больших чисел (таких,
как 5+1) могла бы выйти за пределы
,
нам необходимо производить некоторые
действия в
и также, возможно, в
.
(Это иллюстрируется в табл. 4.9).
Т а б л и ц а 4.9
|
0 |
1 |
2 |
3 |
4 |
5 |
0 |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
1 |
2 |
3 |
4 |
5 |
0 |
2 |
2 |
3 |
4 |
5 |
0 |
1 |
3 |
3 |
4 |
5 |
0 |
1 |
2 |
4 |
4 |
5 |
0 |
1 |
2 |
3 |
5 |
5 |
0 |
1 |
2 |
3 |
4 |
|
0 |
1 |
2 |
3 |
4 |
5 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
2 |
0 |
0 |
0 |
0 |
1 |
1 |
3 |
0 |
0 |
0 |
1 |
1 |
1 |
4 |
0 |
0 |
1 |
1 |
1 |
1 |
5 |
0 |
1 |
1 |
1 |
1 |
1 |
Возьмём любые два числа a и b из . Тогда их сумма (в Z) составляет
.
П
р и м е р 2.2. 4 плюс 4 даёт
в Z.
Таблица
даёт «обычную» сумму двух элементов из
,
в то время как таблица
показывает, когда необходим «переход»
в следующее множество
,
и содержит только нули и единицы. Значения
в
ограничены, потому что если
и
,
То
(и
n=6
в
).
//
В действительности можно получить лучшую оценку, поскольку
и
,
и, следовательно,
Возвращаясь
к суммированию (
и (
и обозначая ответ через (
,
получим
d0 = a0 + ab0,
x0 = a0 + cb0,
d1 = a1 + ab1 + ax0,
x1= если a1 + сb1 = 1 тогда 1,
иначе(a1 + ab1) + ax0,
d2 = a2 + ab2 + ax1,
x2= если a2 + сb2 = 1 тогда 1,
иначе(a2 + ab2) + cx1,
Поскольку
и
или
,
то переносимый результат из
никогда не может быть больше 1.
Заметим,
что в наших определениях числа
и
в
действуют, как 0 и 1 в новой арифметике.
Кроме этого, если
,
то результат сложения может оказаться
слишком большим для
.
В
этом случае говорят, что произошло
«переполнение». Этот случай мы обсудим
более подробно в § 3 гл. 4, а до конца
параграфа возможность перевыполнения
будем игнорировать.
Аналогично
можно использовать операции
и
(таблицы произведения и переноса),
заданные в табл. 4.10 для того, чтобы
производить умножение над
,
однако
мы не будем этим заниматься.
Д
о
сих пор мы
рассматривали только символы, имеющие
вид положительных чисел. Конечно, с
символами 0, 1, 2, ... можно обращаться
«естественным» образом, и, следовательно,
их можно интерпретировать как
неотрицательные числа. Арифметика
над
,
оперирует с числами от
до
,
которые были получены из последовательности
(от 0 до 5) в
.
Если взять множество
вместо
,
то получим систему, которая содержит
отрицательные числа, но ведёт себя
странным образом.
Если
мы возьмём два множества
и множество
,
которое назовём
,
и образуем множество
,
то можно построить арифметику с числами
от
до
.
На
самом деле арифметика является той же
самой, за
исключением того, что значения
и
в
сейчас интерпретируются как
соответственно. Поэтому, например,
вычисляется в Z
как
.
Биекция между двумя системами, определённая следующим образом:
в
остальных случаях,
Может быть применена в любой момент при условии, что результат вычислений не имеет цифр и в . Мы выбираем обозначения из соображения удобства, не вводя ограничений на случаи, когда можно применять биекцию или обратное отображение. На этом этапе мы настойчиво советуем игнорировать любые очевидные противоречия, относящиеся к переполнению . Этот случай будет подробно рассмотрен в последующих параграфах на более простом примере. Отметим, что новая система «переходит» от положительных чисел к отрицательным. Например
(В
это дает
Вычисления, включающие в себя сложение и вычитание, в новой арифметике довольно просты и зависят от двух тождеств. Первое имеет вид
(
эквивалентно
),
а второе – вид
Они имеют место тогда и только тогда, когда
,
,
.
Таким
образом, чтобы вычислить обратное по
сложению число к
,
мы должны сначала найти число
,
которое называют дополнением
по
,
и затем прибавить
Это даст дополнение до
.
Проиллюстрируем этот процесс на следующем
примере.
П
р и м е р 2.3. Найдём обратные элементы к
и
.
Из
получаем
(дополнение до 5)
(дополнение
до 6)
Проверим результат
Поэтому
.
//
Таким образом, вычитание сводится к сложению с соответствующим дополнением.
П
р и м е р 2.4. Вычислим
.
Берём
получаем
(дополнение до 5)
результат (дополнение до 6)
прибавим
=
(
.
Проверяя
вычисления над
,
получаем
//
Конечно,
причиной образования так называемых
дополнений до
и
является тот факт, что мы проводим
вычисления над
(или
).
В
общем случае, если вычисления проводятся
в
,
мы должны использовать дополнение до
и
соответственно.
Надо
подчеркнуть, что в вычислениях на ЭВМ
мы обычно имеем дело с
для некоторых фиксированных
и
и очень редко – с множеством
.
Таким образом совокупность, имеющихся
в нашем распоряжении числе всегда
ограничена, и, хотя границы могут быть
очень большими, мы не должны забывать
о том, что они существуют. Риск тем более
велик по той причине, что в записи обычно
опускают запятые и все нули, стоящие
слева от первой ненулевой цифры за
исключением числа
.
Следовательно,
запишется как 134,
как 6 и
как 0.
У
п р а ж н е н и е 4.2. Обозначим
через
,
где
,
если
чётное,
и
,
если
нечётное.
Вычислить:
а)
;
б)
;
в)
в каждой из «естественных» арифметик
,
,
,
.
(З а м е ч а н и е: числа в примерах заданы
над
;
поэтому вначале требуется перевести
их в соответствующую систему, а потом
проводить вычисления.)
