Каждое конкретное отношение обладает сразу совокупностью свойств. Полезно исследовать группы отношений, у которых совокупности свойств одинаковые.
Прежде всего к таковым относятся отношения ЭКВИВАЛЕНТНОСТИ. Это отношения, которые одновременно обладают свойствами рефлексивности, симметричности и транзитивности. Отношение «равенства» чисел – самый простой пример эквивалентности. Или «учиться в одной студенческой группе».
Интересно, что каждый об'ект эквивалентен сам себе хотя бы потому, что для самого невероятного об'екта, который ни на что не похож, по отношении к самому себе выполняются рефлексивность, симметричность и транзитивность. Обычно же об'екты не столь уникальны и имеют место множества (любят говорить КЛАССЫ) эквивалентных между собой об'ектов.
Самое важное свойство отношения эквивалентности (то есть свойство отношения, которое само определено с помощью трех вышеупомянутых свойств) покажем на примере. Если взять первозданный хаос, то есть все множество студентов университета, которые болтаются по коридорам, сидят в буфете или в аудиториях, а еще лучше дома или вообще неизвестно где, то отношение «учиться в одной группе» РАЗБИВАЕТ это множество на подмножества-группы. Каждый студент принадлежит какой-то группе и не может принадлежать сразу двум. (В реальной жизни возможны исключения из этих очевидных свойств, но мы по умолчанию рассматриваем лишь нормальных студентов).
В качестве лабораторной работы по разбиению рекомендуется разбить тарелку. Желательно, из китайского фарфора. А потом созерцать осколки, каждый из которых будет для фарфоринок классом эквивалентности применительно к отношению «принадлежать одному и тому же осколку»… Это лучше, чем разбивать группы, тем более, что ортодоксальные алгебраисты под «группой» понимают не кучу студентов, а нечто фундаментальное математическое… Но это уже начало другой романтической истории про молоденького французского гения и (увы) дуэлянта – Эвариста Галуа.
Заметную роль в математике играют и отношения ПОРЯДКА, обладающие свойствами транзитивности и антисимметричности. Нарушение любого из них нарушает порядок не только с точки зрения математики, но и здравого смысла.
Примеры. «Быть больше» на множестве чисел, «быть после» в очереди, «быть старше по званию» в армии.
Дополнительно, если порядки обладают свойством полноты, то их называют СОВЕРШЕННЫМИ. Например, «больше», на множестве действительных чисел.
Если отношение еще и рефлексивно, то порядок называют НЕСТРОГИМ (ЧАСТИЧНЫМ). Например, «выть выше или равного роста». А предыдущие три примера – это отношения СТРОГОГО (ЛИНЕЙНОГО) порядка, поскольку в них имеет место антирефлексивность.
Отрадно то, что теоретико-множественные отношения порядка как правило совпадают с житейским представлением об упорядочении. Но не всегда. Знаменитое отношение «быть братом» с одной стороны очень похоже на отношение порядка. Иван брат Марьи, но Марья не брат Петра – вроде(!) антирефлексивность. Если Иван брат Петра, а Петр брат Марьи, то Иван брат Марьи. Вроде бы(!) транзитивность. Но, если Иван брат Петра, то и Петр брать Ивана – то есть с анитисимметричностью все-таки не получается. Хуже того, если Иван брат Петра, а Петр брать Ивана, то по свойству транзитивности придем к заключению, что Иван брат Ивана. А чтобы не возникал такой абсурдный результат, отношение «быть братом» признается нетранзитивным.
Более интересными являются другие отношения, очень похожие на отношения порядка. Например, «быть немного выше ростом». Это антисимметричное, но нетранзитивное отношение. Иван немного выше ростом Петра, Петро немного выше ростом Егора. Но Иван намного выше ростом Егора. Отношения, похожие на отношения порядка, но не обладающие свойством транзитивности, называют отношениями ТОЛЕРАНТНОСТИ. Хорошей иллюстрацией этого отношения служат многие известные картинки Эшера, где, например, ящерицы «плавно» превращаются в птиц и т.п.
Отношения частичного порядка, то есть рефлексивные, антисимметричные и транзитивные, на которые накладывают ряд дополнительных свойств, изучаются в рамках раздела математики с экзотическим названием ТЕОРИЯ РЕШЕТОК. Это название пугает, поэтому в нашей стране первоначально слово lattice переводили как "структура". Но когда в математике все шире стал употребляться термин structure, то пришлось ему отдать русское слово структура, а решетки стали и у нас в стране решетками.
Можно предположить, что название «решетки» возникло в связи с использованием так называемых диаграмм Хассе, которые может и напоминают экстравагантные решетки для окон… Но мы договорились без формул, а тем более без рисунков. Рисунки, в отличие от формул, народ любит. Но рисовать картинки в Ворде еще противнее, чем формулы, поэтому постараемся, насколько, конечно, возможно, компенсировать и их красноречием…
Начнем с примеров решеток.
Возьмем слова: о, ор, вор, ворот, кол, олово, коловорот, и упорядочим их по вхождению одних слов в другие (не забывая, что каждое слово входит в само себя). Это будет наша первая решетка.
Можно убедиться, что здесь выполняются все свойства частичного порядка. А о дополнительных свойствах поговорим позже.
Числа: 1, 2, 3, 4, 6, 9, 12, 18, 36 с отношением делить нацело, так же образуют решетку.
Обычные действительные числа с отношением «больше или равно» дают одну из самых распространенных решеток. Хотя для нас она менее экзотическая. Можно сказать, простая как бревно…
Множество всех подмножеств какого-то множества с отношением включения также дает решетку, причем, с рядом замечательных свойств.
Для определения решетки договоримся называть элемент НАИБОЛЬШИМ (НАИМЕНЬШИМ), если он больше (меньше) любого другого элемента частично-упорядоченного множества – кратко ЧУМ. За математиками иногда можно заметить педантичность до занудства, а иногда непонятную приблизительность. Строже и точнее было бы здесь и далее, вопреки сложившейся традиции, применительно к ЧУМ, обладающим свойством рефлексивности, говорить «больше или равно» "НАИБОЛЬШИЙ ИЛИ РАВНЫЙ" и т.п. Но мы тоже будем говорить кратко «больше», подразумевая эти более длинные и точные словосочетания. Наибольший элемент, если таковой существует – единственный. На то он и наибольший. С наименьшим все аналогично.
МАКСИМАЛЬНЫМ (МИНИМАЛЬНЫМ) называется элемент ЧУМ, больше (меньше) которого в этом множестве нет элементов. На первый взгляд это определение повторяет предыдущее. Но максимальных элементов в ЧУМ может быть и несколько. Если рассматривать современный мир, упорядоченный по этажам власти, то все главы государств «максимальны», но каждый в своей стране, поскольку главнее его нет. Но каждый из них не главнее другого главы. Главы всей планеты не существует и даже Генсек ООН его не заменит. Если бы, следуя фантастическим романам, существовал глава Земли, то он был бы и максимальным и наибольшим элементом.
Если, далее, возьмем множество студентов потока и наведем в нем частичный порядок. Имеется в виду не «всеми доступными средствами», а лишь отношением «учится лучше (или одинаково)», считая, что ради такого дела можно для любых двух студентов решить, который лучше… Из этого множества выделим группу ух-005 и найдем студентов потока, которые учатся лучше всех студентов группы ух-005. То есть найдем на потоке студентов, «наибольших» для этой группы. Таких студентов может оказаться несколько, если только «наибольший» студент группы не является одновременно наибольшим элементом всего потока. Такое множество наибольших элементов называется множеством МАЖОРАНТ. Рассматривая наименьших студентов, получим множество МИНОРАНТ. А теперь в самом множестве мажорант (минорант) найдем наименьший (наибольший) элемент [это не опечатка!]. Для данного примера это будут лучший и худший студенты самой группы ух-005. Такие элементы называются соответственно СУПРЕМУМ и ИНФИМУМ. Или кратко, sup и inf.
Для множества чисел 1, 2, 3, 4, 6, 9, 12, 18, 36 с отношением делить, возьмем подмножество чисел 3, 6, 9. Для него множество мажорант будет 12, 36. Множество минорант – 3, 1. супремум – 12, инфимум – 3.
РЕШЕТКОЙ называется ЧУМ, в котором для любого непустого подмножества существуют супремум и инфимум.
Решетки, которые получаются как множества подмножеств данного конечного множества, с отношением включения, относятся к БУЛЕВЫМ РЕШЕТКАМ. Для тех, кто знают про булеву алгебру, добавим, что традиционная булева алгебра есть решетка из двух элементов: «истина», «ложь», с отношением порядка «более истинный».
Определить решетку можно и «алгебраически». Если для элементов множества с отношением частичного порядка (частично-упорядоченным множеством) выполняются законы коммутативный, ассоциативный, поглощения и идемпотентности, то такое частично-упорядоченное множество называется решеткой.
Если, кроме того, выполняется дистрибутивный закон – то решетка называется дистрибутивной.
Тут уж поверьте на слово – с помощью решеток решен ряд важных проблем. В том числе и теоретического программирования.