Буй Д.Б., Богатырёва Ю.А. Решетка мультимножеств

advertisement
РЕШЕТКА МУЛЬТИМНОЖЕСТВ
Буй Д. Б., д. ф.-м. н., с. н. с.
Киевский национальный университет имени Тараса Шевченко
e-mail: buy@unicyb.kiev.ua
Богатырёва Ю.А., аспирантка
Киевский национальный университет имени Тараса Шевченко
e-mail: jul_bogatyreva@mai.ru
Впервые понятие “мультимножество” (multiset) было предложено Н. Г. Де Брейном в частной
корреспонденции с Д. Кнутом. В 70-х годах этот термин получил широкое распространение и сейчас
является стандартным термином для обозначения совокупностей с повторениями [1, 11].
Совокупности с повторениями (коллекции) традиционно изучались в комбинаторике под названием
“сочетания с повторениями” [15, с.172]. Д. Кнут был одним из первых, кто обратил внимание на то, что
существует необходимость рассмотрения мультимножества как отдельного математического объекта. В
своей книге [3, с.536] он дает содержательное определение мультимножества и определяет операции
объединения, пересечения и сложение мультимножеств.
В [5, с.225] также приводится определение мультимножества, но в терминах табличных баз данных:
мультимножество рассматривается как совокупность кортежей, в которых возможны повторения. Кроме
того, над мультимножествами вводятся операции объединения, пересечения, разности, проекции,
декартового произведения, соединение и ряд дополнительных операций (агрегирование, группирование,
сортировка).
Д. Кнут использует мультимножества в контекстно-свободных мультиязыках. В статье [2] он говорит,
что мультиязык – это мультимножество строк.
Довольно широко мультимножества используются в SQL-подобных языках. Так, начиная со
стандарта SQL:2003, введен конструктор типа MULTISET (мультимножество), что открывает новые
возможности для применения языка, в частности, в объектном стиле [10].
В языке ограничений OCL также определен такой структурный тип, как мультимножество (Bug),
который является одним из разновидностей коллекций, и поддерживается большой набор операций над
значениями коллекционных типов (select, collect, exists, forAll, size, union,
intersect, symmetricDifference и др.) [7].
Мультимножества используются в математике, а именно в  - исчислении [3], при определении
основных понятий сетей Петри [4, 13], в задачах распознавания символов [14], а также в новой области
знаний – так называемых вычислениях на ДНК [8]. Поэтому возникает необходимость развития теории
мультимножеств.
Заметка посвящена построению решетки мультимножеств и соответствующей абстрактной решетки,
сигнатура которой состоит из операций объединения и пересечения мультимножеств.
Введем формальное определение мультимножества. Для этого обозначим чeрез N  {0,1,2,...}
множество натуральных чисел с нулем и N   {1,2,...} – множество натуральных чисел без нуля.
Пусть U – некоторое множество (в классическом канторовском понимании).
Тогда по определению мультимножество  с основой U – это функция вида:  : U  N  [3, 12].
Зафиксируем для дальнейших рассмотрений D – универсум элементов основ мультимножеств. Тогда
булеан P(D) есть универсум основ мультимножеств.
Пусть задано мультимножество  с основой U  dom  . Здесь dom  – множество первых
компонент пар, которые составляют функцию, т.е. область определения мультимножества как функции.
Характеристической функцией мультимножества  называется функция вида  : D  N , значение
которой задается следующей кусочной схемой:
 (d ), если d  dom  ,
  (d )  
0, иначе
для всех d  D [11, 12].
Очевидно, что различные мультимножества имеют разные характеристические функции, т.е. по
характеристической функции соответствующее мультимножество восстанавливается однозначно.
Введем бинарное отношение включения на мультимножествах.
Мультимножество  включается в мультимножество  (обозначается    ), если для их
характеристических функций выполняется утверждение:   (d )   (d ), d  D . Непосредственно
проверяется, что введенное отношение является частичным порядком.
Если    , то мультимножество  называется подмультимножеством мультимножества  , а
мультимножество  – надмультимножеством мультимножества  [11].
Над мультимножествами определяются аналоги стандартных операций над множествами:
объединение, пересечение, разность, симметрическая разность, дополнение и прямое произведение. Кроме
этого, существует ряд операции, которые определяются лишь над мультимножествами (т.е. эти операции
используют специфику мультимножеств) и не имеют прямых аналогов среди операций над множествами.
Примерами служaт операции сложения, произведения и умножение числа на мультимножество. Дадим
определение операций объединения и пересечения.
Операция  All мультимножествам  и  сопоставляет мультимножество   All  , значение
характеристической функции которого на произвольном аргументе d задается выражением:
max(   (d ),   (d )).
Операция  All мультимножествам  и  сопоставляет мультимножество   All  , значение
характеристической функции которого на произвольном аргументе d задается выражением:
min(  (d ),   (d )) .
Эти операции имеют стандартные свойства.
Лемма 1 (о идемпотентности, коммутативности и ассоциативности операций объединения и
пересечения). Операции  All и  All идемпотентны (т.е.   All    ,   All    для  ), коммутативны
и ассоциативны.
Доказательство вытекает из того, что теоретико-числовые операции max , min имеют те же самые
свойства.
Лемма 2 (о законах поглощения для операций объединения и пересечения). Для произвольных
мультимножеств 
и  выполняются следующие законы поглощения:   All   All     ,
  All   All     .
Доказательство вытекает из того, что теоретико-числовые операции max , min удовлетворяют своим
законам поглощения ( max ( x, min ( x, y))  x , min ( x, max ( x, y))  x ).
Понятие абстрактной решетки и решетки будем использовать в понимании [9].
Предложение 1. Алгебра A;  All ,  All
, где A – семейство мультимножеств, элементы основ
которых принадлежат D , является абстрактной решеткой.
Доказательство вытекает из лемм 1, 2.
Рассмотрим бинарное отношение       All    . Из результов общей теории решеток [9, § 5,
п. 5.1, с. 130; 15, § 8, с. 154, теорема 3] вытекает, что это бинарное отношение является частичным
порядком, и допускает следующее эквивалентное представление:       All    .
Предложение 2. Семейство мультимножеств A с частичным порядком  является решеткой, причем
sup{ ,  }    All  и inf   { ,  }    All  .
Доказательство вытекает из результатов общей теории решеток [9, § 5; 15, §8, с. 154, теорема 3].
Непосредственно проверяется, что порядок решетки  совпадает с порядком включения
мультимножеств  .
Существует еще один способ доказательства того, что семейство мультимножеств с частичным
порядком  является решеткой.
Как отмечалось выше, операции  All и  All идемпотентны, коммутативны и ассоциативны. Таким
образом, можно рассматривать две коммутативные идемпотентные полугруппы.
Используя хорошо известный результат теории решеток о связи коммутативных идемпотентных
полугрупп и полурешеток (полуструктур) [15, §8, с. 151, теорема 1], полугруппу по объединению можно
превратить в верхнюю полурешетку, а полугруппу по пересечению – в нижнюю. Соответствующие
частичные порядки верхней полурешетки и нижней полурешетки задаются выражениями:
      All    ,       All    ,
причем sup { ,  }    All  , inf { ,  }    All  .
Непосредственно проверятся, что эти порядки совпадают с порядком включения мультимножеств  .
Таким образом, семейство мультимножеств A с частичным порядком  является одновременно и
верхней, и нижней полурешеткой, т.е. решеткой.
Второй способ построения решетки мультимножеств явно не использовал законы поглощения.
Нетрудно показать в общем случае, что порядки верхней и нижней полурешеток совпадают тогда и только
тогда, когда выполняются законы поглощения.
Литература
1.
2.
3.
Wayne
D.
Blizard.
The
Development
of
Multiset
Theory.
http://projecteuclid.org/DPubS?verb=Display&version=1.0&service=UI&handle=euclid. rml/ 1204834740&page=record.
Knuth D.E. Contextual-Free Multilanguages // Theoretical Studies in Computer Science. – 1992 – P.1-13.
Барендрегт Х. Ламбда-исчисление. Его синтаксис и семантика: Пер. с англ. – М.: Мир, 1985.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Башкин
В.А.,
Ломазова
И.А.
Подобие
обобщенных
ресурсов
в
сетях
Петри.
http://lvk.cs.msu.su/files/mco2005/bashkin.pdf.
Гарсия-Молина Г., Ульман Д., Уидом Д. Системы баз данных. Полный курс.: Пер. с англ. – М.: Издательский дом
“Вильямс”, 2003.
Кнут Д. Искусство программирования. Tом 2. Получисленные алгоритмы. – М.: Издательский дом “Вильямс”, 2000
Кузнецов С.Д. Концептуальное проектирование реляционных баз данных с использованием языка UML.
ftp://ftp.dol.ru/pub/users/cgntv/download/sbornic/sbornic9/Doc13.doc.
Малинецкий Г.Г., Науменко С.А. Вычисления на ДНК. Эксперименты. Модели. Алгоритмы. Инструментальные
средства. – М., 2005. http://www.keldysh.ru/papers/2005/prep57/prep2005_57.html.
Мальцев А.И. Алгебраические системы. – М.: Наука, 1970.
Наиболее интересные новшества в стандарте SQL:2003. http://www.nestor.minsk.by/sr/2004/03/40331.html.
Петровский А.Б. Основные понятия теории мультимножеств. – М.: Едиториал УРСС, 2002.
Редько В.Н., Брона Ю.Й., Буй Д.Б., Поляков С.А. Реляційні бази даних: табличні алгебри та SQL-подібні мови. –
Киев: Видавничий дім “Академперіодика”, 2001.
Сети Петри. http://www.iacp.dvo.ru/lab_11/otchet/ot2000/pn3.html#top.
Славин
О.А.
Использование
мультимножеств
в
распознавании
символов.
ftp://ftp.dol.ru/pub/users/cgntv/download/sbornic/sbornic9/Doc13.doc.
Скорняков Л.А. Элементы алгебры. – М.: Наука, 1986.
Яблонский С.В. Введение в дискретную математику: Учеб. пособие для вузов. – 2-е изд., перераб. и доп. – М.:
Наука, 1986.
Download