МатВектор

Command Palette

Search for a command to run...

🔀 Дискретка30 минСложность 2/5+65 XP

Отношения и соответствия: эквивалентность, порядок, функции

Что такое бинарное отношение, чем эквивалентность похожа на равенство, почему порядок бывает частичным и как из таблицы элементов получить классы.

2 интерактива3 квизаУрок 2 из 20Обновлено 04.10.2025Обычный

«Ваня дружит с Петей», «6 больше 4», «эти два треугольника подобны», «файл лежит в папке» — за всеми этими фразами прячется одна и та же конструкция: пара объектов и связь между ними. Дискретная математика выдирает связку из языка и учит её считать: сколько связей может быть, какими свойствами они обладают и что из этих свойств следует. Получается инструмент, без которого не строятся ни базы данных, ни графы, ни сортировки.

Декартово произведение и бинарное отношение#

В уроке о множествах мы уже строили декартово произведение: для множеств и множество — это все упорядоченные пары . Например, , , тогда — всего пар.

Бинарное отношение из в — это просто любое подмножество : . Если пара попала в , пишут и читают « находится в отношении с ». Из 6 пар произведения выше можно составить разных отношения — от пустого до полного.

Живой пример: , отношение «меньше». Оно собирается из пар — именно они удовлетворяют условию . Отношение на одном множестве (когда ) удобно рисовать стрелками между элементами — по сути, получается ориентированный граф, см. словарную статью граф.

Числовая проверка: если , то число пар в равно , а число возможных отношений на — . Уже при это отношений, при — миллиона. Поэтому с отношениями работают не перебором, а через свойства.

Как хранить отношение в компьютере? Таблицей: строки — элементы , столбцы — элементы , в ячейке 1, если пара есть в , и 0, если нет. Такая таблица называется матрицей отношения — это обычная матрица из нулей и единиц, только с особым смыслом.

Четыре свойства: рефлексивность и компания#

Отношения классифицируют по четырём базовым свойствам. Определения звучат сухо, поэтому к каждому приложим расшифровку и пример.

СвойствоФормальноСловамиПример на числах
Рефлексивностькаждый связан с самим собой,
Симметричностьсвязь работает в обе стороны, « — сосед »
Антисимметричностьдвусторонняя связь бывает только с самим собой
Транзитивностьсвязь передаётся по цепочке
Четыре базовых свойства бинарных отношений

Проверим свойства на конкретном отношении. Возьмём и = «делится на» (, если делится на ). Рефлексивность: каждое число делится на себя — есть. Антисимметричность: если делится на и на , то — есть. Транзитивность: если делится на и на , то делится на — тоже есть (например, 12 делится на 6, 6 на 3, и 12 делится на 3). Симметричности нет: 12 делится на 3, а 3 на 12 — нет. Выходит, «делится на» — рефлексивное, антисимметричное, транзитивное отношение. И это не случайный набор свойств.

  • Эквивалентность = рефлексивность + симметричность + транзитивность: «равенство с расфокусом».
  • Порядок = рефлексивность + антисимметричность + транзитивность: те же три, но средняя строже.
  • Симметричность спрашивает «а в обратную сторону?», антисимметричность — «а если в обе, то может, это один элемент?»
  • Транзитивность — мостик через посредника: если связан с , а с , то обязан быть связан с .

Эквивалентность: равенство с поправкой на задачу#

Отношение, которое рефлексивно, симметрично и транзитивно, называется отношением эквивалентности. Интуиция: это «равенство» в широком смысле — объекты считаются одинаковыми по выбранному критерию. Примеры вокруг: «жить в одном городе», «дроби равны по значению» (, хотя записи разные), «углы равны по мере».

Главный факт: отношение эквивалентности на множестве разбивает его на классы эквивалентности — непересекающиеся группы, внутри которых все элементы эквивалентны друг другу. Вместе классы покрывают всё множество. Такое разделение называется разбиением. И работает в обе стороны: всякое разбиение порождает эквивалентность «лежать в одной группе».

Числовой пример. Отношение на целых числах: числа эквивалентны, если их разность делится на 3. Проверим свойства: делится на 3 — рефлексивность; если делится на 3, то и — симметричность; суммы разностей тоже делятся на 3 — транзитивность. Классы получаются три: остаток 0 — , остаток 1 — , остаток 2 — . Множество всех целых чисел рассыпалось на три бесконечные полки.

Порядок: когда элементы можно сравнивать#

Рефлексивное, антисимметричное и транзитивное отношение называется отношением порядка (нестрогого: ). Если убрать рефлексивность и потребовать вместо антисимметричности иррефлексивность (никто не связан с самим собой), получится строгий порядок вроде . Порядок называется линейным, если любые два элемента сравнимы (числа: или — всегда), и частичным, если есть несравнимые пары.

Эталон частичного порядка — отношение включения на множествах: , но и не сравнимы ни так, ни этак. Второй пример — «является предком» в генеалогическом дереве: двоюродные братья друг другу не предки. Рисуют частичный порядок диаграммой Хассе — снизу вверх, от меньших элементов к большим. Топологическая сортировка, о которой вы услышите в курсе алгоритмов, — это вытащить из частичного порядка линейный, не нарушив стрелок.

Соответствия и функции#

Отношение из в называют ещё соответствием. Каждому соответствие ставит в пару подмножество — его образ. Соответствие, у которого образ каждого элемента состоит ровно из одного элемента, — это уже знакомая функция. Так что функция — частный случай отношения: , где у каждого ровно одна пара.

Функции делят по тому, насколько они «покрывают» :

  • Инъекция: разные элементы уходят в разные точки — никаких совпадений ( на : сдвиг не склеивает значения)
  • Сюръекция: каждый элемент чей-то образ — нет «брошенных» целей ( с на множество неотрицательных квадратов)
  • Биекция: и то и другое — взаимно однозначное соответствие, у которого есть обратная функция ( между чётными числами и всеми целыми)

Биекция — главный инструмент сравнения мощностей: два множества равномощны, если между ними есть биекция. Именно так доказывают, что натуральных чисел «столько же», сколько целых, и что существуют разные бесконечности. Конечный частный случай вы уже считали: биекция между и существует, когда .

Свойства отношений понадобятся дальше повсюду: отношение достижимости в графах транзитивно, а кванторы, которыми записывают определения вроде , подробно разбираются в логике предикатов. Потренироваться в подсчёте вариантов полезно в тренажёре комбинаторики — там, в частности, встречаются задачи на разбиения множеств.

Проверь себя+15 XP

Отношение « — брат » на множестве людей: симметрично ли оно?

Проверь себя+15 XP

Сколько классов эквивалентности даёт отношение на целых числах?

Проверь себя+15 XP

На множестве задано . Какие свойства оно имеет?

Частые вопросы

Чем отношение отличается от функции?

Функция — специальное отношение: каждому элементу области определения соответствует ровно один образ. Обычное отношение может ставить в пару несколько элементов или ни одного. Например, « — родитель » — отношение, но не функция (детей может быть много), а « — мама » — уже функция.

Как быстро проверить транзитивность по матрице отношения?

Для каждой единицы в матрице сравните строку и столбец: если и , то обязан быть единицей. На практике проверяют булево умножение матрицы на себя: единицы произведения не должны попадать в нули исходной матрицы.

Обязательно ли эквивалентность даёт конечное число классов?

Нет. Отношение «иметь одинаковую зарплату» на всех работниках мира даёт очень много классов, а «сравнимы по модулю 3» — ровно три. Число классов называют индексом разбиения; он может быть любым конечным или бесконечным.

Где в реальном программировании используются эти свойства?

Рефлексивность и транзитивность неявно требуются в любых сравнениях, на которых строятся сортировки: если компаратор их нарушает, алгоритмы сортировки дают мусор. Классы эквивалентности — это группировки и дедупликация данных, а частичный порядок — разрешение зависимостей между пакетами и задачами сборки.

Готовитесь к контрольной?

Чеклист тем по «Дискретка»: что вы уже умеете, что повторить и в каком порядке.

Открыть чеклист предмета →

Проверьте себя в бою

Босс-экзамен по «Дискретка»: квизы всех уроков плюс бесконечный поток сгенерированных задач. Каждая попытка — новый расклад.

Начать босс-экзамен →