
Методички / Numeration
.docФальк В.Н.
Нумерация рекурсивных множеств
конструктивных объектов.
Нумерацией
элементов множества
(или, короче, нумерацией множества
)
назовем конструктивно определенное
взаимно-однозначное отображение
на множество
всех натуральных чисел (для счетных
множеств) или на его подмножество
(для конечных множеств из
элементов). Далее, как правило, будут
рассматриваться только счетные множества,
так как для конечных множеств теоретических
проблем не возникает. Очевидно, что если
для счетного множества существует хотя
бы одна нумерация, то существует
неограниченное количество различных
нумераций (счетное только в силу
требования их конструктивного
определения). Если рассматривается
некоторая конкретная нумерация или
выбор конкретной нумерации не имеет
принципиального значения, то далее
«
»
обозначает номер элемента
в нумерации элементов множества
.
Множество с некоторой конкретной
нумерацией будем называть нумерованным
множеством (понятие нумерованного
множества является аналогом понятия
именованного множества, введенного
В.Н. Редько, для бесконечных счетных
множеств).
Рассмотрим
некоторые приемы нумерации при
общепринятых способах определения
конструктивных множеств. Множество
натуральных чисел нумерует само себя:
натуральное число есть его номер во
множестве натуральных чисел. Множество
,
полученное включением в счетное множество
нового элемента
,
будем обозначать
и нумеровать так: «
»
,
для всех
«
»
«
»
1.
Используя эту нумерацию, легко определить
множество
– свободное объединение нумерованного
счетного множества
и не пустого конечного множества
(
и
не пересекаются,
обозначается как
):
и его нумерацию: если
,
то «
»
«
»
,
если
,
то «
»
«
»
.
Введенная
выше нумерация множества, полученного
операцией включения нового элемента,
обладает свойством сохранения порядка
номеров элементов, которые они имели
место в исходном множестве
.
Для возможности использования любой
обладающей этим свойством нумерации
множества, полученного включением в
бесконечное нумерованное множество
нового элемента, введем по определению
обобщенную операцию
с натуральным параметром
(очевидно, что для всякого бесконечного
нумерованного множества
существуют такие
и нумерованное множество
,
что
,
причем «
»
):
.
Очевидно,
что «»
,
а для всех
«
»
«
»
,
если «
»
,
и «
»
«
»
,
если «
»
.
Множество
– свободное объединение (
)
двух бесконечных нумерованных множеств
и
определим как
,
откуда следует его нумерация: если
,
то «
»
«
»
,
если
,
то «
»
«
»
.
Определенная таким образом операция
свободного объединения двух бесконечных
нумерованных множеств тоже обладает
свойством сохранения порядка следования
элементов, имевшем место в объединяемых
множествах. Однако, это не единственный
способ определения с этим свойством.
Для общего случая можно ввести операцию
объединения, параметризованную
произвольной общерекурсивной унарной
функцией
.
Тогда
Очевидно,
что рассмотренная ранее нумерация
свободного объединения двух бесконечных
нумерованных множеств является частным
случаем для
,
т.е.
для всех
.
Если не использовать сведение к нумерации
свободного объединения двух счетных
нумерованных множеств, то можно определить
и нумерацию свободного объединения
конечного числа
счетных множеств таким образом, что
если
,
то «
»
«
»
.
Действительно,
пусть
,
где
Особое
значение для практической нумерации
конструктивных множеств имеет нумерация
множества упорядоченных пар
элементов
и
двух бесконечных нумерованных множеств
и
,
т.е. элементов их декартова произведения
.
Известно несколько удобных способов
нумерации декартова произведения,
удовлетворяющих требованию монотонности
нумерации: «
»
«
»
,
если «
»
«
»
,
и
«
»
«
»
,
если «
»
«
»
.
Опишем основные из них.
-
«Диагональная» нумерация:
«»
,
где
«
»
,
«
»
.
Этот способ нумерации иллюстрирует приведенная ниже таблица:
-
0
1
2
3
4
…
0
0
1
3
6
10
1
2
4
7
11
2
5
8
12
3
9
13
4
14
…
-
Нумерация на основе кодирования номеров элементов. Пусть
и
– представления в системе счисления с основанием
(коды) номеров «
»
и «
»
(ноль кодируется пустым кодом нулевой длины). Приведем эти коды к одинаковой длине
путем добавления к более короткому коду лидирующих нулей. Определим представление в той же системе счисления (код) номера «
»
как
. В программных реализациях наиболее часто используются значения
и
.
-
Рекурсивно определенные нумерации. Приведем один из вариантов.
Пусть
,
«
»
,
«
»
«
»
для всех
.
Тогда
определим как свободное объединение
,
и нумерация
будет такой: «
»
«
»
,
для всех
,
а для всех
«
»
«
»
.
Нетрудно видеть, что для этой нумерации
представление номера «
»
в двоичной системе счисления (двоичный
код) будет иметь вид:
,
где
«
»
,
а
– двоичное представление номера «
»
.
Основными,
наиболее известными видами конечных
наборов элементов некоторого базового
конечного или счетного множества
объектов, являются кортежи
(упорядоченные конечные последовательности
элементов базового множества), комплекты
(неупорядоченные конечные последовательности
элементов базового множества), конечные
подмножества
базового множества, конечные
упорядоченные подмножества
базового множества. Введем обозначения
для различных множеств таких наборов
для конечного или счетного базового
множества
.
– множество всех
кортежей элементов счетного множества
;
– множество всех
кортежей из
элементов счетного множества
;
– множество всех
комплектов элементов счетного множества
;
– множество всех
комплектов из
элементов множества
;
– множество всех
конечных подмножеств элементов множества
;
– множество всех
подмножеств из
элементов множества
;
– множество всех
конечных упорядоченных подмножеств
элементов множества
;
– множество всех
упорядоченных подмножеств из
элементов множества
.
Соответственно,
сами объекты этих множеств – кортежи,
комплекты, конечные подмножества и
конечные упорядоченные подмножества
– будем, соответственно, изображать
так (далее все
):
– кортеж элементов
множества
,
– комплект элементов
множества
,
– конечное
подмножество элементов множества
,
– конечное
упорядоченное подмножество элементов
множества
.
В качестве примера
использования этих обозначений рассмотрим
классификацию различных видов графов.
Известно, что в общем случае граф
определяется как упорядоченная пара,
которую составляют конечное множество
«вершин» графа и объект
,
характеризующий связи вершин графа. В
зависимости от математического уточнения
различают следующие варианты графов:
ориентированные и не ориентированные
графы, обыкновенные графы и мультиграфы,
с петлями (с возможностью связей вершин
самих с собой) и без петель. Не ограничивая
общности, будем считать, что множества
вершин различных графов – конечные
подмножества натуральных чисел:
.
Для простоты вначале предположим, что
рассматриваются только такие графы, в
которых нет изолированных вершин (т.е.
вершин, не находящихся в соответствующей
для этого вида графов связи с, вообще
говоря, другой вершиной графа). В этом
случае задание графа сводится к заданию
его компонента
,
зная который можно определить и множество
вершин этого графа. С учетом этих
замечаний получим варианты:
-
– ориентированный граф (орграф) с петлями,
-
– мультиорграф с петлями,
-
– орграф без петель,
-
– мультиорграф без петель,
-
– не ориентированный граф (граф) с петлями,
-
– мультиграф с петлями.
-
– граф без петель,
-
– мультиграф без петель.
Если базовым
множеством является нумерованное
счетное множество, то можно без потери
общности считать, что базовым является
само множество натуральных чисел
.
Далее рассматриваются некоторые
возможные способы нумерации множеств
основных структур с базисным множеством
.
Полагая, что из контекста всегда ясно,
о чем идет речь – об объекте определенной
структуры или об его номере, для
наглядности и простоты нотации сохраним
ранее введенные обозначения для различных
наборов и для их номеров в соответствующих
множествах. Наличие правого нижнего
индекса
у закрывающей скобки означает, что
рассматривается номер объекта во
множестве наборов того же вида объектов
и с тем же числом элементов. Отсутствие
индекса означает, что рассматривается
номер объекта во множестве всех наборов
того же вида (с любым числом элементов).
Например,
обозначает номер комплекта из чисел
среди всех комплектов из четырех
натуральных чисел.
-
Нумерация множества кортежей из заданного числа
натуральных чисел:
,
для
.
-
Нумерация множества всех возможных кортежей из любого числа
натуральных чисел:
.
-
Нумерация множества комплектов из заданного числа
натуральных чисел. Так как порядок перечисления элементов комплекта может быть любым, не ограничивая общности, предположим, что для комплекта натуральных чисел
выполняется условие:
. Нетрудно заметить, что разнообразие комплектов из
натуральных чисел сводится к разнообразию кортежей из
натуральных чисел:
, где
, а для всех
.
-
Нумерация множества всех возможных комплектов из любого числа
натуральных чисел. Используя те же построения, что и в п.3, сведем разнообразие всех комплектов
из любого числа натуральных чисел к разнообразию всех возможных кортежей
натуральных чисел.
-
Нумерация множества подмножеств натуральных чисел с заданным числом элементов
. Аналогично случаю комплектов (п. 3), упорядочим элементы подмножества
натуральных чисел так, что выполняется условие:
. Тогда, очевидно, разнообразие подмножеств натуральных чисел из
элементов сводится к разнообразию кортежей из
натуральных чисел:
, где
, а для всех
.
-
Нумерация множества всех возможных конечных подмножеств натуральных чисел с любым числом элементов
. Принцип построения кортежа натуральных чисел
, представляющего подмножество
, тот же, что и в п.5.
-
Нумерация множества упорядоченных подмножеств натуральных чисел с заданным числом элементов
. Разнообразие упорядоченных подмножеств
натуральных чисел из
элементов сводится к разнообразию кортежей
из
натуральных чисел следующим образом: для всех
. Заметим, что, как и для объектов других рассмотренных структур,
.
-
Нумерация множества всех возможных конечных упорядоченных подмножеств натуральных чисел с любым числом элементов
. Принцип построения кортежа натуральных чисел
, представляющего упорядоченное подмножество
, тот же, что и в п.7.