Share to: share facebook share twitter share wa share telegram print page

Алгоритми обчислення опуклої оболонки

В обчислювальній геометрії існує багато алгоритмів знаходження опуклої оболонки скінченної множини точок з різною складністю обчислень.

Обчислити опуклу оболонку означає, що виконане недвозначне та ефективне представлення необхідної опуклої форми. Обчислювальна складність відповідних алгоритмів зазвичай розраховується в термінах n — числа вхідних точок, та h — числа точок в опуклій оболонці.

Плоский випадок

Розглянемо загальний випадок, де вхідними даними алгоритму є скінченна невпорядкована множина точок декартової площини.

Якщо не всі точки лежать на одній прямій, їх опуклою оболонкою буде опуклий многокутник, вершини якого — це деякі точки зі вхідної множини. Найчастіше його подання є переліком вершин, відсортованих за годинниковою стрілкою або проти годинникової стрілки. В деяких випадках зручно представляти опуклий многокутник як перетин множини півплощин або півпросторів у просторовому випадку.

Нижня межа обчислювальної складності

Кожному числу відповідає точка на параболі з координатами . Таким чином задача побудови ОО еквівалентна задачі впорядкування точок.

Для скінченої множини точок на площині нижня межа обчислювальної складності находження опуклої оболонки у вигляді опуклого многокутника є тією ж, що й в задачі сортування з подальшим зведенням. Це унаочнює такий приклад.

Для множини чисел, які треба відсортувати, розглянемо множину точок площини. Так як, вони лежать на параболі, яка є опуклою кривою, легко бачити, що вершини опуклої оболонки, що проходяться вздовж межі, створюють відсортовану множину чисел . Очевидно, для описаного перетворення чисел на точки і отримання їх відсортованого порядку потребується лінійний час. З цієї причини в загальному випадку опукла оболонка n точок не може бути обчислена швидше, ніж проведено їх сортування.

Стандартна Ω(n log n) нижня межа сортування доведена в обчислювальній моделі дерева прийняття рішень, в якому виконуються тільки порівняння, але не арифметичні дії; однак в цій моделі опуклі оболонки не можуть бути обчислені взагалі. Сортування також потребує час Ω(n log n) в обчислювальній моделі алгебраїчного дерева прийняття рішень, моделі, що більш підходить для опуклих оболонок, і в цих моделях опуклі оболонки також потребують час Ω(n log n).[1] Однак в моделях комп'ютерної арифметики дозволяється сортувати числа швидше, ніж за час O(n log n), наприклад, при використанні алгоритмів цілочисельного сортування, пласкі опуклі оболонки також можуть бути обчислені швидше: Алгоритм Грехема для опуклих оболонок містить один крок сортування після якого йде лінійний об'єм додаткової роботи.

Оптимальні чутливі до вихідних даних алгоритми

Як зазначено вище, складність знаходження опуклої оболонки як функції вхідного розміру n обмежена знизу Ω(n log n). Однак складність деяких алгоритмів опуклої оболонки можна схарактеризувати як вхідним розміром n, так і вихідним розміром h (кількістю точок опуклої оболонки). Такі алгоритми називаються алгоритмами, чутливими до вихідних даних[en]. Вони можуть бути асимптотично ефективнішими, ніж алгоритми Θ(n log n) у випадках, коли h = o(n).

Відомо, що нижня межа часу роботи в найгіршому випадку алгоритмів чутливих до вихідних даних опуклої оболонки дорівнює Ω(n log h) у планарному випадку.[1] Існує кілька алгоритмів, які досягають цієї оптимальної часової складності. Перший з таких алгоритмів був представлений Кіркпатріком[en] і Зейделем[en] у 1986 році (які назвали його «алгоритмом крайньої опуклої оболонки»). Більш простий алгоритм був розроблений Ченом[en] у 1996 році та називається алгоритм Чена.

Алгоритми

Відомі алгоритми обчислення опуклої оболонки, наведені нижче, відсортовано за датою їх першої публікації. Обчислювальна складність кожного алгоритму наведена в термінах числа вхідних точок n і числа точок оболонки h. В найгіршому випадку h дорівнюватиме n.

  • Алгоритм Джарвіса — O(nh)
    Один з найпростіших (також з найефективнішим використанням часу в найгіршому випадку) плоских алгоритмів. Винайдений Чандом і Капуром в 1970 і Р. А. Джарвісом в 1973 роках. Він має обчислювальну складність O(nh). В найгіршому випадку обчислювальна складність складає O(n2).
  • Алгоритм Грехема — O(n log n)
    Дещо більш складний, але значно більш ефективний алгоритм, опублікований Рональдом Гремом в 1972 році. Якщо точки вже відсортовані за однією з координат о за кутом до фіксованого вектора, алгоритм потребує час O(n).
  • Розділяй і володарюй — O(n log n)
    Інший O(n log n) алгоритм, опублікований в 1977 році Франко Препарата і Хонгом. Цей алгоритм є також придатним для тривимірного випадку.
  • Монотонний ланцюг або Алгоритм Ендрю — O(n log n)
    Опубліковано в 1979 А. М. Ендрю. Алгоритм можна розглядати як варіант алгоритму Грехема який сортує точки в лексикографічному порядку за їх координатами. В разі, якщо вхідні точки вже відсортовані, алгоритм потребує час O(n).
  • Інкрементальний алгоритм обчислення опуклої оболонки — O(n log n)
    Опубліковано в 1984 році М. Келей.

Евристика Акла — Туссена

Наступна проста евристика часто використовується як перший крок у реалізації алгоритмів опуклої оболонки для підвищення їх продуктивності. Він заснований на ефективному алгоритмі опуклої оболонки Селіма Акла[en] та Годфріда Туссена[en], 1978 р. Мета алгоритма в тому, щоб швидко відкинути багато точок, які все одно не будуть частиною опуклої оболонки. Цей метод заснований на наступній ідеї. Знайдіть дві точки з найменшою та найбільшою координатами x, а також дві точки з найменшою та найбільшою y-координатами. Кожна з цих операцій займає O(n). Ці чотири точки утворюють опуклий чотирикутник, і всі точки, які лежать у цьому чотирикутнику (за винятком чотирьох початково обраних вершин), не є частиною опуклої оболонки. Знаходження всіх точок, які лежать у цьому чотирикутнику, також потребує O(n) операцій, а отже, загальна кількість операцій дорівнює O(n). За бажанням, точки з найменшою та найбільшою сумою координат x і y, а також точки з найменшою та найбільшою різницею x- і y-координат також можуть бути додані до чотирикутника, утворюючи таким чином неправильний опуклий восьмикутник, всередині якого можна безпечно відкинути всі точки. Якщо точки є випадковими величинами, то для обмеженого, але часто зустрічаємого класу функцій щільності ймовірності, цей одноразовий етап попередньої обробки, призведе до виконання алгоритму опуклої оболонки за лінійний очікуваний час, навіть якщо складність алгоритму опуклої оболонки є квадратичною відносно n[2].

Онлайн та динамічні задачі з опуклою оболонкою

Вище розглянуто випадок, коли всі вхідні точки відомі заздалегідь. Можемо розглянути два інших параметри[1].

  • Онлайн-задача пошуку опуклої оболонки: вхідні точки надходять послідовно одна за одною. Після того, як кожна точка прибуває на вхід, опукла оболонка для мнодини точок, які отримані на цей час, має бути ефективно обчислена.
  • Обслуговування динамічної опуклої оболонки: вхідні точки можна послідовно вставляти або видаляти, а опуклу оболонку необхідно оновлювати після кожної операції вставки/видалення.

Вставка точки може збільшити кількість вершин опуклої оболонки щонайбільше на 1, тоді як видалення може перетворити n-вершинну опуклу оболонку в (n-1) — вершину.

Онлайн-версію можна обробляти за час O(log n) на точку, що є асимптотично оптимальним. Динамічна версія може оброблятися за допомогою O(log2 n) за операцію.[1]

Простий багатокутник

Опукла оболонка простого многокутника ділиться багатокутником на частини, однією з яких є сам багатокутник, а решта — це «кишені», обмежені частиною межі многокутника та одним ребром оболонки. Хоча для задачі побудови опуклої оболонки простого багатокутника опубліковано багато алгоритмів, майже половина з них є невірними.[3] Маккалум і Евіс надали перший правильний алгоритм.[4] Пізніше спрощення, зроблене Гремом та Яо, (1983) і Лі, (1983) використовує лише одну структуру даних — стек. Їхній алгоритм обходить багатокутник за годинниковою стрілкою, починаючи з його крайньої лівої вершини. При цьому він зберігає послідовність тих вершин у стеку, які ще не були ідентифіковані як вершини у межах кишень. На кожному етапі алгоритм проходить шлях уздовж багатокутника від вершини стека до наступної вершини, яка не знаходиться в одній із двох кишень, суміжних з вершиною стека. Потім, поки дві верхні вершини в стеку разом з цією новою вершиною не знаходяться в опуклому положенні, вона виштовхує стек, перш ніж, нарешті, помістити у нього нову вершину. Коли обхід за годинниковою стрілкою досягає початкової точки, алгоритм повертає послідовність вершин стека як оболонку.[5][6]

Вищі розмірності

Відомі алгоритми обчислення опуклої оболонки в тривимірному просторі, як і в просторах з довільною вимірністю.[7] Наприклад, у випадках більших розмірностей можна застосовувати алгоритм Чена і алгоритм швидкої оболонки.[8]

Для скінченної множини точок, опукла оболонка є опуклим багатогранником в тривимірному просторі і опуклим політопом для будь-якої кількості розмірностей, чиї вершини є точками з вхідної множини точок. Його представлення не є таким простим, як в плоскому випадку. У випадку більших розмірностей, навіть якщо відомі вершини опуклого політопу, побудова його граней є нетривіальною задачею, як і задача побудови вершин при наявних гранях. Об'єм вихідних даних є експоненціально більшим за об'єм вхідних даних і навіть у випадках, коли вхідні та вихідні дані мають порівняний об'єм, відомі алгоритми обчислення опуклої оболонки для віщих розмірностей не є чутливими до вихідних[en] даних у відношенні до питань вироджених вхідних даних і проміжних результатів високої складності.[9]

Див. також

Примітки

  1. а б в г Препарата, Шеймос, Обчислювальна геометрія, Глава «Опуклі оболонки: Базисні алгоритми»
  2. Luc Devroye and Godfried Toussaint, "A note on linear expected time algorithms for finding convex hulls, " Computing, Vol. 26, 1981, pp. 361—366.
  3. Aloupis, Greg. A History of Linear-time Convex Hull Algorithms for Simple Polygons. Процитовано 11 жовтня 2020.
  4. McCallum, Duncan; Avis, David (1979), A linear algorithm for finding the convex hull of a simple polygon, Information Processing Letters, 9 (5): 201—206, doi:10.1016/0020-0190(79)90069-3, MR 0552534
  5. Graham, Ronald L.; Yao, F. Frances (1983), Finding the convex hull of a simple polygon, Journal of Algorithms, 4 (4): 324—331, doi:10.1016/0196-6774(83)90013-5, MR 0729228
  6. Lee, D. T. (1983), On finding the convex hull of a simple polygon, International Journal of Computer and Information Sciences, 12 (2): 87—98, doi:10.1007/BF00993195, MR 0724699
  7. See David Mount's Конспект лекцій, в т.ч. Лекція 4 щодо останніх розробок, в т.ч. алгоритм Чена.
  8. Barber, C. Bradford; Dobkin, David P.; Huhdanpaa, Hannu (1 грудня 1996). The quickhull algorithm for convex hulls. ACM Transactions on Mathematical Software. 22 (4): 469—483. doi:10.1145/235815.235821.
  9. Avis, David; Bremner, David; Seidel, Raimund (1997), How good are convex hull algorithms?, Computational Geometry: Theory and Applications, 7 (5–6): 265—301, doi:10.1016/S0925-7721(96)00023-5.

Література

Read other articles:

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2022. Park Ji-sunLahir(1984-11-03)3 November 1984Distrik Bupyeong, Incheon, Korea SelatanMeninggal2 November 2020(2020-11-02) (umur 35)Distrik Mapo, Seoul, Korea SelatanGenreKomediKarya terkenal dan peranKBS Gag ConcertKBS You Hee-yeol's SketchbookKBS Sta…

هذا التصنيف مخصص لجمع مقالات البذور المتعلقة بصفحة موضوع عن رياضة فرنسية. بإمكانك المساعدة في توسيع هذه المقالات وتطويرها. لإضافة مقالة إلى هذا التصنيف، استخدم {{بذرة رياضة فرنسية}} بدلاً من {{بذرة}}. هذا التصنيف لا يظهر في صفحات أعضائه؛ حيث إنه مخصص لصيانة صفحات ويكيبيديا فقط.

Nuart Sculptur Park Informasi Lokasi Bandung Utara, Jawa Barat Negara Indonesia Jenis objek wisata Wisata Alam dan Seni NuArt Sculpture Park adalah sebuah museum galeri seni patung yang terletak di bagian Bandung Utara, Jawa Barat, Indonesia. NuArt Sculpture Park ini berlokasi di Jalan Setraduta KII/11, Bandung, Jawa Barat ini merupakan lokasi wisata seni yang ada di Bandung. NuArt Sculpture Park pertama kali dibuka pada tahun 2000. Tempat ini merupakan pusat seni patung karya Nyoman Nuarta. Di …

Hans Zatzka Nascimento 8 de março de 1859Viena, Áustria Morte 17 de dezembro de 1945 (86 anos)Viena, Áustria Nacionalidade austríaco Cidadania Áustria Alma mater Academia de Belas-Artes de Viena Ocupação pintor [edite no Wikidata] Hans Zatzka (Viena, 8 de março de 1859 - Viena, 17 de dezembro de 1945[1]) foi um acadêmico e pintor austríaco, especializado em cenários de fantasia e de sonho.[2] Há certa confusão com a data de sua morte, que pode ter sido em 1945 ou 1949.…

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Oktober 2022. Parlemen Negara Indonesia Timur adalah Parlemen yang dibentuk dan hadir ketika Negara Indonesia berbentuk serikat, tepatnya pada tahun 1946. Parlemen Negara Indonesia Timur terbentuk setelah dilaksanakannya Konferensi Malino dan Konferensi Denpasar. Konfe…

Альбіорікс — термін, який має кілька значень. Ця сторінка значень містить посилання на статті про кожне з них.Якщо ви потрапили сюди за внутрішнім посиланням, будь ласка, поверніться та виправте його так, щоб воно вказувало безпосередньо на потрібну статтю.@ пошук посилань…

Go (bordspel) Go-bord met stenen Naamgeving in Volksrepubliek China (taal-varianten) Vereenvoudigd 围棋 Traditioneel 圍棋 Hanyu pinyin Wéiqí Mongools Го Koreaans Baduk/바둑 Standaardkantonees Waj K'eej Vietnamees Cờ vây Go is een, van origine Oost-Aziatisch, bordspel voor twee spelers. Het zou rond het jaar 2000 voor Christus bedacht zijn en wordt nog steeds in nagenoeg ongewijzigde vorm gespeeld. Het wordt door miljoenen beoefenaars gespeeld in het land van oorsprong, China, en de …

Embajada de España en México Escudo de España LocalizaciónPaís MéxicoCoordenadas 19°26′00″N 99°11′34″O / 19.4334, -99.1928Información generalJurisdicción México MéxicoTipo EmbajadaSede Calle Galileo 114, Colonia Polanco, Ciudad de México, MéxicoOrganizaciónDepende de Ministerio de Asuntos ExterioresDependencias Centro Cultural de España en México[editar datos en Wikidata] La Embajada de España en México es la máxima representación legal…

Leuchtturm am Cap Couronne La Couronne (deutsch „Die Krone“) ist ein Ortsteil der südfranzösischen Gemeinde Martigues im Département Bouches-du-Rhône. Das Dorf liegt am Mittelmeer, an der Côte Bleue. La Couronne – früher trug das Dorf den Namen Queyroun – lebt in erster Linie vom Tourismus. Es ist vor allem für seine alten Steinbrüche und Leuchttürme bekannt. Die Steinbrüche wurden bereits vom Griechen Strabon erwähnt. Ausgrabungen legen nahe, dass sie bereits ab dem 6. Jahrhu…

2023 Indian filmBambooTheatrical release posterDirected byVishal Devrukhkar[1]Written byAmbar HadapProduced bySantosh KherTejaswini Pandit[2]Starring Abhinay Berde Tejaswini Pandit Parth Bhalerao Shivaji Satam Samir Choughule CinematographyYogesh M KoliEdited byGuru PatilMusic bySamir SaptiskarProductioncompanyCreative Vibe ProductionsDistributed byFilmastra StudiosRelease date26 January 2023CountryIndiaLanguageMarathi Bamboo is a 2023 Indian Marathi-language drama film directed …

1956 film by Mervyn LeRoy Toward the UnknownTheatrical film posterDirected byMervyn LeRoyWritten byBeirne Lay Jr.Produced byMervyn LeRoyStarringWilliam HoldenVirginia LeithLloyd NolanCinematographyHal RossonEdited byWilliam H. ZieglerMusic byPaul Baron (Song: The U.S. Air Force, written by Robert MacArthur Crawford [N 1])Color processWarnerColor[N 2]ProductioncompanyToluca ProductionsDistributed byWarner BrothersRelease date October 1956 (1956-10) Running time115 minute…

Carola ToelleToelle pada sekitar tahun 1916LahirHenriette Dorothea Helene Karola Toelle(1893-04-02)2 April 1893Linden-Limmer (Hanover), Kekaisaran JermanMeninggal28 Januari 1958(1958-01-28) (umur 64)Grunewald (Berlin), Jerman BaratPekerjaanPemeranTahun aktif1916–1945Suami/istriErnst Stahl-Nachbaur ​ ​(m. 1919; bercerai 1925)​ Carola Toelle (nama lahir Henriette Dorothea Helene Karola Toelle; 2 April 1893 – 28 Januari 195…

Е-петиції України — це ресурси, присвячені особливій формі колективного звернення — петиціям, які регулюються Статтею 23-1 Закону України «Про звернення громадян» та іншими нормативно-правовими актами. У статті подано список офіційних ресурсів е-петицій України. Пет…

Religion before written records The Venus of Laussel, a stone relief of a seated woman Part of a series onHistory of religions Founding figures Jesus (Christianity) Muhammad (Islam) Abraham (Judaism) Siddhartha Gautama (Buddhism) Guru Nanak (Sikhism) Mahavira (Jainism) Zoroaster (Zoroastrianism) Hamza ibn Ali (Druzism) Laozi (Taoism) Confucius (Confucianism) Baháʼu'lláh (Baháʼí Faith) Study of religion Anthropology Comparative religion Neurotheology God gene Origins Psychology Timeline Pre…

Командное чемпионство WWE среди женщин Дизайн пояса командных чемпионок WWE, с боковыми пластинами по умолчанию Подробности Промоушн WWE Бренд Raw (2019—н. в.)SmackDown (2019—н. в.)NXT (2019—2021) Создан 24 декабря 2018 Действующие чемпионы Челси Грин и Пайпер Нивен Дата выигрыша 17 июля 2023 …

Anime magazine AnimediaAnimedia celebrating the 39th anniversary. Featuring Demon Slayer : Kimetsu no Yaiba as coverCategoriesAnime MagazineFrequencyMonthlyPublisherIIDFirst issue1981Country JapanLanguageJapaneseWebsitecho-animedia.jp Animedia (アニメディア, Animedia) is a Japanese monthly anime magazine by IID. First published on June 9, 1981.[1] Overview Animedia was first published on June 9, 1981 by Gakken Holdings (currently IID). The magazine provides news and infor…

Thai restaurant in Portland, Oregon, U.S. Hat YaiExterior of the restaurant in southeast Portland, Oregon's Buckman neighborhood, 2022Restaurant informationOwner(s) Earl Ninsom Alan Akwai Food typeThaiCityPortlandCountyMultnomahStateOregonCountryUnited StatesWebsitehatyaipdx.com Hat Yai is a Thai restaurant with two locations in Portland, Oregon. Description Hat Yai is a Thai restaurant named after the city in Thailand of the same name.[1] The original restaurant on Killingsworth Street …

American college football season 2005 Penn State Nittany Lions footballBig Ten co-championOrange Bowl championLambert-Meadowlands TrophyOrange Bowl, W 26–23 3OT vs. Florida StateConferenceBig Ten ConferenceRankingCoachesNo. 3APNo. 3Record11–1 (7–1 Big Ten)Head coachJoe Paterno (40th season)Offensive coordinatorGalen HallDefensive coordinatorTom BradleyHome stadiumBeaver Stadium(Capacity: 107,282)Seasons← 20042006 → 2005 Big Ten Conference…

Welcome Welcome! Hello, Andy4190, and welcome to Wikipedia! Thank you for your contributions. I hope you like the place and decide to stay. Here are some pages that you might find helpful: The five pillars of Wikipedia Tutorial How to edit a page How to write a great article Manual of Style I hope you enjoy editing here and being a Wikipedian! Please sign your messages on discussion pages using four tildes (~~~~); this will automatically insert your username and the date. If you need help, check…

Anti-materiel rifle Arash Anti-Materiel Rifle Arash held by an IRGC soldierTypeAnti-materiel riflePlace of originIranService historyUsed byIran and HezbollahProduction historyDesigner2011Produced2013–presentNo. built1200SpecificationsMass20 kilograms (44 lb) with magazineLength180 centimetres (71 in)CartridgeProbably 20×102mm, HEI[1]Actionsemi-automaticMuzzle velocity1050 m/s[2]Maximum firing range3000 m[2]Feed systemBo…

Kembali kehalaman sebelumnya