Planariyani sinash - Planarity testing

Yilda grafik nazariyasi, planariyani sinash muammo algoritmik berilgan grafikaning a ekanligini tekshirishning muammosi planar grafik (ya'ni uni tekislikda chekka kesishmasdan chizish mumkinmi yoki yo'qmi). Bu yaxshi o'rganilgan muammo Kompyuter fanlari buning uchun ko'plab amaliy algoritmlar Ko'pchilik romanning afzalliklaridan foydalangan holda paydo bo'ldi ma'lumotlar tuzilmalari. Ushbu usullarning aksariyati ishlaydi O (n) vaqt (chiziqli vaqt), qaerda n bu grafadagi qirralarning (yoki tepaliklarning) soni, ya'ni asimptotik jihatdan maqbul. Faqat bitta mantiqiy qiymat bo'lish o'rniga, planaritani sinash algoritmining natijasi tekis bo'lishi mumkin grafik ichiga joylashtirish, agar grafik tekis, yoki a kabi tekislikka to'siq bo'lsa Kuratovskiy subgrafasi agar u bo'lmasa.

Planarlik mezonlari

Planaritni sinash algoritmlari odatda grafikalar nazariyasidagi planar grafikalar to'plamini grafik chizmalaridan mustaqil ravishda tavsiflovchi teoremalardan foydalanadi.

Fraysseix-Rosenstiehl planarligi kriteriyasidan to'g'ridan-to'g'ri planaritani sinash algoritmlarining bir qismi sifatida foydalanish mumkin, Kuratovskiy va Vagner teoremalari bilvosita dasturlarga ega: agar algoritm uning nusxasini topsa K5 yoki K3,3 berilgan grafada, kirish grafasi tekis emasligi va qo'shimcha hisoblashsiz qaytishiga amin bo'lishi mumkin.

Planar grafikalarni matematik jihatdan tavsiflaydigan, lekin planaritani sinash algoritmlari uchun unchalik muhim bo'lmagan boshqa planarlik mezonlariga quyidagilar kiradi.

Algoritmlar

Yo'lni qo'shish usuli

Klassik yo'l qo'shilishi usuli Hopkroft va Tarjan[1] 1974 yilda birinchi bo'lib chop etilgan chiziqli vaqtli planaritani sinash algoritmi edi. Amalga oshirish Hopkroft va Tarjan algoritmi berilgan Ma'lumotlarning samarali turlari va algoritmlari kutubxonasi tomonidan Mehlhorn, Mutzel va Naxer [2][3].[4] 2012 yilda Teylor [5] ikki algoritmli komponentlarning planar joylashtirilishi uchun siklik chekka tartibining barcha almashtirishlarini yaratish uchun ushbu algoritmni kengaytirdi.

Vertex qo'shish usuli

Vertex-ni qo'shish usullari an-ning mumkin bo'lgan birikmalarini ifodalovchi ma'lumotlar tuzilishini saqlab turish orqali ishlaydi induktsiya qilingan subgraf berilgan grafikadan va ushbu tuzilishga tepaliklarni birma-bir qo'shib qo'yish. Ushbu usullar samarasiz O (n2tomonidan ishlab chiqilgan usul Lempel, Hatto va Cederbaum 1967 yilda.[6] Buni Even va Tarjan takomillashtirdi, ular uchun chiziqli vaqt echimini topdilar s,t- raqamlash bosqichi,[7] va tomonidan Kabin va Lueker, kim tomonidan ishlab chiqilgan PQ daraxti ma'lumotlar tuzilishi. Ushbu yaxshilanishlar bilan u chiziqli vaqtga ega va amalda yo'llarni qo'shish usulidan ustundir.[8] Ushbu usul, shuningdek, tekislikdagi grafika uchun tekis joylashishni (chizishni) samarali hisoblash imkonini berish uchun kengaytirildi.[9] 1999 yilda Shih va Xsu ushbu usullarni kompyuter daraxti (PQ daraxtining ildizsiz varianti) va postorder traversal ning chuqurlikdan birinchi qidirish tepaliklar daraxti.[10]

Yon qo'shish usuli

2004 yilda Jon Boyer va Vendi Mirvold [11] soddalashtirilgan O ishlab chiqardi (n) PQ daraxti usulidan ilhomlangan algoritm, PQ daraxtidan xalos bo'ladi va iloji bo'lsa, planar ko'mishni hisoblash uchun chekka qo'shimchalardan foydalanadi. Aks holda, Kuratovskiy bo'linmasi (ikkalasining ham) K5 yoki K3,3) hisoblangan. Bu bugungi eng zamonaviy algoritmlardan biri (ikkinchisi de Fraysseix, de Mendez va Rozenstiehlning planaritik sinov algoritmi[12][13]). Qarang [14] Boyer va Mirvold planaritatsiyasi testining dastlabki versiyasi bilan eksperimental taqqoslash uchun. Bundan tashqari, Boyer-Mirvold testi tekisliksiz kirish grafigining bir nechta Kuratovskiy bo'linmalarini ishlab chiqarish hajmiga bog'liq ravishda ishlaydigan vaqt ichida ajratish uchun kengaytirildi.[15] Planaritet testi uchun manba kodi[16][17] va ko'plab Kuratovskiy bo'linmalarini qazib olish[16] hammaga ochiq. Kuratovskiy subgrafini vertikal vaqt ichida chiziqli vaqtda joylashtiradigan algoritmlar 1980-yillarda Uilyamson tomonidan ishlab chiqilgan.[18]

Qurilish ketma-ketligi usuli

Har xil usul 3 ta bog'langan grafikaning induktiv konstruktsiyasidan foydalanib, har bir 3 ta ulangan komponentning planar ko'milishini bosqichma-bosqich qurish uchun foydalaniladi. G (va shuning uchun tekislikning joylashtirilishi G o'zi).[19] Qurilish boshlanadi K4 va shunday aniqlanganki, to'liq komponentga boradigan har bir oraliq grafika yana 3 ga bog'langan bo'ladi. Bunday grafikalar noyob joylashtirilganligi sababli (varaqlash va tashqi yuzni tanlashgacha), keyingi kattaroq grafika, hanuzgacha tekis bo'lsa, avvalgi grafigini takomillashtirish bo'lishi kerak. Bu planaritik testni har bir qadam uchun faqat keyingi qo'shilgan qirraning joriy ko'milishning tashqi tomonida ikkala uchi bo'ladimi-yo'qligini tekshirishga kamaytirishga imkon beradi. Bu kontseptual jihatdan juda sodda bo'lsa-da (va chiziqli ish vaqtini beradi), uslubning o'zi qurilish ketma-ketligini topish murakkabligidan aziyat chekmoqda.

Adabiyotlar

  1. ^ Xopkroft, Jon; Tarjan, Robert E. (1974), "Planarlikning samarali tekshiruvi", Hisoblash texnikasi assotsiatsiyasi jurnali, 21 (4): 549–568, doi:10.1145/321850.321852, hdl:1813/6011.
  2. ^ Mehlxorn, Kurt; Mutzel, Petra (1996), "Hopkroft va Tarjan planaritasini sinash algoritmining qo'shilish bosqichi to'g'risida", Algoritmika, 16 (2): 233–242, doi:10.1007 / bf01940648, hdl:11858 / 00-001M-0000-0014-B51D-B
  3. ^ Mehlxorn, Kurt; Mutzel, Petra; Naxer, Stefan (1993), Hopkroft va Tarjan Planaritatsiyasini sinab ko'rish va kiritish algoritmini amalga oshirish
  4. ^ Mehlxorn, Kurt; Näher, Stefan (1995), "LEDA: ma'lumotlarning samarali turlari va algoritmlari kutubxonasi", ACM aloqalari, 38 (1): 96–102, CiteSeerX  10.1.1.54.9556, doi:10.1145/204865.204889
  5. ^ Teylor, Martin G. (2012). Yo'l qo'shilishi bilan planariyani sinash (Fan nomzodi). Kent universiteti. Arxivlandi asl nusxasidan 2016-03-05. Alt URL
  6. ^ Lempel, A .; Hatto, S .; Cederbaum, I. (1967), "Graflarni planaritik sinovdan o'tkazish algoritmi", Rozenstielda, P. (tahr.), Graflar nazariyasi, Nyu-York: Gordon va buzilish, 215–232 betlar.
  7. ^ Hatto, Shimon; Tarjan, Robert E. (1976), "Hisoblash an st- raqamlash ", Nazariy kompyuter fanlari, 2 (3): 339–344, doi:10.1016/0304-3975(76)90086-4.
  8. ^ Boyer va Mirvold (2004), p. 243: "Uning LEDA-da tatbiq etilishi ko'plab boshqa O (n) - vaqtni rejalashtirish algoritmlari. "
  9. ^ Chiba, N .; Nishizeki, T.; Abe, A .; Ozawa, T. (1985), "PQ-daraxtlar yordamida planar grafikalarni kiritish uchun chiziqli algoritm", Kompyuter va tizim fanlari jurnali, 30 (1): 54–76, doi:10.1016/0022-0000(85)90004-2.
  10. ^ Shih, V. K.; Hsu, W. L. (1999), "Yangi planarlik sinovi", Nazariy kompyuter fanlari, 223 (1–2): 179–191, doi:10.1016 / S0304-3975 (98) 00120-0.
  11. ^ Boyer, Jon M.; Mirvold, Vendi J. (2004), "Kesish qismida: soddalashtirilgan O (n) chekka qo'shilishi bilan planaritatsiya " (PDF), Grafik algoritmlari va ilovalari jurnali, 8 (3): 241–273, doi:10.7155 / jgaa.00091.
  12. ^ de Fraysseix, H.; Ossona de Mendez, P.; Rozenstiehl, P. (2006), "Trémaux daraxtlari va planariya", Xalqaro kompyuter fanlari asoslari jurnali, 17 (5): 1017–1030, arXiv:matematik / 0610935, doi:10.1142 / S0129054106004248.
  13. ^ Brandes, Ulrik (2009), Chapdan o'ngga tekislik sinovi (PDF).
  14. ^ Boyer, Jon M.; Kortese, P. F.; Patrignani, M.; Battista, G. D. (2003), "O'zingizning P va Q-laringizga e'tibor berishni to'xtating: tezkor va sodda DFS-ga asoslangan planarlikni sinab ko'rish va algoritmni kiritish", Proc. 11-chi Int. Simp. Grafika chizmasi (GD '03), Kompyuter fanidan ma'ruza matnlari, 2912, Springer-Verlag, 25-36 betlar
  15. ^ Chimani M.; Mutzel, P.; Shmidt, J. M. (2008), "Ko'plab Kuratovskiy bo'linmalaridan samarali qazib olish", Proc. 15-chi Int. Simp. Grafika chizmasi (GD'07), Kompyuter fanidan ma'ruza matnlari, 4875, Sidney, Avstraliya: Springer-Verlag, 159-170 betlar.
  16. ^ a b "OGDF - Ochiq Grafika chizmasi: Boshlash".
  17. ^ "Grafika kutubxonasini kuchaytirish: Boyer-Mirvold Planariyalarni sinash / ko'mish - 1.40.0".
  18. ^ Uilyamson, S. G. (1984), "Chuqurlik bo'yicha birinchi izlash va Kuratovskiyning pastki yozuvlari", ACM jurnali, 31 (4): 681–693, doi:10.1145/1634.322451
  19. ^ Shmidt, Jens M. (2014), Avtomatika, tillar va dasturlash, Kompyuter fanidan ma'ruza matnlari, 8572, 967-978 betlar, doi:10.1007/978-3-662-43948-7_80, ISBN  978-3-662-43947-0