Kirkpatrick – Seidel algoritması - Kirkpatrick–Seidel algorithm - Wikipedia

Kirkpatrick – Seidel algoritmasıyazarları tarafından potansiyel bir "nihai düzlemsel dışbükey gövde algoritması" olarak önerilen, bir algoritma hesaplamak için dışbükey örtü düzlemdeki bir dizi nokta ile zaman karmaşıklığı, nerede giriş noktalarının sayısıdır ve karinadaki nokta sayısıdır (bazı metinlerde belirtildiği gibi baskın olmayan veya maksimal noktalar). Böylece, algoritma çıktı duyarlı: çalışma süresi hem girdi boyutuna hem de çıktı boyutuna bağlıdır. Çıktıya duyarlı başka bir algoritma olan hediye paketleme algoritması, çok daha önceden biliniyordu, ancak Kirkpatrick-Seidel algoritması, önemli ölçüde daha küçük olan ve her zaman çıktıya duyarlı olmayan algoritmaların sınırları. Kirkpatrick – Seidel algoritması, mucitlerinin adını almıştır, David G. Kirkpatrick ve Raimund Seidel.[1]

Algoritma asimptotik olarak optimal olsa da, orta büyüklükteki problemler için pek pratik değildir.[2]

Algoritma

Algoritmanın temel fikri, bir tür tersine çevrilmesidir. böl ve yönet algoritması dışbükey gövdeleri için Preparata ve Hong, yazarlar tarafından "fetih öncesi evlilik" olarak adlandırıldı.

Geleneksel böl ve yönet algoritması, giriş noktalarını iki eşit parçaya böler, örneğin dikey bir çizgi ile, tekrarlı girdinin sol ve sağ alt kümeleri için dışbükey gövdeleri bulur ve ardından "köprü kenarlarını" bularak iki gövdeyi tek bir gövdede birleştirir, bitanjantlar iki gövdeyi yukarıdan ve aşağıdan bağlayan.

Kirkpatrick – Seidel algoritması, girişi daha önce olduğu gibi böler. medyan of x- giriş noktalarının koordinatları. Bununla birlikte, algoritma, sonraki adımların sırasını tersine çevirir: bir sonraki adım, dışbükey gövdenin, bu medyan x koordinatı tarafından tanımlanan dikey çizgiyle kesişen kenarlarını bulmaktır, bu da doğrusal zaman gerektirmektedir.[3] Yarma hattının sol ve sağ taraflarında bulunan ve nihai gövdeye katkıda bulunamayan noktalar atılır ve algoritma kalan noktalarda yinelemeli olarak ilerler. Daha ayrıntılı olarak, algoritma dışbükey gövdenin üst ve alt kısımları için ayrı bir özyineleme gerçekleştirir; üst gövde için özyinelemede, atılacak katkı sağlamayan noktalar dikey olarak köprü kenarının altındakiler iken, alt gövde için özyinelemede dikey olarak köprü kenarının üzerindeki noktalar atılır.

Şurada Özyinelemenin inci seviyesinde, algoritma en fazla alt problemler, her biri en fazla boyutta . Dikkate alınan alt problemlerin toplam sayısı en fazla , çünkü her alt problem yeni bir dışbükey gövde kenarı bulur. En kötü durum, hiçbir noktanın atılamadığı ve alt problemlerin olabildiğince büyük olduğu zaman ortaya çıkar; yani, tam olarak olduğu zaman seviyeye kadar her özyineleme seviyesindeki alt problemler . Bu en kötü durum için var özyineleme seviyeleri ve her seviyede dikkate alınan puan, dolayısıyla toplam çalışma süresi belirtildiği gibi.

Ayrıca bakınız

Referanslar

  1. ^ Kirkpatrick, David G .; Seidel, Raimund (1986). "Nihai düzlemsel dışbükey gövde algoritması?". Bilgi İşlem Üzerine SIAM Dergisi. 15 (1): 287–299. doi:10.1137/0215021. hdl:1813/6417.
  2. ^ McQueen, Mary M .; Toussaint, Godfried T. (Ocak 1985). "Uygulamada nihai dışbükey gövde algoritması hakkında" (PDF). Desen Tanıma Mektupları. 3 (1): 29–34. doi:10.1016 / 0167-8655 (85) 90039-X. Sonuçlar, O (n Kayıt h) algoritmalar teoride "nihai" olabilirler, çalışma süresi açısından çok az pratik değere sahiptirler.
  3. ^ Orijinal makale Kirkpatrick / Seidel (1986), s. 10, teorem 3.1