что понимают под множеством
Множество
Мно́жество — одно из ключевых понятий математики, в частности, теории множеств и логики.
Понятие множества обычно принимается за одно из исходных (аксиоматических) понятий, то есть не сводимое к другим понятиям, а значит, и не имеющее определения. Однако, можно дать описание множества, например, в формулировке Георга Кантора:
Под «множеством» мы понимаем соединение в некое целое M определённых хорошо различимых предметов m нашего созерцания или нашего мышления (которые будут называться «элементами» множества M).
Unter einer ‚Menge‘ verstehen wir jede Zusammenfassung M von bestimmten wohlunterschiedenen Objecten m unsrer Anschauung oder unseres Denkens (welche die ‚Elemente‘ von M genannt werden) zu einem Ganzen.
— Георг Кантор, «К обоснованию учения о трансфинитных множествах»
(нем. «Beiträge zur Begründung der transfiniten Mengenlehre» ) [1]
Другая формулировка принадлежит Бертрану Расселлу: «Множество есть совокупность различных элементов, мыслимая как единое целое». Также возможно косвенное определение через аксиомы теории множеств.
Множество может быть замкнутым и незамкнутым, полным и пустым, упорядоченным и неупорядоченным, счётным и несчётным, конечным и бесконечным. Более того, как в наивной, так и в формальной теориях множеств любой объект обычно считается множеством.
Содержание
История теории множеств
До XIX века математиками рассматривались в основном конечные множества.
Основы теории конечных и бесконечных множеств были заложены Бернардом Больцано, который сформулировал некоторые из её принципов.
С 1872 г. по 1897 г. (главным образом в 1872—1884 гг.) Георг Кантор опубликовал ряд работ, в которых были систематически изложены основные разделы теории множеств, включая теорию точечных множеств и теорию трансфинитных чисел (кардинальных и порядковых). В этих работах он не только ввёл основные понятия теории множеств, но и обогатил математику рассуждениями нового типа, которые применил для доказательства теорем теории множеств, в частности впервые к бесконечным множествам. Поэтому общепризнано, что теорию множеств создал Георг Кантор.
В частности Георг Кантор определил множество как «единое имя для совокупности всех объектов, обладающих данным свойством». Эти объекты назвал элементами множества. Множество объектов, обладающих свойством , обозначил
. Если некоторое множество
, то
назвал характеристическим свойством множества
.
Эта концепция привела к парадоксам, в частности, к парадоксу Рассела.
Так как теория множеств фактически используется как основание и язык всех современных математических теорий в 1908 г. теория множеств была аксиоматизирована независимо Бертраном Расселем и Эрнстом Цермело. В дальнейшем многие исследователи пересматривали и изменяли обе системы, в основном сохранив их характер. До сих пор они всё ещё известны как теория типов Рассела и теория множеств Цермело. В настоящее время, теорию множеств Кантора принято называть наивной теорией множеств, а вновь построенную аксиоматической теорией множеств.
На сегодняшний день множество определяется как модель, удовлетворяющая аксиомам ZFC (аксиомы Цермело — Френкеля с аксиомой выбора). При таком подходе в некоторых математических теориях возникают совокупности объектов, которые не являются множествами. Такие совокупности называются классами (различных порядков).
Элемент множества
Объекты, из которых состоит множество, называют элементами множества или точками множества. Множества чаще всего обозначают заглавными буквами латинского алфавита, его элементы — строчными. Если а — элемент множества А, то записывают а ∈ А (а принадлежит А). Если а не является элементом множества А, то записывают а ∉ А (а не принадлежит А). В отличие от мультимножества каждый элемент множества уникален, и в множестве не может быть двух идентичных элементов. Иначе говоря, добавление к множеству элементов, идентичных уже принадлежащим множеству, не меняет его: <6, 11>= <11, 6>= <11, 11, 6, 11, 6>.
Некоторые виды множеств и сходных объектов
Специальные множества
Сходные объекты
По иерархии
Отношения между множествами
Два множества и
могут вступать друг с другом в различные отношения.
Множества: понятие, определение, примеры
Множеством называется собрание, совокупность, коллекция вещей, объединенных по какому-либо признаку или по какому-либо правилу. Понятие множества возникает путем абстракции. Рассматривая какую-либо совокупность предметов как множество, отвлекаются от всех связей и соотношений между различными предметами, составляющими множества, но сохраняют за предметами их индивидуальные черты. Таким образом, множество, состоящее из пяти монет, и множество, состоящее из пяти яблок, — это разные множества. С другой стороны, множество из пяти монет, расположенных по кругу, и множество из тех же монет, положенных одна на другую, — это одно и то же множество.
Приведем несколько примеров множеств. Можно говорить о множестве песчинок, составляющих кучу песка, о множестве всех планет нашей солнечной системы, о множестве всех людей, находящихся в данный момент в каком-либо доме, о множестве всех страниц этой книги. В математике тоже постоянно встречаются различные множества, например множество всех корней заданного уравнения, множество всех натуральных чисел, множество всех точек на прямой и т. д.
Математическая дисциплина, изучающая общие свойства множеств, т. е. свойства множеств, не зависящие от природы составляющих их предметов, называется теорией множеств. Эта дисциплина начала бурно развиваться в конце XIX и начале XX в. Основатель научной теории множеств — немецкий математик Г. Кантор.
Работы Кантора по теории множеств выросли из рассмотрения вопросов сходимости тригонометрических рядов. Это весьма обычное явление: очень часто рассмотрение конкретных математических задач ведет к построению весьма абстрактных и общих теорий. Значение таких абстрактных построений определяется тем, что они оказываются связанными не только с той конкретной задачей, из которой они выросли, но имеют приложения и в ряде других вопросов. В частности, именно так обстоит дело и с теорией множеств. Идеи и понятия теории множеств проникли буквально во все разделы математики и существенно изменили ее лицо. Поэтому нельзя получить правильного представления о современной математике, не познакомившись с элементами теории множеств. Особенно большое значение имеет теория множеств для теории функций действительного переменного.
Множество считается заданным, если относительно любого предмета можно сказать, принадлежит он множеству или не принадлежит. Иными словами, множество вполне определяется заданием всех принадлежащих ему предметов. Если множество \(M\) состоит из предметов \(a,\,b,\,c,\,\ldots\) и только из этих предметов, то пишут
Объединение или сумма множеств
При этом, даже если элемент \(x\) принадлежит нескольким слагаемым, то он входит в сумму \(M\) лишь один раз. Ясно, что
Пересечение множеств
Читателю рекомендуется доказать, что сумма и пересечение множеств связаны обычным распределительным законом
Разность множеств
Нетрудно показать, что всегда
Таким образом, правила действий над множествами значительно отличаются от обычных правил арифметики.
Конечные и бесконечные множества
Множества, состоящие из конечного числа элементов, называются конечными множествами. Если же число элементов множества неограниченно, то такое множество называется бесконечным. Например, множество всех натуральных чисел бесконечно.
Рассмотрим два каких-либо множества \(M\) и \(N\) и поставим вопрос о том, одинаково или нет количество элементов в этих множествах.
Однако, если оба множества \(M\) и \(N\) бесконечны, то путь простого счета элементов ничего не дает. Поэтому сразу возникают такие вопросы: все ли бесконечные множества имеют одинаковое количество элементов, или же существуют бесконечные множества с большим и меньшим количеством элементов? Если верно второе, то каким способом можно сравнивать между собой количество элементов в бесконечных множествах? Этими вопросами мы теперь и займемся.
Взаимно однозначное соответствие множеств
Пусть в зале находится некоторое число людей и некоторое число стульев. Чтобы узнать, чего больше, достаточно попросить людей занять места. Если кто-нибудь остался без места, значит, людей больше, а если, скажем, все сидят и заняты все места, то людей столько же, сколько стульев. Описанный способ сравнения количества элементов во множествах имеет то преимущество перед непосредственным счетом элементов, что он без особых изменений применяется не только к конечным, но и к бесконечным множествам.
Рассмотрим множество всех натуральных чисел
Какое множество содержит больше элементов? На первый взгляд кажется, что первое. Однако мы можем образовать из элементов этих множеств пары, как указано ниже.
Ни один элемент \(M\) и ни один элемент \(N\) не остается без пары. Правда, мы могли бы также образовать пары и так:
Тогда многие элементы из \(M\) остаются без пар. С другой стороны, мы могли бы составить пары и так:
Таким образом, мы получили ответ на один из поставленных выше вопросов: как сравнивать между собой количество элементов в бесконечных множествах. Однако это нисколько не приблизило нас к ответу на другой вопрос: существуют ли вообще бесконечные множества. имеющие различные мощности? Чтобы получить ответ на этот вопрос, исследуем некоторые простейшие типы бесконечных множеств.
Счетные множества. Если можно установить взаимно однозначное соответствие между элементами множества \(A\) и элементами множества всех натуральных чисел
Таблица 1 показывает, что множество всех четных чисел счетно (верхнее число рассматривается теперь как номер соответствующего нижнего числа).
Счетные множества это, так сказать, самые маленькие из бесконечных множеств: во всяком бесконечном множестве содержится счетное подмножество.
Если два непустых конечных множества не пересекаются, то их сумма содержит больше элементов, чем каждое из слагаемых. Для бесконечных множеств это правило может и не выполняться. В самом деле, пусть \(G\) есть множество всех четных чисел, \(H\) — множество всех нечетных чисел и \(Z\) — множество всех натуральных чисел. Как показывает таблица 4, множества \(G\) и \(H\) счетны. Однако множество \(Z=G+H\) вновь счетно.
Нарушение правила «целое больше части» для бесконечных множеств показывает, что свойства бесконечных множеств качественно отличны от свойств конечных множеств. Переход от конечного к бесконечному сопровождается в полном согласии с известным положением диалектики — качественным изменением свойств.
Здесь в первой строке помещены все натуральные числа в порядке их возрастания, во второй строке 0 и целые отрицательные числа в порядке их убывания, в третьей строке — положительные несократимые дроби со знаменателем 2 в порядке их возрастания, в четвертой строке — отрицательные несократимые дроби со знаменателем 2 в порядке их убывания и т. д. Ясно, что каждое рациональное число один и только один раз находится в этой таблице. Перенумеруем теперь
все числа этой таблицы в том порядке, как это указано стрелками. Тогда все рациональные числа разместятся в порядке одной последовательности:
Этим установлено взаимно однозначное соответствие между всеми рациональными числами и всеми натуральными числами. Поэтому множество всех рациональных чисел счетно.
Множества мощности континуума
Из рис. 1 видно, что множество точек любого отрезка \(AB\) имеет мощность континуума. Здесь взаимно однозначное соответствие устанавливается геометрически, посредством проектирования.
Нетрудно показать, что множества точек любого интервала \(x\in[a,b]\) и всей числовой прямой \(x\in[-\infty,+\infty]\) — имеют мощность континуума.
Значительно более интересен такой факт: множество точек квадрата \(0\leqslant x\leqslant1,\) \(0\leqslant y\leqslant1\) имеет мощность континуума. Таким образом, грубо говоря, в квадрате «столько же» точек, сколько и в отрезке.
Теория множеств: основы и базовые операции над множествами
Мы знаем довольно много о структурах данных, понимаем их устройство, разбираемся, какие структуры работают быстро и помогают решать конкретные задачи. Но эти знания бесполезны, если мы не понимаем, как это использовать в реальной жизни. Это похоже на изучение геометрии в школе. Вы долго считаете предмет бесполезным, пока однажды не появляется необходимость рассчитать площадь пола, чтобы заказать новое ковровое покрытие. Впрочем, пользу геометрии можно почувствовать, даже если вы никогда не считали площадь пола в комнате самостоятельно.
Сегодня поговорим о структуре данных, которая в теории очень догматична, а на практике очень популярна. На самом деле вы так или иначе уже сталкивались с этой структурой, а также слышали о ней на уроках математики в школе. Вы уже догадались, что речь идёт о множествах.
Теория множеств без страха
Прежде чем разбирать устройство множеств, давайте поймём, откуда они появляются. То есть давайте сразу погрузимся в теорию — да-да, в теорию множеств! Не бойтесь сложностей — высока вероятность того, что вы уже так или иначе использовали эту теорию. Возможно, вы сталкивались с теорией множеств, когда проходили в школе диаграмму Венна. Диаграмму Венна включили в программу изучения множеств, так как она хорошо иллюстрирует отношения подмножеств.
Мы выяснили, что теория множеств не должна никого пугать. Теперь пришло время разобраться, что это за теория на самом деле. Множество — математическая концепция. Теорией множеств описывают отношения множеств.
Множество — ни что иное, как неупорядоченная коллекция, в которой нет дублирующихся элементов.
В этом определении есть три важных слова: «неупорядоченная», «дублирующихся» и «элементов». Эти слова точно передают суть и устройство множества. Если мы это запомним, то будем знать основную информацию о том, как работает эта структура данных.
Нужно понять, почему это важно. Для начала давайте посмотрим на множества в действии. Как сказано выше, отношения множеств удачно иллюстрирует диаграмма Венна. Давайте взглянем на два множества: книги, которые есть у человека дома, и книги, которые этот человек прочитал.
Если вы знакомы с диаграммой Венна, то понимаете, что в центре в зелёном круге находятся книги, которыми человек владеет, и которые он прочитал. Здесь множества пересекаются. Также вы понимаете, что два множества — прочитанные человеком книги и книги, которые есть у человека — существуют внутри другого множества. Это все существующие в мире книги.
Диаграмма Венна — хорошая база для понимания теории множеств, так как с её помощью легче понять более сложные вещи. Допустим, вы хотите представить два множества книг в какой-то структуре данных. Вы уже знаете, что книги надо разделить на два множества: которые человек прочитал и которые есть у него дома. Для удобства назовём первое множество Set X, а второе Set Y. Эти множества после реконфигурации в структуры данных можно представить с помощью диаграммы Венна.
Можно заметить, что множества Set X и Set Y стали похожи на объекты или хэши: элементы внутри них не имеют индексов или других элементов, позволяющих их упорядочить. В них также нет повторяющихся элементов, что делает эти структуры данных множествами. Как вы уже знаете, множество — это коллекция неупорядоченных элементов, которые не повторяются.
Начните изучать разработку с бесплатного курса «Основы современной вёрстки». Вы научитесь создавать статические веб-страницы, стилизовать элементы, использовать редакторы кода с полезными расширениями. В конце курса вы опубликуете свой первый сайт на GitHub Pages.
Об операциях с множествами без боли
Какие возможности открывает представление множеств в формате структур данных? С ними теперь можно выполнять разные операции. Две самые важные операции, которые выполняются над множествами — это пересечение и объединение.
Пересечение множеств часто записывается с помощью такой нотации: X ∩ Y. Пересечение определяет, где два множества пересекаются. Другими словами, эта операция возвращает все элементы, которые входят в два множества. В нашем примере пересечение Set X и Set Y возвращает все книги, которые человек читал и которые есть у него дома. Хороший ключ к пониманию пересечения — ключевое слово «и». Мы получаем книги, которые человек читал и которые есть у него дома. Несмотря на то, что полученные с помощью пересечения книги существуют в двух множествах, мы не повторяем их, так как в множестве могут быть только уникальные элементы.
Объединение двух множеств обозначается так: X ∪ Y. Объединение возвращает общность двух множеств или объединённое множество. Иными словами, с помощью объединения множеств можно получить новое множество элементов, которые существуют хотя бы в одном исходном множестве. В нашем случае объединение вернёт все книги, которые человек читал, а также все книги, которые есть у него дома. Обратите внимание, если книга входит одновременно в Set X и Set Y, она не может дублироваться в новом множестве после объединения, так как в множества входят только уникальные элементы.
С помощью диаграммы Венна пересечение и объединение можно представить так:
Теперь давайте рассмотрим более сложные вещи. Объединение и пересечение — важные операции над множествами, но это только азы теории. Нам надо познакомиться с другими операциями, чтобы решать более серьёзные задачи. Важно понимать разность множеств и относительные дополнения множеств. Ниже мы разберём, почему это важные операции, но сначала нужно понять, как они работают.
Как понятно из названия, разность множеств определяет разницу между множествами. Иными словами, мы определяем, какие элементы останутся в множестве X, если удалить из него все элементы, которые содержатся в множестве Y. Это действие можно обозначить так: X — Y. В примере на иллюстрации ниже разница между множеством X и множеством Y — это элементы, которые существуют в Set X, но не существуют в Set Y. Они обозначены буквами C, Z и W.
Относительное дополнение — противоположность разности множеств. Например, относительное дополнение Y по сравнению с X возвращает все элементы множества Y, которые не входят в множество X. Относительное дополнение можно обозначить так: X \ Y. Относительное дополнение X \ Y фактически возвращает такой же набор элементов, как разность Y — X. В нашем примере множество Y меньше множества X. Единственный элемент, который входит в Set Y, но не входит в Set X — число 2.
По сути, мы просто вычитаем множество X из множества Y и отвечаем на вопрос: что существует в Y, чего нет в X?
Вы могли заметить, что в части примеров мы имеем дело со строками, в другой части в качестве элементов выступают буквы и числа. Здесь надо подчеркнуть важный момент: множество может включать любой тип элементов или объектов. Вы можете рассматривать множества как хэши: они включают любые сущности, если те встречаются во множестве только один раз.
Теперь давайте рассмотрим ещё одну операцию, она самая сложная из всех. Но не пугайтесь, с ней тоже можно разобраться.
В некоторых случаях требуется найти противоположность пересечению множеств. Иными словами, речь идёт о книгах, которые есть у человека, и книгах, которые он прочитал, но которые не входят одновременно в оба множества. Как назвать это подмножество? И как найти его?
Правильное название для этого кейса — симметрическая разность множеств. Также употребляют термины «дизъюнктивное объединение» и «несвязное объединение». Симметрическая разность возвращает все элементы, которые входят в одно из множеств, но не входят в пересечение этих множеств. Пример на иллюстрации поможет разобраться с дизъюнктивным объединением.
В примере выше симметрическая разность похожа на поиск относительного дополнения множества X и множества Y. Если подходить к этому с позиции математики, поиск симметричной разницы — то же самое, что и объединение относительных дополнений множества X и множества Y. Эту операцию можно записать так: X △ Y= (X ∖ Y) ∪ (Y ∖ X).
Но не дайте сбить себя с толку!
Всё, что нужно для поиска симметрической разности — найти элементы, которые есть в множестве X, но отсутствуют в множестве Y, и какие элементы есть в множестве Y, но отсутствуют в множестве X. Иными словами, надо найти уникальные элементы в каждом множестве.
В примере выше числа 1, 2 и 3 входят в множества X и Y одновременно. А буквы A, B, C, X, Y, Z входят только в множества X или Y. Поэтому они представляют симметрическую разность множеств X и Y.
Мы рассмотрели теоретические вопросы. Теперь можно посмотреть, как теория множеств работает на практике.
Множества вокруг нас
К этому моменту вы наверняка задумались, зачем надо изучать теорию множеств. Это хороший вопрос, и пришло время ответить на него.
Уже догадались? Множества повсюду. Это структуры данных, которые мы можем использовать при работе с разными языками программирования, например, Python, Java, Ruby, JavaScript и так далее. Если вы знакомы с этими или другими языками программирования, то уже вспомнили методы, которые позволяют работать с множествами.
Вот пример на JavaScript.
Очевидно, что имена методов могут меняться в зависимости от языка. Например, метод has из примера выше в Ruby называется include?, но эти методы работают практически одинаково. А в Python при работе с множествами можно использовать методы intersection, union и symmetric_difference.
Но в чём именно польза множеств? Понятно, что с ними можно работать в разных языках программирования, но зачем это нужно на практике?
Один из моментов — множества могут сэкономить вам много времени. Помните все эти сложные операции — intersection, union, difference? Уже догадались? Продолжительность выполнения этих операций зависит от размера множеств. Это связано с тем, что для выполнения операций нам надо обойти все элементы множества. Обычно даже гигантские множества можно обойти достаточно быстро.
Но как насчёт основных операций? Как насчёт добавления элементов в одно из множеств, удаления элементов, поиска конкретного элемента в множестве? Все эти операции выполняются за константное время или 0(1). Это очень мощный инструмент, и это значит, что множества могут быть даже более удобной структурой данных, чем словарь или хэш.
Но подождите, почему все операции с множествами выполняются так быстро? Как это возможно? Как оказалось, под капотом множества представляют собой хэши. Теперь вся информация собирается воедино. С хэш-таблицами знакомо большинство программистов, но почему с их помощью так удобно реализовывать множества?
Это возможно благодаря нескольким факторам. Первый: в хэш-таблицах каждый элемент всегда имеет уникальный индекс. Это очень хорошо с точки зрения реализации множеств, так как множества могут включать только уникальные элементы. Второй фактор: в хэш-таблицах порядок элементов не имеет значения. В множествах порядок элементов тоже не имеет значения. Наконец, хэш-таблицы обеспечивют константное время доступа 0(1). Это идеально для выполнения базовых операций с множествами.
Заключение
Теория множеств используется в разных областях computer science. Это важная для программистов концепция, понимание которой помогает разработчикам эффективно работать с данными.
Адаптированный перевод статьи Set Theory: the Method To Database Madness by Vaidehi Joshi.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях.
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.