Министерство образования и науки Российской Федерации Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Казанский (Приволжский) федеральный университет" ИНСТИТУТ МАТЕМАТИКИ И МЕХАНИКИ ИМ. Н.И. ЛОБАЧЕВСКОГО КАФЕДРА ГЕОМЕТРИИ Направление: 010100.68 - математика ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА (МАГИСТЕРСКАЯ ДИССЕРТАЦИЯ) "Вычисление N -радиусов и расстояний между конечными множествами в евклидовом пространстве с помощью пакета Maxima" Работа завершена: " " 2014г. (Н.Г.Архипова) Работа допущена к защите: Научный руководитель доктор физ.-мат. наук, доцент " " 2014г. (Е.Н.Сосов) Заведующий кафедрой: док.физ.- мат. наук, профессор " " 2014г. (В.В.Шурыгин) Казань – 2014 Содержание 1 Введение 3 2 Основные понятия и обозначения 4 3 Нахождение относительных N -радиусов конечных множеств в R3 6 4 Нахождение расстояния между конечными множествами в R 12 5 Нахождение чебышевского центра в R2 16 6 Вычисление расстояния между конечными множествами в R2 21 7 Заключение 24 8 Литература 25 2 1 Введение В своей работе будем использовать пакет Maxima, для решения геометрических задач. Научимся вычислять N -радиусы конечных множеств в R3 , находить чебышевский центр и вычислять чебышевский радиус для данного конечного множества в R2 с помощью пакета Maxima. N -радиусы являются метрическими инвариантами метрического пространства, их вычисление важно для классификации конечных метрических пространств, также для установления апроксимативных свойств компактных множеств, в частности, конечных множеств на евклидовом пространстве. Maxima — это система компьютерной математики, которая предназначена для выполнения математических расчетов (как в символьном, так и в численном виде) таких как: - упрощение выражений; - графическая визуализация вычислений; - решение уравнений и их систем; - решение обыкновенных дифференциальных уравнений и их систем; - решение задач линейной алгебры; - решение задач дифференциального и интегрального исчисления; - решение задач теории чисел и комбинаторных уравнений и др. Пакет Maxima состоит из интерпретатора макроязыка, написанного на Lisp, и нескольких поколений пакетов расширений, написанных на макроязыке пакета или непосредственно на Lisp. В системе имеется большое количество встроенных команд и функций, а также возможность создавать новые функции пользователя. Система имеет собственный язык, а также встроенный язык программирования высокого уровня, что говорит о возможности решения новых задач и возможности создания отдельных модулей и подключения их к системе для решения определенного круга задач. Основными преимуществами программы Maxima являются возможность свободного использования, небольшой размер программы, широкий класс решаемых задач, интерфейс программы на русском языке. 3 2 Основные понятия и обозначения Рассмотрим метрическое пространство (X, ρ). Пусть B(X) — множество всех непустых ограниченных множеств пространства X . Введем следующие понятия: 1. Расстояние от точки до множества |xM | = inf{|xy| : y ∈ M }, где x ∈ X, ∅ = 6 M ⊂ X. Пусть M ∈ B(X), W — непустое подмножество в X . 2. Величина β(M, W ) = sup{|xW | : x ∈ M } называется отклонением множества M от W . 3. Псевдометрикой Хаусдорфа на множестве B(X) называется функция α : B(X) × B(X) −→ R+ , α(M, W ) = max{β(M, W ), β(W, M )}. ΣN (X) — множество всех непустых подмножеств в X, состоящих не более чем из N точек. 4. Относительным N -радиусом множества M относительно множества W называется величина RN W (M ) = inf{β(M, S) : S ∈ ΣN (W )}. 5. Относительным чебышевским радиусом множества M относительно множества W называется величина RW (M ) = inf{β(M, x) : x ∈ W }. 6. Чебышевским центром ограниченного множества M называется центр шара наименьшего радиуса, содержащего данное множество. 7. Множество всех относительных чебышевских центров множества M cheb(M ) = {x ∈ M : β(M, x) = RM (M )}. 4 Рассмотрим необходимые свойства отклонения и псевдометрики Хаусдорфа Пусть M, H ∈ B(X), ∅ = 6 W ⊂ X. 1. β(M, W ) ≤ β(M, H) + β(H, W ). Доказательство. Для каждого ε > 0 для любого y ∈ M найдется такое z ∈ H, что |yz| ≤ |yH| + ε. Тогда |yW | ≤ |yz| + |zW | ≤ |yz| + β(H, W ) ≤ |yH| + ε + β(H, W ) ≤ β(M, H) + β(H, W ) + ε. Переходя в полученном неравенстве к пределу при ε −→ 0, получим |yW | ≤ β(M, H) + β(H, W ). Осталось взять верхнюю грань в левой части последнего неравенства. 2. β(M, H) = inf{r : M ⊂ B(H, r)}, где B(H, r) = ∪{B(x, r) : x ∈ H} — обобщенный шар. Пусть M, W ∈ B(X). 3. α — метрика на множестве B[X]. Доказательство можно найти в книге [1]. 4. α(M, W ) = inf{r : M ⊂ B(W, r), W ⊂ B(M, r)}. Приведем известные теоремы. Теорема 1. Если пространство (X, ρ) — полное, то пространство (B[X], α) — полное. Теорема 2. (Бляшке) Если пространство (X, ρ) — компактное, то пространство (B[X], α) — компактное. 5 3 Нахождение относительных N -радиусов конечных множеств в R3 Постановка задачи: Пусть X = R3 . M — непустое конечное множество в X мощности m = card(M ). W — непустое конечное множество в X мощности k = card(W ). Необходимо написать программу для нахождения N -радиусов: RN W (M ) = min{β(M, S) : S ∈ ΣN (W )}. Схематично опишем алгоритм решения: 1. Зададим множества M = {x1 , ..., xN }, W = {y1 , ..., yN }. Список элементов множества зададим с помощью функции genmatrix пакета Maxima. 2. Составим матрицу расстояний между элементами множеств M и W . p h[i, j] := (y[i, 1] − x[j, 1])2 + (y[i, 2] − x[j, 2])2 + (y[i, 3] − x[j, 3])2 . 3. Для нахождения относительного чебышевского радиуса R1W (M ) находим максимумы в каждой строке матрицы и заносим эти элементы в один список. Затем выбираем минимальный элемент из полученного списка. Это есть относительный 1-радиус R1W (M ). 4. Для нахождения относительного 2-радиуса, рассматриваем S, как множество, состоящее из двух элементов, которые могут совпадать. Пусть, например, S = {y1 , y2 }. Тогда найдем β(M, S) = max{|xS| : x ∈ M } = max{min{|xy| : y ∈ S}, x ∈ M } = max{min{|xy| : y ∈ {y1 , y2 }}, x ∈ M } = max{min{|x1 y1 |, |x1 y2 |}, min{|x2 y1 |, |x2 y2 |}, ..., min{|xm y1 |, |xm y2 |}}. Аналогично вычисляем отклонения множества M от S, когда S пробегает множество всех остальных двухточечных подмножеств множества W, и заносим их в список. Находим минимальное число из полученного списка. Это есть относительный 2-радиус R2W (M ). 5. Для нахождения относительного 3-радиуса, рассматриваем S, как множество, состоящее из трех элементов, которые могут попарно совпадать. Пусть, например, S = {y1 , y2 , y3 }. Находим β(M, S) = max{|xS| : x ∈ M } = max{min{|xy| : y ∈ S}, x ∈ M } = max{min{|xy| : y ∈ {y1 , y2 , y3 }}, x ∈ M } = max{min{|x1 y1 |, |x1 y2 |, |x1 y3 |}, min{|x2 y1 |, |x2 y2 |, |x2 y3 |}, ..., min{|xm y1 |, |xm y2 |, |xm y3 |}}. Аналогично вычисляем отклонения множества M от S, когда S пробегает множество всех остальных трехточечных подмножеств множества W, и заносим их в список. Находим минимальное число из полученного списка. Это есть относительный 3-радиус R3W (M ). 6 Код программы в пакете Maxima-5.31.2 7 Вывод программы в пакете Maxima-5.31.2 8 9 10 Пример программы 11 4 Нахождение расстояния между конечными множествами в R Постановка задачи: Пусть X = R. M — непустое конечное множество в X мощности m = card(M ), W — непустое конечное множество в X мощности k = card(W ). Необходимо написать программу для нахождения относительного чебышевского центра, а также двух расстояний между этими множествами: d1 (M, W ), dα (M, W ). Схематично опишем алгоритм решения: Пусть даны два множества M = {x1 , ..., xN } и W = {y1 , ..., yN }. Вычислим: 1) максимальное расстояние, для этого находим максимальное и минимальное значение x множества M, обозначим их из через xM и xm , соответственно; m . 2) середину xc = xM +x 2 c = {x1 − xc , ..., xN − xc }. Проделываем тоже самое и Сдвинем множество M на xc влево, M для множества W . Найдем такие p величины как: 2 c c c d(M , W ) = (xb1 − yb1 )2 + ... + (xc N −y N) ; c, W c ) = max{β(M c, W c ), β(W c, M c)}, а также d(−M c, W c ), α(−M c, W c ), α(M c = {−(x1 − xc ), ..., −(xN − xc )}; где −M c, W c ), d(M c, W c )}; d1 (M, W ) = min{d(−M c, W c ), α(M c, W c )}. dα (M, W ) = min{α(−M Причем, d1 — метрика, а dα (M, W ) — расстояние, которое приближает значение метрики, см. [1] стр. 87. 12 Код программы в пакете Maxima-5.31.2 13 14 15 5 Нахождение чебышевского центра в R2 Пусть X = R2 . M — непустое конечное множество в X мощности m = card(M ). Схематично опишем алгоритм решения: 1. Зададим множество M = {x1 , ..., xm }. 2. Найдем диаметр множества D(M ) = max{|xi xj | : i = 1, m, j = i + 1, m}, p где |xi xj | = (xi1 − xj1 )2 + (xi2 − xj2 )2 . 3. Найдем середину xc некоторой пары диаметральных точек (т.е. расстояние между которыми равно диаметру). ) для любого i ∈ {1, ..., m}, то xc — чебышевский центр множества M . 4. Если |xc xi | ≤ D(M 2 Если нет, то перебираем все остроугольные треугольники (точнее тройки их вершин). Используем следующую характеризацию остроугольного треугольника. У такого треугольника квадрат большей стороны меньше суммы квадратов двух других сторон. 5. Вычислим |xi xj | ∗ |xi xk | ∗ |xj xk | R∆ = 4 ∗ S∆ для каждого остроугольного треугольника. Занесем эти числа в список. 6. Найдем максимальный элемент этого списка и запомним вершины, по крайней мере, какого-либо одного треугольника, соответствующего этому максимальному элементу. 7. Найдем центр описанной окружности вокруг найденного в предыдущем пункте треугольника. Это и есть чебышевский центр cheb(M ) множества M. 16 Код программы в пакете Maxima-5.31.2 17 18 19 Вывод программы в пакете Maxima-5.31.2 20 6 Вычисление расстояния между конечными множествами в R2 Пусть даны множества M , W . С помощью предыдущего алгоритма находим cheb(M ), cheb(W ). Опишем алгоритм нахождения расстояния между конечными множествами M , W из R2 : 1. Перенесем чебышевские центры множеств M и W в начало координат. Для этого делаем следующее: M1 = M − cheb(M ) (разность Минковского в R2 ), W1 = W − cheb(W ). Следовательно, cheb(M1 ) = cheb(W1 ) = (0, 0). , где 2. Осуществим повороты множества M вокруг начала координат на углы ϕl = 2πl L l = 0, L − 1, L ∈ N. Таким образом, получим M1 (ϕl ) = {(xi cos ϕl − yi sin ϕl , xi sin ϕl + yi cos ϕl ) : i = 1, cardM1 }. 3. Вычислим следующие величины α̃(M1 , W1 ) = min{α(M1 (ϕl ), W1 ) : l = 0, L − 1}, L ∈ N. α̂(M1 , W1 ) = min{α(M1 (ϕl ), Ŵ1 ) : l = 0, L − 1}, где Ŵ1 = {(−xi , yi ) : i = 1, cardW } - отражение множества W1 относительно оси ординат. α∗ (M, W ) = min{α̃, α̂}. 4. α∗ (M, W ) — приближенное расстояние между множествами M , W с индуцированной метрикой в метрическом пространстве. См. [1] стр. 87. 21 Приведем код программы как добавление к коду программы на странице 17 22 23 7 Заключение В магистерской диссертации решены следующие задачи: 1. Написаны программы на встроенном языке пакета Maxima для вычисления N -радиусов конечных множеств в R3 , N = 1, 2, 3. 2. Написаны программы, с помощью которых можно найти чебышевский центр для данного конечного множества в R2 , вычислить его чебышевский радиус, а также такие величины как: α̃ = min{α(M1 (ϕl ), W1 ) : l = 0, L − 1}, где M1 = M − cheb(M ) (разность Минковского в R2 ), W1 = W − cheb(W ), L ∈ N, M1 (ϕl ) = {(xi cos ϕl − yi sin ϕl , xi sin ϕl + yi cos ϕl ) : i = 1, cardM1 }, ϕl = 2πl . L α̂ = min{α(M1 (ϕl ), Ŵ1 ) : l = 0, L − 1}, где Ŵ1 = {(−xi , yi ) : i = 1, cardW }. α∗ = min{α̃, α̂}. С помощью данных программ можно также найти приближенное расстояние между компактными множествами и вычислить их N -радиусы в евклидовом пространстве. Отметим, что пакет Maxima не слишком сложен в применении, он упрощает различного рода вычисления. Система компьютерной математики Maxima относится к системам символьной математики. Поэтому (по умолчанию) система выдает результат в символьном виде. То есть, если не задавать специальную команду, система не представит полученные в ходе вычислений результаты в виде рационального приближения вещественного числа. 24 8 Литература 1. Бураго Д.Ю., Бураго Ю.Д., Иванов С.В. Курс метрической геометрии. - М.: Ижевск: Ин-т комп. исслед., 2004. - 496 с. 2. Сосов Е.Н. Относительный N -радиус ограниченного множества метрического пространства // Изв. вузов. Матем. - 2010. - №4. - С. 66-72. 3. Чичкарёв Е.А. Компьютерная математика с Maxima: Руководство для школьников и студентов. - М. : ALT Linux, 2012. - 384 с. 4. Heinz H.Bauschke, Mason S.Macklem, Xianfu Wang. Chebyshev Sets, Klee Sets, and Chebyshev Centers with respect to Bregman Distances: recent results and open problems. - 2010. 25