Максимальный слой (вычислительная геометрия)

Максима́льный слой[комм 1] (англ. maximal layer[1][2]) непустого конечного множества точек — набор точек этого множества, которые имеют в некотором смысле максимальные координаты[3][1][4].
Задача о нахождении максимумов множества точек появляется в приложениях таких отраслях, как статистика, экономика (граница Парето[англ.]), инженерное дело (граница Парето), многокритериальная оптимизация (граница Парето), исследование операций. Первоначально эту задачу описали как «задачу о плавающих курсах валют»[4].
Имеется связь между задачей о максимумах и задачей о построении выпуклой оболочки[5], вместе с тем между этими задачами имеются глубокое различие[6].
Максимальные слои (англ. maximal layers[1][2]) — один из двух способов разложить всё точечное множество на непересекающиеся слои. Другой способ — выпуклые слои, которые не зависят от системы координат[3][7].
Максимальный слой на плоскости
[править | править код]Некоторая точка непустого конечного множества точек на плоскости доминирует над некоторой его точкой, если обе координаты первой точки соответственно не меньше обеих координат второй точки (это понятие зависит от системы координат)[3][1][4].
Например, в множестве из четырёх точек каждая из двух точек и доминирует над точкой (сравните с максимальными точками)[8].
Обычно предполагают, явно или неявно, что никакие соответствующие координаты никаких двух точек данного множества не совпадают, то есть никакие две точки множества не лежат на прямой, параллельной одной из координатный осей[9].
Максимальная точка (англ. maximal point[1][2]), или максимальный элемент (англ. maximal element[10]), или максимум (англ. maximum[1][10]), или максимальный вектор (англ. maximal vector[8]), непустого конечного множества точек на плоскости — точка этого множества, над которой не доминирует ни одна другая точка этого множества[1][3][5][8]. Другими словами, в первом квадранте максимальной точки (то есть выше и правее этой точки при стандартном расположении осей) нет других точек данного множества[8].

Максимальный слой (англ. maximal layer[1][2]) непустого конечного множества точек на плоскости — все максимальные точки этого множества[3][1].
Синонимы: максимумы (англ. maxima[11])[4]; первый максимальный слой (англ. first maximal layer[1][2])[3][1]; доминирующее подмножество (англ. dominance hull[12])[13].
Например, множество из четырёх точек имеет 3 максимальные точки и одну немаксимальную (сравните с доминирующими точками)[8].
Лестница (англ. staircase[1][14]) — другое название всех максимальных точек плоского множества, поскольку их можно соединить в естественном порядке направо вниз в виде лестничной структуры отрезками, параллельными осям координат. Лестницей называется также плоское множество, совпадающее со своим максимальным слоем[15][1].
Максимальный слой в пространстве
[править | править код]Понятие максимального слоя обобщается на вещественное евклидово пространство произвольной конечной размерности (и даже на прямое произведение произвольного конечного количества упорядоченных множеств)[4].
Точка непустого конечного множества из точек на евклидовой плоскости доминирует над его точкой , , если , [3][1][4].
Отношение доминирования — описанное в предыдущем абзаце отношение «»[4].
Отношение доминирования «» определяет на множестве частичный порядок при [5].
Максимальная точка, или максимальный элемент, или максимум, или максимальный вектор, непустого конечного множества точек — точка множества такая, что не существует другой точки , , такой, что [3][1][5]. Другими словами, в первом ортанте максимальной точки («выше и правее») нет других точек[8].
Задача о максимумах — нахождение всех максимумов данного множества для данного отношения доминирования[5].
Максимальный слой непустого конечного множества точек в пространстве — все максимальные точки множества [3][1].
Обычно предполагают, явно или неявно, что соответствующие координаты никаких двух точек множества не совпадают, то есть никакие две точки множества не лежат на прямой, параллельной одной из координатный осей[9].
Получены следующие оценки сложности:
- при использовании модели деревьев сравнений произвольный алгоритм, решающий двумерную задачу о максимумах, имеет сложность [Kung, Luccio, Preparata (1975)][16];
- максимальный слой множества из точек в евклидовом пространстве при возможно отыскать за время [17].
Задача о плавающих курсах валют
[править | править код]
Рассмотрим следующую забавную, как написали Ф. Препарата и М. Шеймос[англ.], формулировку задачи о плавающих курсах валют, которая впервые привела к задаче о максимуме множества точек[4].
Задача о плавающих курсах валют (англ. floating-currency problem[11]). У каждого гражданина Эревона (страна в фантастических романах) есть пакет валюты, то есть некоторое количество денег в иностранной валюте. В Эревоне курсы этих иностранных валют колеблются в широком диапазоне. По закону республики Эревон в конце дня человек, имеющий пакет валюты наибольшей общей стоимости, провозглашается Королём Эревона. Возникает вопрос, как найти наименьшее подмножество граждан Эревона, которое со 100 % определённостью содержит всех потенциальных королей? Ответом является максимальный слой -мерного пространства, где размерность пространства — количество валют, элемент пространства — гражданин Эревона, координаты элемента — стоимости соответствующих валют, которыми обладает человек[4].
Связь с выпуклой оболочкой
[править | править код]Рассмотрим связь между задачей о максимумах и задачей о построении выпуклой оболочки[5].

Суть связи заключается в следующем сходстве максимального слоя и границы выпуклой оболочки: оба этих понятия представляют «границу» множества точек , причём максимальный слой даёт неполное представление этой «границы» и зависит от системы координат. Например, если задано некоторое множество точек на плоскости, то можно поставить столько задач о максимумах, сколько имеется квадрантов, то есть четыре, следующими образом. Любая из этих четырёх задач конструируется приписыванием одного из знаков «» или «» каждой из координат точек множества . Обычной формулировке задачи соответствует комбинация знаков . Поэтому взаимосвязь между этими задачами демонстрирует следующая теорема[5].
Приведём следующую теорему[5]:
- если никакие две точки множества не лежат на прямой, параллельной одной из координатный осей (или хотя бы никакие три точки не лежат на одой прямой), то любая вершина границы выпуклой оболочки множества точек есть максимум по крайней мере при одном из четырёх присвоений знаков «» или «» координатам точек из .
Содержание этого раздела обобщается на многомерное множество [18].
Отличие от выпуклой оболочки
[править | править код]
Между задачей о максимумах и задачей о построении выпуклой оболочки имеются глубокое различие, связанное с понятием декомпозируемости[17].
Рассмотрим множество точек , представленное как объединение произвольных множеств и . Тогда произвольная точка плоскости есть максимум множества тогда и только тогда, когда есть максимум как множества , так и . С другой стороны, множество можно представить как объединение таких множеств и , что некоторая точка плоскости лежит внутри выпуклой оболочки , тогда как эта точка лежит как вне , так и вне [17].
Максимальные слои
[править | править код]
Рассмотрим способ разложить всё точечное множество на непересекающиеся максимальные слои. Формальное определение максимальных слоёв — рекурсивное с использованием обозначений[19].
Первый максимальный слой множества из точек на плоскости состоит из максимальных точек множества . Пусть и множество , , — это точки множества без всех точек максимальных слоёв с номерами . Тогда -й максимальный слой состоит из максимальных точек множества , если множество точек ; иначе слой не определён[19][7].
Первый максимальный слой также называют просто максимальным слоем[3][1] множества, или доминирующим подмножеством[13].
Степень доминирования точки множества — минимальное количество доминирующих подмножеств, при последовательном удалении которых удаляется сама точка[13].
Степень доминирования множества — максимальная степень доминирования всех его точек[13].
Максимальные слои — один из двух способов разложить всё точечное множество на непересекающиеся слои. Другой способ — выпуклые слои, которые не зависят от системы координат[3][7].
Свойства максимальных слоёв
[править | править код]1 [Bentley, Kung, Schkolnick, Thompson (1978)[20]]. Среднее количество максимальных точек множества из точек в евклидовом пространстве равно
но при условии, что координаты всех точек независимы и выбираются из одного и того же непрерывного распределения[17].
2. При условии того, что координаты всех точек независимы и выбираются из одного и того же непрерывного закона распределения, все максимальные точки множества из точек в возможно найти за время, равное в среднем [21].
Обычно предполагают, явно или неявно, что соответствующие координаты никаких двух точек множества не совпадают, то есть никакие две точки множества не лежат на прямой, параллельной одной из координатный осей[9].
3. Если множество имеет непустых максимальных слоёв, причём , , — ордината самой левой точки в слое , то тогда
- [9].
4. Дано: точечное множество ; точка , лежащая левее любой точки множества , причём её координата отлична от координат всех точек множества ; множество ; все непустых максимальных слоёв множества , причём , , — ордината самой левой точки в слое ; — минимальный индекс такой, что ; если его нет, , то . Доказать: максимальные слои множества имеют следующие свойства[9]:
- при максимальные слои множеств и совпадают, кроме слоя с крайней левой точкой в множестве ;
- при первые максимальных слоёв множеств и совпадают, а множество имеет дополнительный максимальный слой , состоящий из одной точки: .
Примечания
[править | править код]Комментарии
[править | править код]- ↑ Термин «максимальный слой» в английской Википедии в единственном числе не встречается.
Источники
[править | править код]- ↑ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Franck Nielsen. Output-sensitive peeling of convex and maximal layers, 1996, 3. Computing the first k maximal layers, p. 258.
- ↑ 1 2 3 4 5 Thomas H. Cormen. Introduction to algorithms, 2001, 33 Computational Geometry. Problems. 33-2 Maximal layers, p. 962.
- ↑ 1 2 3 4 5 6 7 8 9 10 11 Кормен Т. Алгоритмы: построение и анализ, 2011, Глава 33. Вычислительная геометрия. Задачи. 33-2. Максимальные слои, с. 1080.
- ↑ 1 2 3 4 5 6 7 8 9 Препарата Ф., Шеймос М. Вычислительная геометрия. Введение, 1989, 4.1.3. Задача о максимумах множества точек, с. 192.
- ↑ 1 2 3 4 5 6 7 8 Препарата Ф., Шеймос М. Вычислительная геометрия. Введение, 1989, 4.1.3. Задача о максимумах множества точек, с. 193.
- ↑ Препарата Ф., Шеймос М. Вычислительная геометрия. Введение, 1989, 4.1.3. Задача о максимумах множества точек, с. 192; 202.
- ↑ 1 2 3 Franck Nielsen. Output-sensitive peeling of convex and maximal layers, 1996, p. 255.
- ↑ 1 2 3 4 5 6 Bentley J. L. On the average number of maxima in a set of vectors and applications, 1978, 1. Introduction, с. 536.
- ↑ 1 2 3 4 5 Кормен Т. Алгоритмы: построение и анализ, 2011, Глава 33. Вычислительная геометрия. Задачи. 33-2. Максимальные слои, с. 1081.
- ↑ 1 2 Franco P. Preparata, Michael Ian Shamos. Computational geometry. An introduction, 1985, 4.1.3 The problem of the maxima of a point set, p. 152.
- ↑ 1 2 Franco P. Preparata, Michael Ian Shamos. Computational geometry. An introduction, 1985, 4.1.3 The problem of the maxima of a point set, p. 151.
- ↑ Franco P. Preparata, Michael Ian Shamos. Computational geometry. An introduction, 1985, 4.4 Exercises, p. 178.
- ↑ 1 2 3 4 Препарата Ф., Шеймос М. Вычислительная геометрия. Введение, 1989, 4.4. Упражнения, с. 225.
- ↑ Franco P. Preparata, Michael Ian Shamos. Computational geometry. An introduction, 1985, 5.8 Exercises, p. 218.
- ↑ Препарата Ф., Шеймос М. Вычислительная геометрия. Введение, 1989, 5.8. Упражнения, с. 274.
- ↑ Препарата Ф., Шеймос М. Вычислительная геометрия. Введение, 1989, 4.1.3. Задача о максимумах множества точек, с. 195.
- ↑ 1 2 3 4 Препарата Ф., Шеймос М. Вычислительная геометрия. Введение, 1989, 4.1.3. Задача о максимумах множества точек, с. 202.
- ↑ Препарата Ф., Шеймос М. Вычислительная геометрия. Введение, 1989, 4.1.3. Задача о максимумах множества точек, с. 193—194.
- ↑ 1 2 Кормен Т. Алгоритмы: построение и анализ, 2011, Глава 33. Вычислительная геометрия. Задачи. 33-2. Максимальные слои, с. 1080—1081.
- ↑ Bentley J. L. On the average number of maxima in a set of vectors and applications, 1978, 2. Determining the Average Number of Maxima, с. 539.
- ↑ Препарата Ф., Шеймос М. Вычислительная геометрия. Введение, 1989, 4.1.3. Задача о максимумах множества точек, с. 203.
Ошибка в сносках?: Тег <ref> с именем «Препарата194», определённый в <references>, не используется в предшествующем тексте.
Литература
[править | править код]- Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ = Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. Introduction to Algorithms. Second edition / пер. с англ. канд. техн. наук И. В. Красикова, Н. А. Ореховой, В. Н. Романова под ред. канд. техн. наук И. В. Красикова. — 2-е изд. — М.: Издательский дом «Вильямс», 2011. — 1290 с., ил. — 1000 экз. — ISBN 978-5–8459–0857–5 (рус.). — ISBN 0–07–013151–1 (англ.).
- Препарата Ф., Шеймос М.[англ.]. Вычислительная геометрия. Введение = Franco P. Preparata, Michael Ian Shamos. Computational geometry. An introduction / пер. с англ. С. А. Вичеса, М. М. Комарова под ред. Ю. М. Баяковского. — М.: «Мир», 1989. — 478 с., ил. — 10 000 экз. — ISBN 5-03-001041-6 (русск.). — ISBN 0-387-96131-3 (англ.).
- Bentley J. L.[англ.], Kung H. T.[англ.], Schkolnick M., Thompson C. D. On the average number of maxima in a set of vectors and applications (англ.) // Journal of the ACM : журнал / Editor-in-Chief: Venkatesan Guruswami[англ.]. — New York City: Association for Computing Machinery, 1978. — October (vol. 25, iss. 4). — P. 536—543. — ISSN 0004-5411. — doi:10.1145/322092.32209.
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. Introduction to algorithms (англ.). — Second Edition. — Cambridge, Massachusetts · London, England · Boston · Burr Ridge, IL · Dubuque, IA · Madison, WI · New York · San Francisco · St. Louis · Montréal · Toronto: The MIT Press (2), McGraw-Hill Book Company (9), 2001. — XXII+1017 p. — ISBN 0-262-03293-7 (hc. : alk. paper, MIT Press). — ISBN 0-07-013151-1 (McGraw-Hill).
- Franck Nielsen. Output-sensitive peeling of convex and maximal layers (англ.) // Information Processing Letters[англ.] : журнал / editor: Leah Epstein. — Amsterdam: Elsevier, 1996. — Vol. 59, iss. 5. — P. 255—259. — ISSN 0020-0190. — doi:10.1016/0020-0190(96)00116-0.
- Franco P. Preparata, Michael Ian Shamos[англ.]. Computational geometry. An introduction (англ.) / editor David Gries. — New York : Springer-Verlag, 1985. — XII+390 p. — (Texts and Monographs in Computer Science). — ISBN 0-387-96131-3. — ISBN 3-540-96131-3.