РЕШЕТКА МУЛЬТИМНОЖЕСТВ Буй Д. Б., д. ф.-м. н., с. н. с. Киевский национальный университет имени Тараса Шевченко 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.