Algorithme de Preparata-Hong

En mathématiques et en informatique, plus particulièrement en géométrie algorithmique, l'algorithme de Preparata-Hong est une méthode algorithmique pour calculer le plus petit polygone (dans le plan) ou polyèdre (dans l'espace) qui englobe un ensemble fini de points donnés. Autrement dit, il s'agit de calculer l'enveloppe convexe d'un ensemble fini de points dans l'espace euclidien de dimension 2 (le plan) ou de dimension 3 (l’espace). Cette méthode a été mise au point par Franco Preparata et Su Ji Hong[1]. Sa stratégie repose sur le paradigme connu en informatique sous le nom de « diviser pour régner ». Cet article présente uniquement le cas de la dimension 2.

Description du problème

Exemple d'une enveloppe convexe de 16 points.

On considère un ensemble fini de points. On suppose que tous les points ont toutes leurs coordonnées différentes (si tel n'est pas le cas, on supprime les doublons et on adapte la procédure). On cherche à trouver les sommets du polygone convexe qui contient tous les points de .

Principe en dimension 2

On commence par trier les points de dans l'ordre croissant selon la dernière (c'est-à-dire la deuxième) coordonnée. Soit la liste des points de après ce tri.

Premiers cas

Les premiers cas de l’algorithme diviser pour régner sont ceux où il y a 1, 2 ou 3 points dans . Dans ce cas, le calcul de l’enveloppe convexe est facile : il s'agit du point lui-même dans le premier cas, du segment joignant les 2 points dans le deuxième cas et du triangle de sommet les 3 points pour le troisième cas.

Cas général : procédure récursive

S’il y a strictement plus de 3 points, on applique la stratégie diviser pour régner[1]. « Diviser » signifie ici qu'on sépare l’ensemble des points en deux parties, dites respectivement « inférieure » et « supérieure », avec le même nombre de points, à un point près au plus. On note et les deux sous-ensembles obtenus ; ils forment une partition de . À cause de la convention d'ordonnancement des points, les premiers points du tri ont les deuxièmes coordonnées les plus petites, et est donc la moitié (plus éventuellement un point) des points de dont les ordonnées sont les plus petites, c'est-à-dire qui sont le plus « bas » dans une représentation plane. De même, , le complémentaire de dans , comprend les points de dont les deuxièmes coordonnées, leurs ordonnées, sont les plus grandes, donc les points qui sont les plus « hauts » dans le plan.

L'étape « Régner » consiste alors à calculer les enveloppes convexes respectives de et . On appelle pour simplifier « enveloppe convexe inférieure » l'enveloppe convexe de et « enveloppe convexe supérieure » l'enveloppe convexe de . Cette étape se fait récursivement en divisant à nouveau les deux parties, et ainsi de suite.

Il faut donc aussi savoir reconstruire l’enveloppe convexe globale à partir des enveloppes convexes inférieure et supérieure : cela s'effectue grâce à un algorithme dit « algorithme de fusion », qui relie les deux enveloppes à la fois à gauche et à droite (ici, « à gauche » correspond aux premières coordonnées les plus petites, « à droite » aux plus grandes). À droite, par exemple, l'algorithme va permettre de relier deux points provenant respectivement des parties inférieure et supérieure, en faisant en sorte que tous les points de , dans les deux parties, soient tous à gauche de la droite joignant ces deux points.

Le principe de cet algorithme est le suivant[1] :

  • On part des points les plus à droite de chaque partie, c'est-à-dire des points dont la première coordonnée, l'abscisse, est la plus grande ; on appelle le plus à droite dans et le plus à droite dans ,
  • On cherche dans tel que la pente de la droite soit supérieure à la pente de la droite ,
  • On cherche dans tel que la pente de la droite soit inférieure à la pente de la droite ,
  • On itère jusqu’à rencontrer un blocage.

À la fin de cet algorithme, on relie les deux derniers points trouvés, dans et respectivement.

On réalise ensuite la même opération à gauche de et , c'est-à-dire en partant des points dont la première coordonnée est la plus petite et en adaptant l’algorithme ci-dessus. On retire enfin les arêtes joignant des points intérieurs au nouveau polygone et devenues donc superflues, pour obtenir l'enveloppe convexe globale de .

Algorithme de fusion dans le cas de la dimension 2

Détermination de la tangente à droite

Décrivons ici l'algorithme que l'on va utiliser pour fusionner les enveloppes convexes supérieure et inférieure[1]. Soient et deux polygones convexes du plan euclidien. Soient des entiers strictement positifs, représentant respectivement le nombre de sommets de et de . Soient et les sommets en question. On suppose que les ordonnées des points du premier ensemble sont toutes strictement inférieures à celles des points du second ensemble. On suppose que dans la réunion de ces deux ensembles, les abscisses et les ordonnées sont distinctes deux-à-deux. Supposons aussi que dans chaque ensemble, on range les sommets dans le sens horaire de leur parcours sur le polygone à partir du sommet le plus "à droite" (celui d'abscisse la plus grande, il est représenté sur les figures ci-contre respectivement pour A et B par et ). À l'aide de l'algorithme précédent, on cherche à calculer l'enveloppe convexe de la réunion de ces deux ensembles de points, qu'on va noter , à partir de et . Pour des raisons pratiques, on pourra raisonner sur les indices des sommets de et respectivement modulo et modulo . Nous allons considérer que (le cas se traite de manière analogue, en ce qui concerne à la fois le pseudo-code et la correction).

Pour et , on note la pente de la droite . Pour on note la pente de la droite et pour on note la pente de la droite . On note et respectivement les indices du sommet de le plus "à gauche" (celui d'abscisse la plus petite) et du sommet de le plus "à gauche" (celui d'abscisse la plus petite).

Le but de l'algorithme qui va suivre est de trouver la tangente droite de . Voici le pseudo-code de l'algorithme, on notera et respectivement l'abscisse et l'ordonnée de est un point du plan euclidien, et on suppose que les coordonnées des sommets de et et que les valeurs pour et pour sont stockées dans des tableaux (accessibles à coût constant) :

Soient

On écrit

Si et faire et recommencer à partir de

Si et faire et recommencer à partir de

Renvoyer le couple

Il est facile de voir que l'algorithme termine car on incrémente et de 1 à chaque fois que l'on doit recommencer à partir de la ligne du pseudo-code ; dans le cas marginal où et , on passe directement à la dernière ligne de pseudo-code.

On remarque donc aussi que la complexité de l'algorithme est de l'ordre de , et donc de l'ordre de .

Correction de l'algorithme

Rechercher la tangente droite consiste à trouver les indices dans et dans telles que les points et soient ses extrémités. On se restreint au cas et .

ligne brisée convexe

Grâce à la convexité de et , on remarque que les suites et sont décroissantes (la concaténation des segments associés est une fonction convexe).

tangente droite pour les convexes A et B

Ainsi, on peut caractériser géométriquement la pente de la tangente à droite pour qu'elle constitue bien un côté de l'enveloppe convexe issu de la fusion de et ) de la manière suivante :

  • si , alors  ;
  • si , alors  ;
  • si , alors  ;
  • si , alors .


Il reste alors à montrer que l'algorithme renvoie bien ce que l'on souhaite, c'est-à-dire les indices dans et dans vérifiant la caractérisation ci-dessus.

On sait que l'algorithme s'arrête quand on a les deux conditions et . Pour être sûr que et , il faut s'assurer que l'on a l'intégralité de la caractérisation précédente. Pour cela, on distingue trois cas :

  • soit on a , auquel cas on a directement la caractérisation, l'algorithme renvoie bien ce que l'on souhaite ;
  • soit on a auquel cas soit une des deux dernières lignes du code n'est jamais exécutée, et on peut alors montrer facilement que l'on a la caractérisation voulue en examinant la seule ligne de code itérée ;
  • soit il y a déjà eu une itération des deux dernières lignes de pseudo-code, et on distingue alors deux sous-cas :

l'indice est le dernier indice auquel on a fait une incrémentation, auquel cas on avait juste avant l'incrémentation, on a aussi (regarder le triangle sur la figure ci-contre) et par succession d'inégalités des pentes sur la chaîne , on réitère l'inégalité pour remonter à juste après la dernière incrémentation de l'indice (qui existe par hypothèse) et l'indice correspondant vérifie (car l'incrémentation de indique de et donc la chaîne est concave), par la chaîne d'inégalité on a bien , de même (par inégalité des pentes sur la fonction convexe issue de la chaîne ) cela donne  : en incrémentant (de 1), on a finalement les conditions et  ;

l'indice est le dernier indice auquel on a fait une incrémentation, juste avant cette incrémentation on a . De même on ne peut pas avoir , sinon on a la chaîne qui est concave, ce qui entraîne (inégalité des pentes) et comme la chaîne est concave par hypothèse, on obtient et donc que la chaine est concave , ce qui veut dire que  ; si on revient sur le pseudo-code, si juste avant la dernière incrémentation de on avait une incrémentation de , alors on aurait eu d'après la troisième ligne de pseudo-code que , ce qui est impossible ; donc comme il est supposé qu'on a incrémenté au moins une fois, juste avant la dernière incrémentation de , on a encore une autre incrémentation de avec  ; il s'obtient alors par récurrence qu'on ne va jamais atteindre dans l'exécution de l'algorithme : contradiction. On a alors la première inégalité . Aussi, comme la chaîne est concave par hypothèse, on obtient directement . Donc, en incrémentant (de 1), on a bien les conditions et .

Ceci termine la preuve de la correction de l'algorithme[1].

Complexité temporelle de l’algorithme

On suppose que pour un ensemble initial de points du plan, cet algorithme de fusion est exécuté en temps . Ainsi, en notant la complexité temporelle associée au calcul de l'enveloppe convexe de points du plan euclidien, stockés dans un tableau et triés par avance dans l'ordre croissant selon une coordonnée, on a la relation de récurrence suivante :

Par le master theorem[2],[3] ou par une analyse à la main, on conclut que est en . Comme le tri d'un tableau (par exemple par tri fusion) peut être réalisé en temps , la complexité totale de l'algorithme est elle aussi en .

Une autre approche du problème

Il existe une autre façon de calculer l'enveloppe convexe de en calculant deux convexes non bornés tels que l'intersection des deux donne l'enveloppe convexe finale, et en déterminant pour chacun de ces convexes l'ensemble des segments et demi-droites qui les délimitent. Il s'agit d'une méthode proposée par F. Preparata et M. Shamos[4].

Notes et références

  1. a b c d et e (en) Franco P. Preparata et Su Ji Hong, « Convex Hulls of Finite Sets of Points in Two and Three Dimensions », Communications of the ACM, vol. 20, no 2,‎ , p. 87-93 (lire en ligne).
  2. (en) Sanjoy Dasgupta, Christos H. Papadimitriou et Umesh V. Vazirani, Algorithms, McGraw-Hill, .
  3. (en) Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest et Clifford Stein, Introduction to algorithms, MIT Press, .
  4. (en) Franco P. Preparata et Michael Ian Shamos, Computational geometry, New York, Springer, (lire en ligne).

Voir aussi

Articles connexes

Liens externes

  • Danièle Beauquier, Jean Berstel et Philippe Chrétienne, « Éléments d'algorithmique », (consulté le ).

Read other articles:

Historic house in Texas, United States This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Frank M. and Annie G. Covert House – news · newspapers · books · scholar · JSTOR (March 2008) (Learn how and when to remove this template message) United States historic placeFrank M. and Annie G. Covert HouseU.S. National...

 

 

كنيسة القديس أندراوس الأنجليكانية في بندر سري بكاوان. تُشكل المسيحية في بروناي ثاني أكثر الديانات إنتشاراً بين السكان بعد الإسلام،[1][2] وهي دين حوالي 10% من سكان بروناي.[3] يُحظر الإتصال مع المسيحيين من بلدان أخرى، واستيراد الكتب المقدسة والاحتفال في عيد الميلاد ...

 

 

Artikel ini memiliki beberapa masalah. Tolong bantu memperbaikinya atau diskusikan masalah-masalah ini di halaman pembicaraannya. (Pelajari bagaimana dan kapan saat yang tepat untuk menghapus templat pesan ini) Artikel ini membutuhkan rujukan tambahan agar kualitasnya dapat dipastikan. Mohon bantu kami mengembangkan artikel ini dengan cara menambahkan rujukan ke sumber tepercaya. Pernyataan tak bersumber bisa saja dipertentangkan dan dihapus.Cari sumber: Rumpun bahasa Min Selatan �...

Dalam nama Jepang ini, nama keluarganya adalah Ōshima. Tadamori Ōshima大島 理森 Ketua Dewan Perwakilan Rakyat JepangMasa jabatan21 April 2015 – 14 Oktober 2021Penguasa monarkiAkihitoNaruhitoWakil Tatsuo Kawabata Hirotaka Akamatsu PendahuluNobutaka MachimuraPenggantiHiroyuki HosodaMenteri Pertanian, Kehutanan dan PerikananMasa jabatan30 September 2002 – 1 April 2003Perdana MenteriJunichiro Koizumi PendahuluTsutomu TakebePenggantiYoshiyuki KameiMenteri Pendidikan dan...

 

 

العلاقات الغواتيمالية المالية غواتيمالا مالي   غواتيمالا   مالي تعديل مصدري - تعديل   العلاقات الغواتيمالية المالية هي العلاقات الثنائية التي تجمع بين غواتيمالا ومالي.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: وجه الم...

 

 

National Football League rivalry Dallas Cowboys–Green Bay PackersThe Cowboys and Packers playing in 2007 Dallas Cowboys Green Bay Packers First meetingNovember 13, 1960Packers 41, Cowboys 7Latest meetingJanuary 14, 2024 Packers 48, Cowboys 32StatisticsMeetings total39All-time seriesPackers lead, 22–17Regular season seriesPackers lead, 17–13Postseason resultsPackers lead, 5–4Largest victoryPackers, 45–7 (2010)Longest win streakCowboys, 8 (1991–96)Current win streakPackers, 5 (2016�...

Sawi Pagoda Klasifikasi ilmiah Kerajaan: Plantae (tanpa takson): Angiosperms (tanpa takson): Eudicots (tanpa takson): Rosids Ordo: Brassicales Famili: Brassicaceae Genus: Brassica Spesies: B. rapa Subspesies: B. r. subsp. narinosa Nama trinomial Brassica rapa subsp. narinosa(L.H.Bailey) Hanelt Sawi pagoda, yang dikenal juga dengan nama lainnya yaitu Ta Ke Chai dan Tatsoi, adalah jenis sawi yang berasal dari beberapa daerah, salah satunya adalah Tiongkok. Sawi pagoda ini memiliki be...

 

 

Nama ini menggunakan kebiasaan penamaan Filipina; nama tengah atau nama keluarga pihak ibunya adalah Schramm dan marga atau nama keluarga pihak ayahnya adalah Cayetano. Alan Peter S. Cayetano Anggota DPR dari dapil I Taguig–PaterosPetahanaMulai menjabat 30 Juni 2019PendahuluArnel CeraficaPenggantiPetahanaMasa jabatan30 Juni 1998 – 30 Juni 2007PendahuluDante TiñgaPenggantiLani CayetanoKetua DPR Filipina 26Masa jabatan22 Juli 2019 – 12 Oktober 2020Wakil Lih...

 

 

City in Oregon, United StatesMitchell, OregonCityMain Street as seen from High StreetLocation in OregonCoordinates: 44°34′2″N 120°9′13″W / 44.56722°N 120.15361°W / 44.56722; -120.15361CountryUnited StatesStateOregonCountyWheelerIncorporated1891; 133 years ago (1891)Government • MayorSteven TrippArea[1] • Total1.28 sq mi (3.31 km2) • Land1.28 sq mi (3.31 km2) �...

Large-scale migration after WWIIArthur Calwell with the Kalnins family – the 50,000th New Australian – August 1949 In 1954, 50,000 Dutch migrants arrived Post-war immigration to Australia deals with migration to Australia in the decades immediately following World War II, and in particular refers to the predominantly European wave of immigration which occurred between 1945 and the end of the White Australia policy in 1973. In the immediate aftermath of World War II, Ben Chifley, Prime Min...

 

 

Street in Chicago, Illinois This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Columbus Drive Chicago – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this message) Columbus Drive (Fairbanks Court)Christopher Columbus Drive300 EastColumbus Drive during the 2007 Ch...

 

 

County in Florida, United States This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (October 2021) County in FloridaWakulla CountyCountyWakulla County Courthouse SealLocation within the U.S. state of FloridaFlorida's location within the U.S.Coordinates: 30°09′N 84°23′W / 30.15°N 84.38°W / 30.15; -84.38Country Unite...

Dingwall CanalThe canal in 2009SpecificationsLocks0Statusreverted to riverHistoryPrincipal engineerThomas TelfordDate completed1816Date closed1880sGeographyStart pointDingwallConnects toCromarty Firth vteDingwall Canal Legend River Peffery Tulloch Street bridge Dingwall wharf Dingwall Castle Railway bridge Firing range Footbridge Harbour Cromarty Firth The Dingwall Canal was a short tidal canal running from the town of Dingwall to the Cromarty Firth in the county of Ross and Cromarty, Scotla...

 

 

Miniatura di Flaminio Lolli (circa 1832), conservata al Museo del Risorgimento di Modena Flaminio Lolli (Mirandola, 23 maggio 1797 – Mirandola, 28 novembre 1862) è stato un patriota e letterato italiano. Indice 1 Biografia 2 Note 3 Bibliografia 4 Altri progetti Biografia Figlio del fisico Luigi Lolli e di Maria Rouseau (ex vedova del letterato Luigi Gallafasi), apprese privatamente i rudimenti della latinità da don Paolo Zeni, coltivando altresì la musica ed il disegno, di cui apprese i ...

 

 

التدخل العسكري الروسي في الحرب الأهلية السورية جزء من الانخراط الروسي في الحرب الأهلية السورية التدخل العسكري ضد تنظيم الدولة الإسلامية الحرب الأهلية السورية طائرتي سوخوي سو-25 هجوميتان في مطار باسل الأسد الدولي باللاذقية معلومات عامة التاريخ 30 سبتمبر 2015 – جاري (8 سنواتٍ ...

Provincial park in Ontario, Canada Otoskwin–Attawapiskat River Provincial ParkIUCN category II (national park)LocationKenora District, Ontario, CanadaCoordinates52°10′17″N 87°35′02″W / 52.17139°N 87.58389°W / 52.17139; -87.58389[1]Length420 km (260 mi)Area82,529.00 ha (318.6463 sq mi)[2]DesignationWaterwayEstablished1989Named forOtoskwin and Attawapiskat RiversGoverning bodyOntario Parkswww.ontarioparks.com/pa...

 

 

Television channel Foxtel MoviesCountryAustraliaProgrammingLanguage(s)EnglishPicture format576i (SDTV)1080i (HDTV)4K (UHDTV)Timeshift servicePremiere +2 Action +2 Family +2OwnershipOwnerFoxtel NetworksSister channelsFoxtel Networks channelsHistoryLaunched1 January 2013; 11 years ago (2013-01-01)ReplacedMovie NetworkShowtimeLinksWebsitefoxtelmovies.com.auAvailabilityStreaming mediaFoxtel GoWatch Live (Australia only) Foxtel Movies is a suite of 11 pay television film channel...

 

 

Daniel D. TompkinsDaniel D. Tompkins Wakil Presiden Amerika Serikat 6Masa jabatan4 Maret 1817 – 3 Maret 1825PendahuluElbridge GerryPenggantiJohn Caldwell Calhoun Informasi pribadiLahir(1774-04-21)21 April 1774Scarsdale, New YorkMeninggal11 Juni 1825Tompkinsville, Staten IslandSuami/istriHannah Minthorne TompkinsSunting kotak info • L • B Daniel D. Tompkins (21 April 1774 – 11 Juni 1825), adalah wakil presiden Amerika Serikat yang keenam. Ia menjaba...

Political alliance aiming to establish a democratic, secular Iranian republic Not to be confused with National Resistance Movement of Iran or National Council of Iran. National Council of Resistance of Iran شورای ملی مقاومت ایران (Persian)Conseil national de la résistance iranienne (French)Golden Lion and Sun (similar to Imperial/ traditional logo of lion and sun) was adopted in 1993[1]AbbreviationNCRISpokespersonAlireza Jafarzadeh[2]President-ele...

 

 

فيروز نادري (بالفارسية: فیروز نادری)‏  معلومات شخصية الميلاد 25 مارس 1946   شيراز  الوفاة 9 يونيو 2023 (77 سنة) [1]  كاليفورنيا  مواطنة إيران الولايات المتحدة  الحياة العملية المدرسة الأم جامعة كاليفورنيا الجنوبية (التخصص:هندسة الكهرباء) (الشهادة:ماجستير العلوم) ...