Введение в топологические пространства. Программирование конечных топологий на Java
Я долго думал о том, чтобы выбрать какой-либо математический объект, интересный не только с точки зрения дискретной математики, но и функционального анализа, и попытаться запрограммировать его.
Этим объектом стали так называемые топологические пространства. Естественно, конечный объём представления объектов в памяти компьютера не позволяет с абсолютной точностью смоделировать имеющиеся в математике топологические пространства, а значит, остаётся довольствоваться конечными топологиями.
К счастью, это один из тех объектов, для которых конечность не только позволяет оперировать стандартными математическими понятиями, но и упрощает некоторые из них. Тем более довольно интересно исследовать объекты, для которых у нас нет никакой возможности померить расстояние между точками. Да, да, вы не ослышались. В общей топологии такой возможности у нас нет.
Но обо всём по порядку.
Определение
Сперва дадим классическое определение топологического пространства.
Произвольное число множеств в данном случае означает, что мы можем брать также объединения счётного или даже несчётного числа множеств. Естественно, это имеет смысл только в случае бесконечных множеств.
Как я уже говорил, в компьютере всё конечно. Как изменится наше определение топологии, если мы предположим, что X — конечное множество.
Слово «конечная» в дальнейшем для удобства будем опускать. Заметим, что топология представляет собой множество множеств. К сожалению, стандартные классы для множества, представленные в языке Java, меня не устроили, главным образом тем, что операции объединения и пересечения в интерфейсе Set меняют объект множества, а мне необходимо. чтобы объект менялся только тогда, когда к нему добавляют элементы.
Поэтому я создал следующий класс для представления множеств на основе связного списка.
Этот класс является основным кирпичом для построения конечной топологии. Теперь перейдём к самой топологии. До сих пор я говорил только о ней, но не сказал, что такое топологическое пространство. Это пара (X,τ) множества и его топологии.
Поэтому задаток класса выглядит следующим образом (Я хочу, чтобы множество состояло из целых чисел, но благодаря использованию родовых классов вы легко подправите код под произвольный тип).
Теперь возникает вопрос, как должен выглядеть конструктор топологии. Заметим, что топология — это всегда система подмножеств множества X.
Итак, а вот и первое самостоятельное задание Вам, уважаемый читатель. Докажите следующее утверждение:
Пусть X — произвольное множество. Тогда система τ, состоящая из пустого множества и множества X образует топологию.
Это было несложно, верно? Данная топология называется тривиальной. Так что давайте всегда создавать тривиальную топологию в начале использования, добавляя нужные множества позднее с помощью метода add суперкласса.
Но это ещё не всё. Добавили мы какой-то элемент в топологию. А осталась ли она топологией от добавления элемента или нет? Проверку на выполнение второго и третьего свойств написать несложно, но вопрос состоит в том, где её написать. Мы не можем вызывать её при добавлении элемента, поскольку тогда мы не сможем получить хорошую топологию из-за вывода ошибки «Ай-ай, это не топология». Значит, на этапе создания надо на время «простить» эту ошибку, а уже потом устроить ей хороший пинок: добавим в класс флажок и метод проверки
Но это была всего лишь разминка. Теперь дадим ещё несколько определений.
Множества, входящие в топологию τ называются открытыми.
Множества, дополнительные к открытым, называются замкнутым.
Большинство студентов на этом путаются. Вот вам следующее задание:
Естественно, проверка этих двух свойств осуществляется следующими методами:
Исключения выбрасываются, если система не образует топологию, либо переданное множество не является подмножеством X топологического пространства.
Если вы проскочили через прошлую задачу, не попытавшись её решить, то вы удивитесь, почему второй метод не вызывается через первый. А если решили, то поймёте.
Далее, надо ввести понятие окрестности.
Окрестностью точки x называется любое открытое множество, содержащее x
Окрестностью множества M называется любое открытое множество G, содержащее M
Задача 3. Пусть дано топологическое пространство из предыдущей задачи. Найти все окрестности точек множества X, а также окрестности множества
Заметим, что окрестностей как у точки, так и у множества может быть несколько. Здесь я уже нашёл удовлетворяющий меня класс: ArrayList. Соответственно, я просто вывожу список найденных окрестностей.
В топологическом пространстве, где отсутствуют такие привычные для нас термины как расстояние, метрика или норма, окрестность представляет собой базовый фундамент для построения геометрии в таких пространствах.
Итак, ещё немного определений.
Точка x из множества X называется точкой прикосновения множества M, лежащего в X, если каждая окрестность точки x содержит хотя бы одну точку из M
Точка x из множества X называется предельной точкой множества M, лежащего в X, если каждая окрестность точки x содержит хотя бы одну точку из M, отличную от X
Итак, как всегда, пока знания свежи, я предлагаю вам простые задачи после определения, за ними последует код, а далее решение.
Код для соответствующих точек:
Теперь у нас есть всё для того, чтобы определить важное в математике понятие: замыкание множества.
Замыкание множества M — это множество всех его точек прикосновения. Обычно оно обозначается как [M].
Опять продолжая работу с нашим топологическим пространством, мы можем увидеть, что [<2,3>]=<2,3,4>, при этом мы получили замкнутое множество.
Ещё одним важным понятием является понятие изолированной точки.
Точка x называется изолированной точкой множества M, если существует её окрестность, не содержащая других точек из M.
Задача 5. Доказать, что x=2 является изолированной точкой множества M=
Далее, надо понимать, что на одном и том же множестве можно ввести разные топологии, получив тем самым разные пространства. Но между топологиями можно установить частичный порядок.
Говорят, что топология т1 слабее топологии т2, если т1 целиком содержится в т2, и сильнее в противном случае.
Очевидно, что самая слабая топология — это тривиальная топология.
Задача 6. Пусть дано произвольное множество X. Ввести на нём самую сильную топологию. Указать все открытые и замкнутые множества.
И последнее понятие, о котором я хочу рассказать в этой статье, это след топологии.
Следом топологии т на множестве A, лежащем в X, называется топология тA, состоящая из всех множеств вида B ∩ A, где B принадлежит топологии.
Задача 7. Доказать, что след топологии т на множестве A, образует топологию на множестве A
Заключение
На этом подходит к концу первая часть моего цикла статей о топологических пространствах и программировании их подкласса: конечных топологий — на языке Java. В следующей части я планирую немного рассказать о базе топологии, однако в случае конечных топологий это понятие довольно сильно упрощается, поскольку конечные топологические пространства по умолчанию обладают счётной базой, а что будет дальше, ещё увидим. Вполне вероятно, что мы поговорим о непрерывных отображениях одного топологического пространства в другое. Было бы неплохо попытаться запрограммировать такой объект, не так ли?
Что такое топологическое пространство
В настоящем разделе будут рассмотрены основные свойства топологических пространств. Материал данного раздела вполне аналогичен изложенному в разделе о метрических пространствах, и поэтому мы повторим лишь основные определения, а доказательства некоторых теорем, поскольку они являются дословным повторением соответствующих доказательств в разделе о метрических пространствах, опустим. Подробнее мы остановимся лишь на специфических особенностях топологических пространств.
1. Определение топологического пространства. Хаусдорфово топологическое пространство. Примеры.
Определение 1. Говорят, что на множестве X определена структура топологического пространства, если задана система 
1) само множество X и пустое множество 0 принадлежат
2) сумма любого числа множеств системы 

Система 

Таким образом, пара, состоящая из множества X и топологии 

Определение 1 выделяет весьма общий класс пространств. Обычно этот класс несколько сужают, добавляя к свойствам 1) и 2) так называемые аксиомы отделимости. Из этих аксиом мы рассмотрим наиболее часто используемые.
Аксиома 


Топологические пространства, удовлетворяющие аксиоме 

Аксиома 



Топологические пространства, удовлетворяющие аксиоме 
Ясно, что если выполнена аксиома 


Примером пространства, удовлетворяющего аксиомам 1), 2), 





Не всякое топологическое пространство удовлетворяет аксиоме 



Приведем наиболее часто встречающиеся примеры топологических пространств.
1) Рассмотрим произвольное метрическое пространство 





Таким образом, всякое метрическое пространство 



2) Рассмотрим множество X произвольной природы. Отнесем к системе 

3) Пусть X — произвольное множество. Отнесем к системе 

Дадим следующее определение.
Определение 2. Окрестностью точки х, принадлежащей топологическому пространству (X, 2), называется любое открытое множество, содержащее точку х. Окрестностью некоторого подмножества X (быть может, самого X) называется любое открытое множество, содержащее данное подмножество (или X). Окрестность точки х будем обозначать 2.
Предположим, что для каждой точки х, принадлежащей топологическому пространству 



Определение 3. Система выделенных окрестностей 
Справедлива следующая лемма, которая дает удобный способ задания топологии.
Лемма 1. Пусть X — произвольное множество. Для каждой точки х определим некоторые подмножества 2, называемые «окрестностями» точки х и удовлетворяющие условиям:
а) каждая точка имеет хотя бы одну свою «окрестность» и принадлежит любой своей «окрестности»;
б) пересечение двух «окрестностей» точки содержит некоторую «окрестность» этой же точки;
в) какова бы ни была «окрестность» 



Тогда если отнести к системе 


«окрестностей» является определяющей системой. Обратно, всякое топологическое пространство может быть получено таким способом.
Доказательство. Проверим выполнение аксиом 


Аксиома 1) выполнена.
Для проверки аксиомы 2) надо убедиться лишь в том, что. 








Обратно, если задано топологическое пространство (X, 


Используя эту лемму, приведем примеры еще двух хаусдорфовых топологических пространств.
1) В качестве X возьмем двумерную плоскость 

2) Рассмотрим в качестве X отрезок [0, 1], окрестности всех точек, кроме точки 0, определим обычным образом, а окрестностями точки 0 будем считать всевозможные полуинтервалы 


Пусть 







Так же, как и в случае метрических пространств, пространство 
подмножеств. Множество 



2. Замечание о топологических пространствах.
После того как введены открытые множества для топологических пространств, можно ввести все понятия, введенные для метрических пространств. Так, дословно сохраняются определения предельной точки множества (см. определение 4 раздела о метрических пространствах), определение внутренней точки (см. определение 5 раздела о метрических пространствах), определение замкнутого множества (см. определение 6 раздела о метрических пространствах), определение замыкания множества (см. определение 7 раздела о метрических пространствах), определение плотного и всюду плотного множества (см. определение 10 раздела о метрических пространствах), полностью сохраняется определение понятия нигде не плотного, совершенного множества, данные для метрических пространств. Точно так же, как и в случае метрических пространств, в случае топологических пространств определяется важное понятие непрерывного отображения (определение 12 раздела о метрических пространствах), понятие гомеоморфного отображения (определение 14 раздела о метрических пространствах), определение компактного топологического пространства, или компакта (см. определение 15 раздела о метрических пространствах). Так же, как и для метрических пространств, для топологических пространств вводится понятие центрированной системы (определение 16 раздела о метрических пространствах), определение базы топологии топологического пространства, топологического пространства со счетной базой. Топологические пространства со счетной базой называются топологическими пространствами со второй аксиомой счетности.
Читатель без труда сформулирует эти определения для случая топологических пространств, для этого в соответствующих определениях раздела о метрических пространствах выражение «метрическое пространство» следует заменить на выражение «топологическое пространство».
Согласно этим определениям в случае топологического пространства остаются справедливыми основные утверждения, доказанные для метрических пространств. Это вполне естественно, поскольку доказательства этих утверждений в основном используют понятие открытого и замкнутого множества и непосредственно не зависят от введенной там метрики.
Так, лемма 1, утверждающая, что объединение произвольного числа открытых множеств и пересечения конечного их
числа является множеством открытым, есть соответствующая аксиома топологического пространства; утверждение леммы 2, в. том числе и доказательства свойств операции замыкания, полностью сохраняется.
На топологические пространства переносится также и понятие сходящейся последовательности (определение 11 раздела о метрических пространствах), а именно: последовательность 




Однако в топологических пространствах это понятие не играет столь большой роли, как в метрических пространствах. В самом деле, лемма 3 утверждала, что в метрическом пространстве точка а принадлежит замыканию А некоторого множества А тогда и только тогда, когда существует последовательность 
О а, 
Можно выделить класс топологических пространств, обладающих аналогичным свойством.
Назовем топологическое пространство пространством 



В метрическом пространстве первая аксиома счетности, очевидно, выполнена.
В топологическом пространстве (X, 2) с первой аксиомой счетности справедливо утверждение: точка 

Доказательство этого утверждения аналогично доказательству соответствующего утверждения для случая метрических пространств. Последовательность шаров О 
мы 



Утверждение на с. 544 полностью сохраняется. Сохраняется также и утверждение леммы 4 — критерий непрерывности отображения.
На случай топологических пространств полностью переносится критерий компактности в терминах центрированной системы замкнутых подмножеств (лемма 5), утверждения лемм 6, 7, 8, 9 о свойствах компакта и непрерывных функций на нем.
Заметим, что топологическое пространство может не быть пространством со счетной базой топологии даже тогда, когда оно является пространством с первой аксиомой счетности и в нем имеется счетное всюду плотное множество. Однако если в топологическом пространстве есть счетная база топологии, то топологическое пространство сепарабельно и удовлетворяет первой аксиоме счетности (ср. с леммой 11). Точно так же, как и в случае метрических пространств (см. определение 18), топологическое пространство называется пространством со второй аксиомой счетности, если в нем существует хотя бы одна база топологии, состоящая не более чем из счетного числа множеств.








