Транзитивное замыкание
В математике транзитивное замыкание R + однородного бинарного отношения R на множестве X — это наименьшее отношение на X , содержащее R и транзитивное . Для конечных множеств «наименьший» можно понимать в его обычном смысле, когда имеется наименьшее количество связанных пар; для бесконечных множеств R + единственным минимальным транзитивным надмножеством R . является
Например, если X — набор аэропортов и x R y означает «есть прямой рейс из аэропорта x в аэропорт y » (для x и y в X ), то транзитивное замыкание R на X — это отношение R + такой, что x R + y означает «можно перелететь из x в y за один или несколько рейсов».
Более формально, транзитивное замыкание бинарного отношения R на множестве X — это наименьшее (по отношению к ⊆) транзитивное отношение R + на X такой, что R ⊆ R + ; см. Lidl & Pilz (1998 , стр. 337). У нас есть Р + = R тогда и только тогда, когда сам R транзитивен.
И наоборот, транзитивная редукция создает минимальное отношение S из данного отношения R такое, что они имеют одно и то же замыкание, то есть S + = Р + ; однако может существовать много разных S с этим свойством.
И транзитивное замыкание, и транзитивная редукция также используются в тесно связанной области теории графов .
Транзитивные отношения и примеры
[ редактировать ]Отношение R на множестве X является транзитивным, если для всех x , y , z в X всякий раз, когда x R y и y R z, тогда x R z . Примеры транзитивных отношений включают отношение равенства на любом множестве, отношение «меньше или равно» на любом линейно упорядоченном множестве и отношение « x родился раньше y » на множестве всех людей. Символически это можно обозначить так: если x < y и y < z, то x < z .
Одним из примеров нетранзитивного отношения является «до города x можно добраться прямым рейсом из города y » на множестве всех городов. Тот факт, что существует прямой рейс из одного города во второй город и прямой рейс из второго города в третий, не означает, что существует прямой рейс из первого города в третий. Транзитивным замыканием этого отношения является другое отношение, а именно: «существует последовательность прямых рейсов, которая начинается в городе x и заканчивается в городе y ». Каждое отношение может быть расширено аналогично транзитивному отношению.
Примером нетранзитивного отношения с менее значимым транзитивным замыканием является « x — день недели после y ». Транзитивное замыкание этого отношения таково: «когда-нибудь день x наступает после дня y в календаре», что тривиально верно для всех дней недели x и y (и, таким образом, эквивалентно декартову квадрату , который гласит: « x и y суть оба дня недели»).
Существование и описание
[ редактировать ]Для любого отношения R транзитивное замыкание R. всегда существует Чтобы убедиться в этом, заметим, что пересечение любого семейства транзитивных отношений снова транзитивно. Более того, существует хотя бы одно транзитивное отношение, содержащее , а именно тривиальное: X × X. R Транзитивное замыкание R тогда задается пересечением всех транзитивных отношений, содержащих R .
Для конечных множеств мы можем построить транзитивное замыкание шаг за шагом, начиная с R и добавляя транзитивные ребра.Это дает представление об общей конструкции. Для любого множества X мыможет доказать, что транзитивное замыкание задается следующим выражением
где - i -я степень R , определяемая индуктивно формулой
и, для ,
где обозначает композицию отношений .
Чтобы показать, что приведенное выше определение R + является наименее транзитивным отношением, содержащим R , мы показываем, что оно содержит R , что оно транзитивно и что это наименьшее множество с обеими этими характеристиками.
- : содержит все , так что в частности содержит .
- транзитивен: если , затем и для некоторых по определению . Поскольку композиция ассоциативна, ; следовательно по определению и .
- минимально, то есть если — любое транзитивное отношение, содержащее , затем : При наличии любого такого , индукция по можно использовать, чтобы показать для всех следующим образом: База: по предположению. Шаг: Если держится, и , затем и для некоторых , по определению . Следовательно, по предположению и по гипотезе индукции. Следовательно транзитивностью ; это завершает индукцию. Окончательно, для всех подразумевает по определению .
Характеристики
[ редактировать ]Пересечение двух транзитивных отношений транзитивно.
Объединение . двух транзитивных отношений не обязательно должно быть транзитивным Чтобы сохранить транзитивность, необходимо использовать транзитивное замыкание. Это происходит, например, при объединении двух отношений эквивалентности или двух предпорядков . Чтобы получить новое отношение эквивалентности или предпорядок, необходимо использовать транзитивное замыкание (рефлексивность и симметрия - в случае отношений эквивалентности - являются автоматическими).
В теории графов
[ редактировать ]В информатике концепцию транзитивного замыкания можно рассматривать как построение структуры данных, позволяющей отвечать на вопросы о достижимости . То есть можно ли перейти от узла a к узлу d за один или несколько переходов? Бинарное отношение сообщает вам только, что узел a соединен с узлом b , а узел b соединен с узлом c и т. д. После построения транзитивного замыкания, как показано на следующем рисунке, в операции O(1) можно определить, что узел d достижим из узла a . Структура данных обычно хранится в виде логической матрицы, поэтому, если матрица[1][4] = true, тогда узел 1 может достичь узла 4 через один или несколько переходов.
Транзитивное замыкание отношения смежности ориентированного ациклического графа (DAG) — это отношение достижимости DAG и строгий частичный порядок .
Транзитивное замыкание неориентированного графа создает кластерный граф , несвязное клик объединение . Построение транзитивного замыкания является эквивалентной постановкой задачи нахождения компонент графа. [1]
По логике и вычислительной сложности
[ редактировать ]Транзитивное замыкание бинарного отношения, вообще говоря, не может быть выражено в логике первого порядка (ФО).Это означает, что нельзя написать формулу с использованием символов-предикатов R и T , которая будет выполняться влюбая модель тогда и только тогда, когда T является транзитивным замыканием R .В теории конечных моделей логика первого порядка (FO), расширенная с помощью оператора транзитивного замыкания, обычно называется логикой транзитивного замыкания и сокращенно FO(TC) или просто TC. TC — это подтип логики с фиксированной точкой . Тот факт, что FO(TC) строго более выразителен, чем FO, был открыт Рональдом Феджином в 1974 году; результат был затем заново открыт Альфредом Ахо и Джеффри Уллманом в 1979 году, которые предложили использовать логику фиксированных точек в качестве языка запросов к базе данных . [2] С учетом более поздних концепций теории конечных моделей доказательство того, что FO(TC) строго более выразительно, чем FO, немедленно следует из того факта, что FO(TC) не является локальным по Гейфману . [3]
В теории сложности вычислений класс сложности NL точно соответствует множеству логических предложений, выражаемых в TC. Это связано с тем, что свойство транзитивного замыкания тесно связано с NL-полной задачей STCON для поиска направленных путей в графе. Аналогично, класс L представляет собой логику первого порядка с коммутативным транзитивным замыканием. добавляется транзитивное замыкание Когда вместо этого к логике второго порядка , мы получаем PSPACE .
В языках запросов к базе данных
[ редактировать ]С 1980-х годов в базе данных Oracle реализовано собственное SQL. расширение CONNECT BY... START WITH
это позволяет вычислить транзитивное замыкание как часть декларативного запроса. Стандарт SQL 3 (1999 г.) добавил более общий подход. WITH RECURSIVE
конструкция, также позволяющая вычислять транзитивные замыкания внутри процессора запросов; по состоянию на 2011 год последний реализован в IBM Db2 , Microsoft SQL Server , Oracle , PostgreSQL и MySQL (v8.0+). SQLite выпустил поддержку этого в 2014 году.
Datalog также реализует вычисления транзитивного замыкания. [4]
MariaDB реализует рекурсивные общие табличные выражения, которые можно использовать для вычисления транзитивных замыканий. Эта функция была представлена в версии 10.2.2 от апреля 2016 г. [5]
Алгоритмы
[ редактировать ]Эффективные алгоритмы вычисления транзитивного замыкания отношения смежности графа можно найти в Nuutila (1995) . Сведение задачи к умножению матриц смежности позволяет достичь временной сложности умножения матриц , [6] . Однако этот подход непрактичен, поскольку как постоянные факторы, так и потребление памяти для разреженных графов высоки ( Nuutila 1995 , стр. 22–23, раздел 2.3.3). Эту задачу также можно решить с помощью алгоритма Флойда–Уоршалла в или повторным поиском в ширину или поиском в глубину, начиная с каждого узла графа.
Для ориентированных графов алгоритм Пердома решает проблему, сначала вычисляя его конденсационный DAG и его транзитивное замыкание, а затем поднимая его до исходного графа. Время его выполнения , где — число ребер между его сильно связными компонентами . [7] [8] [9] [10]
Более поздние исследования изучали эффективные способы вычисления транзитивного замыкания в распределенных системах на основе парадигмы MapReduce . [11]
См. также
[ редактировать ]- Родовые отношения
- Дедуктивное замыкание
- Рефлексивное закрытие
- Симметричное закрытие
- Транзитивная редукция (наименьшее отношение, имеющее транзитивное замыкание R в качестве транзитивного замыкания)
Ссылки
[ редактировать ]- ^ Макколл, ВФ; Ношита, К. (1986), «О количестве ребер в транзитивном замыкании графа», Discrete Applied Mathematics , 15 (1): 67–73, doi : 10.1016/0166-218X(86)90020-X , МР 0856101
- ^ (Libkin 2004:vii)
- ^ (Либкин 2004:49)
- ^ (Зильбершац и др. 2010: C.3.6)
- ^ «Обзор рекурсивных общих табличных выражений» . mariadb.com.
- ^ Манро 1971 , Фишер и Мейер 1971
- ^ Пурдом-младший, Пол (март 1970 г.). «Алгоритм транзитивного замыкания». БИТ Численная математика . 10 (1): 76–94. дои : 10.1007/BF01940892 .
- ^ Пол В. Пердом младший (июль 1968 г.). Алгоритм транзитивного замыкания (Технический отчет по компьютерным наукам). Том. 33. Университет Висконсин-Мэдисон .
- ^ « Алгоритм Пердома» на AlgoWiki» .
- ^ « Транзитивное замыкание ориентированного графа» на AlgoWiki» .
- ^ (Афрати и др. 2011)
- Фото Н. Афрати , Винаяк Боркар, Майкл Кэри , Неоклис Полизотис, Джеффри Д. Ульман , Расширения Map-Reduce и рекурсивные запросы , EDBT 2011, 22–24 марта 2011 г., Уппсала, Швеция, ISBN 978-1-4503-0528-0
- Ахо, А.В .; Ульман, доктор медицинских наук (1979). «Универсальность языков поиска данных». Материалы 6-го симпозиума ACM SIGACT-SIGPLAN по принципам языков программирования - POPL '79 . стр. 110–119. дои : 10.1145/567752.567763 .
- Бенедикт, М.; Сенелларт, П. (2011). «Базы данных». В Блюме, Эдвард К.; Ахо, Альфред В. (ред.). Информатика. Аппаратное обеспечение, программное обеспечение и его суть . стр. 169–229. дои : 10.1007/978-1-4614-1168-0_10 . ISBN 978-1-4614-1167-3 .
- Хайнц-Дитер Эббингауз; Йорг Флюм (1999). Теория конечных моделей (2-е изд.). Спрингер. стр. 123–124 , 151–161, 220–235. ISBN 978-3-540-28787-2 .
- Фишер, MJ; Мейер, Арканзас (октябрь 1971 г.). «Умножение булевых матриц и транзитивное замыкание» (PDF) . В Рэймонде Э. Миллере и Джоне Э. Хопкрофте (ред.). Учеб. 12-я Энн. Симп. по теории коммутации и автоматов (SWAT) . Компьютерное общество IEEE. стр. 129–131. дои : 10.1109/SWAT.1971.4 .
- Эрих Гредель; Фокион Г. Колайтис; Леонид Либкин; Мартен Маркс; Джоэл Спенсер; Моше Ю. Варди; Иде Венема; Скотт Вайнштейн (2007). Теория конечных моделей и ее приложения . Спрингер. стр. 151–152. ISBN 978-3-540-68804-4 .
- Келлер, У., 2004, Некоторые замечания по поводу определяемости транзитивного замыкания в логике первого порядка и журнале данных (неопубликованная рукопись)* Либкин, Леонид (2004), Элементы теории конечных моделей , Springer, ISBN 978-3-540-21202-7
- Лидл, Р.; Пильц, Г. (1998), Прикладная абстрактная алгебра , Тексты для студентов по математике (2-е изд.), Springer, ISBN 0-387-98290-6
- Манро, Ян (январь 1971 г.). «Эффективное определение транзитивного замыкания ориентированного графа». Письма об обработке информации . 1 (2): 56–58. дои : 10.1016/0020-0190(71)90006-8 .
- Нуутила, Эско (1995). Эффективное вычисление транзитивных замыканий в больших орграфах . Финская технологическая академия. ISBN 951-666-451-2 . OCLC 912471702 .
- Авраам Зильбершац; Генри Корт; С. Сударшан (2010). Концепции системы баз данных (6-е изд.). МакГроу-Хилл. ISBN 978-0-07-352332-3 . Приложение C (только онлайн)
Внешние ссылки
[ редактировать ]- « Транзитивное замыкание и редукция », Репозиторий алгоритмов Стоуни-Брук, Стивен Скиена.