Maksimal ajratilgan to'plam - Maximum disjoint set

Yilda hisoblash geometriyasi, a maksimum disjoint set (MDS) nomzod shakllarining berilgan to'plamidan tanlangan bir-birining ustiga chiqmaydigan geometrik shakllarning eng katta to'plamidir.

MDS-ni topish kabi dasturlarda muhim ahamiyatga ega avtomatik yorliqlarni joylashtirish, VLSI elektron dizayni va uyali aloqa multiplekslash chastotasini taqsimlash.

Qatlamaydigan shakllarning har bir to'plami mustaqil to'plam ichida kesishish grafigi shakllarning Shuning uchun MDS muammosi maksimal mustaqil to'plam (MIS) muammosi. Ikkala muammo ham NP tugadi, ammo MDSni topish ikki jihatdan MIS topishdan ko'ra osonroq bo'lishi mumkin:

  • Umumiy MIS muammosi uchun eng yaxshi ma'lum bo'lgan aniq algoritmlar eksponent hisoblanadi. Ba'zi geometrik kesishish grafikalarida MDSni topishning subeksponensial algoritmlari mavjud.[1]
  • Umumiy MIS muammosini taxmin qilish qiyin va hattoki doimiy faktorli yaqinlashishga ega emas. Ba'zi geometrik kesishish grafikalarida mavjud polinom-vaqtni taxminiy sxemalari MDSni topish uchun (PTAS).

MDS muammosini har bir shaklga har xil vazn berish va maksimal umumiy og'irlik bilan ajratilgan to'plamni izlash orqali umumlashtirish mumkin.

Quyidagi matnda MDS (C) to'plamdagi maksimal ajratilgan to'plamni bildiradi C.

Ochko'zlik algoritmlari

To'plam berilgan C shakllari, MDS ga yaqinlashishi (C) ni quyidagilar orqali topish mumkin ochko'zlik algoritmi:

  • INITIALIZATION: bo'sh to'plamni ishga tushirish, S.
  • Qidirish: har qanday shakl uchun x yilda C:
    1. Hisoblang N (x) - barcha shakllarning pastki qismi C bu kesishadi x (shu jumladan x o'zi).
    2. Ushbu kichik to'plamdagi eng katta mustaqil to'plamni hisoblang: MDS (N (x)).
    3. Tanlang x shu kabi | MDS (N (x)) | minimallashtirilgan.
  • Qo'shish x ga S.
  • Olib tashlash x va N (x) dan C.
  • Agar shakllar mavjud bo'lsa C, Qidiruvga qayting.
  • END: to'plamni qaytaring S.

Har qanday shakl uchun x biz qo'shadigan narsalar S, biz shakllarni yo'qotamiz N (x), chunki ular kesishadi x va shu bilan qo'shib bo'lmaydi S keyinroq. Shu bilan birga, ushbu shakllarning ba'zilari o'zaro bir-birini kesib o'tishadi va shuning uchun har qanday holatda ularning barchasi optimal echimda bo'lishi mumkin emas MDS (S). Shakllarning eng katta to'plami mumkin barchasi maqbul echimda bo'ladi MDS (N (x)). Shuning uchun, ni tanlang x bu minimallashtiradi | MDS (N (x)) | qo'shishdan yo'qotishni minimallashtiradi x ga S.

Xususan, agar mavjudligini kafolatlasak x buning uchun | MDS (N (x)) | doimiy bilan chegaralangan (aytaylik, M), keyin bu ochko'zlik algoritmi doimiylikni beradi M- omillarni taxminiyligi, chunki biz quyidagilarga kafolat beramiz:

Bunday yuqori chegara M bir nechta qiziqarli holatlar uchun mavjud:

1 o'lchovli intervallar: aniq polinomial algoritm

IntervalSelection.svg

Qachon C bu chiziqdagi intervallar to'plami, M= 1 va shu bilan ochko'z algoritm aniq MDSni topadi. Buni ko'rish uchun w.l.o.g. intervallarni vertikal ekanligini va ruxsat bering x bilan interval bo'ling eng yuqori so'nggi nuqta. Boshqa barcha intervallar bilan kesilgan x uning pastki so'nggi nuqtasini kesib o'tishi kerak. Shuning uchun, barcha intervallar N (x) bir-birini kesib o'tadi va MDS (N (x)) eng ko'pi 1 ga teng (rasmga qarang).

Shuning uchun, 1 o'lchovli holatda, MDSni o'z vaqtida topish mumkin O(n jurnaln):[2]

  1. Intervallarni pastki uchlari ko'tarilish tartibida saralash (bu vaqt talab etadi) O(n jurnaln)).
  2. Eng pastki so'nggi nuqta bilan oraliq qo'shing va uni kesib o'tgan barcha intervallarni o'chirib tashlang.
  3. Hech qanday interval qolmaguncha davom eting.

Ushbu algoritm shunga o'xshash dastlabki rejalashtirish birinchi rejalashtirish uchun echim intervallarni rejalashtirish muammo.

1 o'lchovli holatdan farqli o'laroq, 2 yoki undan ortiq o'lchovlarda MDS muammosi NP bilan to'ldiriladi va shu bilan aniq super-polinom algoritmlariga yoki taxminiy polinom algoritmlariga ega bo'ladi.

Yog 'shakllari: doimiy faktorli taxminlar

KesishishUnitDisks.svg

Qachon C bu birlik disklari to'plami, M=3,[3] chunki eng chap disk (markazi eng kichigi bo'lgan disk) x koordinatali) ko'pi bilan 3 ta ajratilgan diskni kesib o'tadi (rasmga qarang). Shuning uchun ochko'zlik algoritmi taxminan 3 ga yaqinlashadi, ya'ni o'lchamlari kamida bo'linadigan to'plamni topadi MDS (C)/3.

Xuddi shunday, qachon C eksa-parallel birlik kvadratlarining to'plami, M=2.

IntersectingDisks.svg

Qachon C o'zboshimchalik bilan o'lchamdagi disklar to'plami, M= 5, chunki eng kichik radiusi bo'lgan disk eng ko'p 5 ta boshqa ajratilgan disklarni kesib o'tadi (rasmga qarang).

Xuddi shunday, qachon C o'zboshimchalik bilan o'qi-parallel kvadratlar to'plami, M=4.

Boshqa barqarorlarni boshqalari uchun hisoblash mumkin muntazam ko'pburchaklar.[3]

Algoritmlarni ajratib oling

MDSni topishda eng keng tarqalgan yondashuv - bu bo'linish va zabt etish. Ushbu yondashuvdagi odatiy algoritm quyidagicha ko'rinadi:

  1. Berilgan shakllar to'plamini ikki yoki undan ortiq kichik guruhlarga bo'ling, shunda har bir kichik to'plamdagi shakllar geometrik mulohazalar tufayli boshqa kichik to'plamlardagi shakllarni qoplay olmaydi.
  2. Rekursiv ravishda har bir kichik to'plamdagi MDSni toping.
  3. MDSlarning birlashmasini barcha kichik to'plamlardan qaytaring.

Ushbu yondashuvning asosiy muammosi to'plamni pastki qismlarga bo'lishning geometrik usulini topishdir. Buning uchun quyidagi kichik bo'limlarda tushuntirilganidek, kichik hajmdagi biron bir shaklga mos kelmaydigan shakllarni tashlash kerak bo'lishi mumkin.

Eksa-parallel to'rtburchaklar: Logaritmik-faktor yaqinlashishi

Ruxsat bering C to'plami bo'ling n tekislikda o'qi-parallel to'rtburchaklar. Quyidagi algoritm hech bo'lmaganda kattaligi bilan ajratilgan to'plamni topadi o'z vaqtida :[2]

  • INITIALIZATION: berilgan to'rtburchaklar gorizontal qirralarini ular bo'yicha saralash y- koordinatali va vertikal qirralar ularning tomonidan x-koordinat (bu qadam vaqt talab etadi O(n jurnaln)).
  • ShARTNI TO'XTATISH: Agar ko'pi bo'lsa n ≤ 2 shakl, MDSni to'g'ridan-to'g'ri hisoblang va qaytib keling.
  • QARShI QISM:
    1. Ruxsat bering median bo'ling x- muvofiqlashtirish.
    2. Kiritilgan to'rtburchaklar chiziqqa nisbatan uchta guruhga bo'linadi : butunlay chap tomonida bo'lganlar (), uning o'ng tomonida joylashganlar () va u bilan kesishganlar (). Tuzilishi bo'yicha va eng ko'p n/2.
    3. Rekursiv ravishda hisoblash taxminiy MDS in () va () va ularning birlashishini hisoblang. Qurilish bo'yicha to'rtburchaklar va barchasi bir-biridan ajratilgan, shuning uchun ajratilgan to'plam.
    4. Hisoblash an aniq MDS in (). Barcha to'rtburchaklar ichida bitta vertikal chiziqni kesib o'tadi , bu hisoblash intervallar to'plamidan MDSni topishga teng va uni o'z vaqtida hal qilish mumkin O (n log n) (yuqoriga qarang).
  • Qayting yoki - qaysi biri kattaroq.

Bu oxirgi bosqichda ham induksiya bilan tasdiqlanadi yoki hech bo'lmaganda kardinallikka ega bo'ling .

Taxminan koeffitsient kamaytirildi [4] va to'rtburchaklar turli xil vaznga ega bo'lgan holatlar uchun umumlashtirilgan.[5]

Balandligi bir xil bo'lgan o'qi-parallel to'rtburchaklar: 2-yaqinlashish

Ruxsat bering C to'plami bo'ling n tekislikdagi o'qi parallel to'rtburchaklar, barchasi bir xil balandlikda H lekin turli uzunliklarda. Quyidagi algoritm kamida | MDS (C) | / 2 o'z vaqtida O(n jurnaln):[2]

  • Chizish m gorizontal chiziqlar, shunday qilib:
    1. Ikki chiziq orasidagi ajratish qat'iyan ko'proq H.
    2. Har bir chiziq kamida bitta to'rtburchakni kesib o'tadi (shuning uchun) m ≤ n).
    3. Har bir to'rtburchak aniq bitta chiziq bilan kesilgan.
  • Barcha to'rtburchaklar balandligi bo'lgani uchun H, to'rtburchak bir nechta chiziq bilan kesilishi mumkin emas. Shuning uchun chiziqlar to'rtburchaklar to'plamini ajratadi m kichik to'plamlar () - har bir kichik to'plamga bitta chiziq bilan kesilgan to'rtburchaklar kiradi.
  • Har bir kichik to'plam uchun , aniq MDSni hisoblang bir o'lchovli ochko'zlik algoritmidan foydalanish (yuqoriga qarang).
  • Tuzilishi bilan, () faqat to'rtburchaklar kesib o'tishi mumkin yoki ichida . Shuning uchun, quyidagi ikkita kasaba uyushmalarining har biri ajralgan to'plamlardir:
    • Toq MDSlar birlashmasi:
    • Hatto MDSlar ittifoqi:
  • Ushbu ikkita kasaba uyushmaning eng kattasini qaytaring. Uning hajmi kamida | MDS | / 2 bo'lishi kerak.

Balandligi bir xil bo'lgan o'qi-parallel to'rtburchaklar: PTAS

Ruxsat bering C to'plami bo'ling n tekislikdagi o'qi-parallel to'rtburchaklar, barchasi bir xil balandlikda, lekin turli uzunliklarda. Hech bo'lmaganda | MDS () o'lchamiga ega bo'linmagan to'plamni topadigan algoritm mavjud.C)|/(1 + 1/k) o'z vaqtida O(n2k−1), har bir doimiy uchun k > 1.[2]

Algoritm - bu yuqorida aytib o'tilgan 2-taxminiylikni birlashtirish orqali takomillashtirish dinamik dasturlash ning o'zgaruvchan texnikasi bilan.[6]

Ushbu algoritmni umumlashtirish mumkin d o'lchamlari. Agar yorliqlar bitta o'lchamdan tashqari barcha o'lchamlarda bir xil o'lchamga ega bo'lsa, murojaat qilish orqali shunga o'xshash taxminni topish mumkin dinamik dasturlash o'lchovlardan biri bo'ylab. Bu vaqtni n ^ O (1 / e) gacha kamaytiradi.[7]

Bir xil o'lchamdagi yog'li narsalar: PTAS

Ruxsat bering C to'plami bo'ling n bir xil o'lchamdagi kvadratchalar yoki doiralar. Bor polinom-vaqtni taxminiy sxemasi oddiy siljigan-grid strategiyasidan foydalangan holda MDSni topish uchun. (1 - ichida echim topadie) vaqt ichida maksimal nO(1/e2) vaqt va chiziqli makon.[6] Strategiya har qanday to'plam uchun umumlashtiriladi semiz narsalar taxminan bir xil o'lchamdagi (ya'ni, maksimaldan minimalgacha bo'lgan nisbat doimiy bilan chegaralanganida).

Ixtiyoriy kattalikdagi yog 'ob'ektlari: PTAS

Ruxsat bering C to'plami bo'ling n semiz narsalar (masalan, kvadratchalar yoki doiralar) ixtiyoriy kattaliklar. Bor PTAS ko'p darajali panjara tekislashiga asoslangan MDSni topish uchun. Taxminan bir vaqtning o'zida ikki guruh tomonidan topilgan va ikki xil usulda tasvirlangan.

1-versiya hajmi kamida (1 - 1 / bo'lgan bo'linma to'plamni topadik)2 · | MDS (C) | o'z vaqtida nO(k2), har bir doimiy uchun k > 1:[8]

Disklarni masshtabini kattalashtiring, shunda eng kichik disk diametri 1 ga teng. Disklarni ularning o'lchamlari logaritmasiga asosan darajalarga bo'ling. Ya'ni j- daraja () orasidagi (k + 1)j va (k + 1)j+1, uchun j ≤ 0 (eng kichik disk 0 darajasida).

Har bir daraja uchun j, tekislikdagi chiziqlardan tashkil topgan panjara qo'ying (k + 1)j+1 bir-biridan uzoqda. Qurilishi bo'yicha har bir disk o'z sathidan ko'pi bilan bitta gorizontal chiziq va bitta vertikal chiziqni kesib o'tishi mumkin.

Har bir kishi uchun r, s 0 va k, aniqlang D.(r,s) indeks moduli bo'lgan har qanday gorizontal chiziq bilan kesilmagan disklarning pastki qismi sifatida k bu r, shuningdek indikatori modulli vertikal chiziq bilan k bu s. Tomonidan kaptar teshigi printsipi, kamida bitta juftlik bor (r, s) shu kabi , ya'ni biz MDSni faqat shu erda topishimiz mumkin D.(r,s) va optimal echimdagi disklarning faqat kichik bir qismini o'tkazib yuboring:

  • Barcha uchun k2 ning mumkin bo'lgan qiymatlari r,s (0 ≤ r,s < k), hisoblang D.(r,s) foydalanish dinamik dasturlash.
  • Ulardan eng kattasini qaytaring k2 to'plamlar.
Nuqta ma'lumotlari bo'lgan mintaqa kvadrati

2-versiya hajmi kamida (1 - 2 /k· · MDS (C) | o'z vaqtida nO(k), har bir doimiy uchun k > 1.[7]

Algoritm o'zgargan foydalanadi to'rtburchaklar. Algoritmning asosiy tushunchasi hizalama to'rtburchaklar panjarasiga. Hajmi ob'ekti r deyiladi k-tekislangan (qayerda k ≥ 1 doimiy), agar u maksimal darajada to'rtburchaklar katakchada bo'lsa kr (R ≤ kr).

Ta'rifga ko'ra, a k- kattalikdagi to'rtburchak katak chegarasini kesib o'tuvchi moslashtirilgan ob'ekt R hech bo'lmaganda o'lchamga ega bo'lishi kerak R/k (r > R/k). O'lchamdagi hujayraning chegarasi R 4 bilan qoplanishi mumkink kvadratchalar R/k; shuning uchun bu hujayraning chegarasini kesib o'tuvchi ajratilgan yog 'ob'ektlarining soni ko'pi bilan 4 ga tengkc, qayerda v ob'ektlarning semizligini doimiy ravishda o'lchashdir.

Shuning uchun, agar barcha ob'ektlar yog 'va k-hizalanib, aniq vaqt oralig'ida aniqlangan kelishmovchilikni topish mumkin nO(kc) ajratish va yutish algoritmidan foydalanish. Barcha moslamalarni o'z ichiga olgan to'rtburchak katakchadan boshlang. Keyin rekursiv ravishda uni to'rtburchaklar kichikroq bo'laklarga bo'linib, har bir kichik katakchada maksimalni toping va natijalarni birlashtirsangiz kattaroq katakchada maksimal darajaga erishing. Har bir to'rtburchak xujayraning chegarasini kesib o'tgan birlashtirilmagan semiz jismlarning soni 4 ga tengkc, biz shunchaki optimal taxminiy echimdagi qaysi ob'ektlar chegarani kesib o'tishini "taxmin qilishimiz" mumkin, so'ngra ichidagi narsalarga bo'linish va zabt etishni qo'llaymiz.

Agar deyarli barcha ob'ektlar k-tizilgan, biz shunchaki mavjud bo'lmagan narsalarni tashlab yuborishimiz mumkin k-hizalanib, qolgan ob’ektlarni vaqtida maksimal darajada ajratilgan to‘plamini toping nO(k). Natijada (1 -e) yaqinlashish, bu erda e - bu bo'lmagan narsalarning ulushi k- moslangan.

Agar ko'p ob'ektlar bo'lmasa k-tizilgan, biz ularni qilishga harakat qilishimiz mumkin ktomonidan imzolangan siljish katak (1 / ga ko'paytiriladik,1/k). Birinchidan, moslamalarni masshtabida, ularning barchasi birlik maydonida bo'lishi kerak. Keyin, o'ylab ko'ring k panjaraning siljishi: (0,0), (1 /k,1/k), (2/k,2/k), ..., ((k − 1)/k,(k − 1)/k). Ya'ni, har biri uchun j {0, ..., ichidak - 1}, gridning (j / k, j / k) siljishini ko'rib chiqing. Har bir yorliq 2 ga teng bo'lishini isbotlash mumkink- hech bo'lmaganda moslashtirilgan k - ning 2 qiymatij. Endi, har bir kishi uchun j, bo'lmagan narsalarni tashlang k-da joylashgan (j/k,j/k) siljiting va qolgan narsalarning maksimal darajada ajratilgan to'plamini toping. Ushbu to'plamga qo'ng'iroq qiling A(j). Ajratilgan maksimal maksimal to'plamni chaqiringA*. Keyin:

Shuning uchun, eng katta A(j) kamida o'lchamga ega: (1 - 2 /k)|A* |. Algoritmning qaytish qiymati eng katta hisoblanadi A(j); taxminiy koeffitsient (1 - 2 /k) va ishlash vaqti nO(k). Biz taxminiy omilni xohlagancha kichikroq qilishimiz mumkin, shuning uchun bu a PTAS.

Ikkala versiyani ham umumlashtirish mumkin d o'lchovlar (turli xil taxminiy nisbatlarda) va tortilgan holatga.

Geometrik ajratuvchi algoritmlar

Ajratish va zabt etishning bir nechta algoritmlari ma'lum narsalarga asoslanadi geometrik ajratuvchi teorema. Geometrik separator - bu berilgan shakllar to'plamini ikkita kichik kichik qismga ajratadigan chiziq yoki shakl, chunki bo'linish paytida yo'qolgan shakllar soni nisbatan kichik. Bu ikkalasiga ham imkon beradi PTASlar va quyida tushuntirilganidek sub-eksponentli aniq algoritmlar.

Ixtiyoriy kattalikdagi yog 'ob'ektlari: geometrik ajratgichlardan foydalangan holda PTAS

Ruxsat bering C to'plami bo'ling n semiz narsalar o'zboshimchalik bilan o'lchamlari. Quyidagi algoritm o'lchamlari kamida (1 -O(b)) · | MDS (C) | o'z vaqtida nO(b), har bir doimiy uchun b > 1.[7]

Algoritm quyidagi geometrik ajratuvchi teoremaga asoslanadi, uni shunga o'xshash isbotlash mumkin ajratilgan kvadratlar uchun geometrik ajratuvchi mavjudligining isboti:

Har bir to'plam uchun C semiz narsalarga bo'linadigan to'rtburchak mavjud C ob'ektlarning uchta to'plamiga - Cichida, Ctashqarida va Cchegara, shu kabi:
  • MDS (Cichida)| ≤ aMDS (C)|
  • MDS (Ctashqarida) | ≤ a | MDS (C)|
  • MDS (Cchegara)| v|MDS (C)|

qayerda a va v doimiydir. Agar biz MDSni hisoblasak (C) aniq, biz doimiylikni qila olamiz a ajratuvchi to'rtburchakni to'g'ri tanlash bilan 2/3 gacha past. Ammo biz faqat MDSni taxmin qilishimiz mumkin (C) doimiy koeffitsient bilan, doimiy a kattaroq bo'lishi kerak. Yaxshiyamki, a | dan doimiy mustaqil bo'lib qoladiC|.

Ushbu ajratuvchi teorema quyidagi PTASni yaratishga imkon beradi:

Doimiylikni tanlang b. Gacha bo'lgan barcha mumkin bo'lgan kombinatsiyalarni tekshiring b + 1 ta yorliq.

  • Agar | MDS (C) | eng katta o'lchamga ega b (ya'ni barcha to'plamlari b + 1 yorliqlar ajratilmagan), keyin faqat MDS-ni qaytaring va chiqing. Ushbu qadam talab qilinadi nO(b) vaqt.
  • Aks holda, ajratish uchun geometrik ajratgichdan foydalaning C ikkita kichik guruhga. Taxminan MDS-ni toping Cichida va Ctashqarida ajratib oling va ularning kombinatsiyasini taxminiy MDS sifatida qaytaring C.

Ruxsat bering E(mMDSning optimal hajmi MDS bo'lganda (yuqoridagi algoritmning xatosi)C) = m. Qachon m ≤ b, xato 0 ga teng, chunki disjunktning maksimal to'plami aniq hisoblangan; qachon m > b, xato eng ko'p ortadi vm ajratuvchi bilan kesilgan yorliqlar soni. Algoritm uchun eng yomon holat bu har bir qadamda bo'linish mumkin bo'lgan maksimal nisbatda bo'lishidir a:(1 − a). Shuning uchun xato funktsiyasi quyidagi takrorlanish munosabatini qondiradi:

Ushbu takrorlanishning echimi:

ya'ni, . To'g'ri tanlash orqali taxminiy omilni istagancha kichikroq qilishimiz mumkin b.

Ushbu PTAS to'rtburchaklar asosidagi PTASga qaraganda kosmosga nisbatan samaraliroq va ob'ektlar siljishi mumkin bo'lgan umumlashma bilan shug'ullanishi mumkin, ammo u vaznli ishni ko'rib chiqa olmaydi.

Chegaralangan o'lcham-nisbati bo'lgan disklar: aniq sub-eksponent algoritm

Ruxsat bering C to'plami bo'ling n disklar, eng katta radius va eng kichik radius o'rtasidagi nisbat ko'pi bilan r. Quyidagi algoritm MDS ni topadi (C) o'z vaqtida .[9]

Algoritm a ga asoslangan kenglik bilan chegaralangan geometrik ajratuvchi to'plamda Q barcha disklarning markazlari C. Ushbu ajratuvchi teorema quyidagi aniq algoritmni yaratishga imkon beradi:

  • Ajratuvchi qatorni toping, u ko'pi bilan 2 ga tengn/ 3 markaz uning o'ng tomonida (Cto'g'ri), ko'pi bilan 2n/ 3 markaz chap tomonda (Cchap) va ko'pi bilan O(n) markazlari kamroq masofada joylashgan r/ 2 qatordan (Cint).
  • Ning bir-biriga mos kelmaydigan barcha quyi to'plamlarini ko'rib chiqing Cint. Eng ko'pi bor bunday kichik to'plamlar. Har bir bunday kichik to'plam uchun MDS-ni rekursiv ravishda tuzing Cchap va MDS Cto'g'riva eng katta birlashtirilgan to'plamni qaytaring.

Ushbu algoritmning ishlash muddati quyidagi takrorlanish munosabatini qondiradi:

Ushbu takrorlanishning echimi:

Mahalliy qidiruv algoritmlari

Soxta disklar: PTAS

A pseudo-disklar o'rnatilgan har bir juft ob'ektning chegaralari eng ko'p ikki marta kesib o'tadigan ob'ektlar to'plamidir. (E'tibor bering, ushbu ta'rif butun kollektsiyaga taalluqlidir va to'plamdagi aniq ob'ektlarning shakllari haqida hech narsa demaydi). Pseudo-disklar to'plami cheklangan kasaba uyushma murakkabligi, ya'ni barcha ob'ektlarning birlashuvi chegarasidagi kesishish nuqtalari soni ob'ektlar soniga ko'ra chiziqli.

Ruxsat bering C bilan soxta disklar to'plami bo'ling n ob'ektlar. Quyidagi mahalliy qidiruv algoritmi hech bo'lmaganda o'lchamlarning to'plamini topadi o'z vaqtida , har bir butun doimiy uchun :[10]

  • INITIALIZATION: bo'sh to'plamni ishga tushirish, .
  • Qidirish: ning barcha kichik to'plamlarini ko'rib chiqing uning kattaligi 1 va orasida . Har bir bunday kichik to'plam uchun X:
    • Buni tasdiqlang X o'zi mustaqil (aks holda keyingi pastki qismga o'ting);
    • To'plamni hisoblang Y ob'ektlar S bu kesishadi X.
    • Agar , keyin olib tashlang Y dan S va joylashtiring X: .
  • END: to'plamni qaytaring S.

Qidiruv bosqichidagi har bir almashinuv hajmini oshiradi S kamida 1 ga, va shuning uchun eng ko'p sodir bo'lishi mumkin n marta.

Algoritm juda oddiy; qiyin qismi taxminiy nisbatni isbotlashdir.[10]

Shuningdek qarang.[11]

Lineer dasturlash gevşeme algoritmlari

Soxta disklar: PTAS

Ruxsat bering C bilan soxta disklar to'plami bo'ling n ob'ektlar va ittifoqning murakkabligi siz. Foydalanish chiziqli dasturlash gevşemesi, hech bo'lmaganda o'lchamlarning to'plamini topish mumkin . Bu muvaffaqiyatga erishish ehtimoli va ishlash muddati yuqori bo'lgan tasodifiy algoritm bilan ham mumkin , yoki sekinroq ishlash muddati bo'lgan deterministik algoritm (lekin baribir polinom). Ushbu algoritmni tortilgan holat bo'yicha umumlashtirish mumkin.[10]

Yaqinlashishlar ma'lum bo'lgan shakllarning boshqa sinflari

  • Ikki o'lchovli tekislikdagi chiziqli segmentlar.[11][12]
  • O'zboshimchalik bilan ikki o'lchovli qavariq narsalar.[11]
  • Kesishish nuqtalarining chegaralangan soni bo'lgan egri chiziqlar.[12]

Tashqi havolalar

Izohlar

  1. ^ Ravi, S. S .; Hunt, H. B. (1987). "Planar separator teoremasini hisoblash muammolariga qo'llash". Axborotni qayta ishlash xatlari. 25 (5): 317. doi:10.1016/0020-0190(87)90206-7., Smit, V.D .; Wormald, N. C. (1998). "Geometrik separator teoremalari va ilovalari". Kompyuter fanlari asoslari bo'yicha 39-yillik simpozium materiallari (katalog № 98CB36280). p. 232. doi:10.1109 / sfcs.1998.743449. ISBN  978-0-8186-9172-0. S2CID  17962961.
  2. ^ a b v d Agarval, P. K .; Van Kreveld, M.; Suri, S. (1998). "To'rtburchaklardagi maksimal mustaqil to'plam bo'yicha yorliqni joylashtirish". Hisoblash geometriyasi. 11 (3–4): 209. doi:10.1016 / s0925-7721 (98) 00028-5. hdl:1874/18908.
  3. ^ a b Marathe, M. V.; Breu, H .; Xant, X.B.; Ravi, S. S .; Rosenkrantz, D. J. (1995). "Birlik disk grafikalari uchun oddiy evristika". Tarmoqlar. 25 (2): 59. arXiv:matematik / 9409226. doi:10.1002 / net.3230250205.
  4. ^ Chalermsook, P.; Chuzhoy, J. (2009). "To'rtburchaklar maksimal mustaqil to'plami". Yigirmanchi yillik ACM-SIAM diskret algoritmlari bo'yicha simpoziumi materiallari. p. 892. doi:10.1137/1.9781611973068.97. ISBN  978-0-89871-680-1.
  5. ^ Chalermsook, P. (2011). "Ranglar va to'rtburchaklar maksimal mustaqil to'plami". Yaqinlashish, tasodifiylashtirish va kombinatorial optimallashtirish. Algoritmlar va usullar. Kompyuter fanidan ma'ruza matnlari. 6845. 123-134-betlar. doi:10.1007/978-3-642-22935-0_11. ISBN  978-3-642-22934-3.
  6. ^ a b Xoxbaum, D. S.; Maass, W. (1985). "Tasvirni qayta ishlash va VLSI-da muammolarni qoplash va qadoqlash uchun taxminiy sxemalar". ACM jurnali. 32: 130–136. doi:10.1145/2455.214106. S2CID  2383627.
  7. ^ a b v Chan, T. M. (2003). "Yog'li narsalarni qadoqlash va teshish uchun polinom vaqtiga yaqinlashtirish sxemalari". Algoritmlar jurnali. 46 (2): 178–189. CiteSeerX  10.1.1.21.5344. doi:10.1016 / s0196-6774 (02) 00294-8.
  8. ^ Erlebax, T .; Yansen, K .; Zeydel, E. (2005). "Geometrik kesishish grafikalari uchun polinomiy-vaqtga yaqinlashish sxemalari". Hisoblash bo'yicha SIAM jurnali. 34 (6): 1302. doi:10.1137 / s0097539702402676.
  9. ^ Fu, B. (2011). "Kenglik bilan chegaralangan geometrik ajratgichlar nazariyasi va qo'llanilishi". Kompyuter va tizim fanlari jurnali. 77 (2): 379–392. doi:10.1016 / j.jcss.2010.05.003.
  10. ^ a b v Chan, T. M.; Xar-Peled, S. (2012). "Psevdo-disklarning maksimal mustaqil to'plami uchun taxminiy algoritmlar". Diskret va hisoblash geometriyasi. 48 (2): 373. arXiv:1103.1431. doi:10.1007 / s00454-012-9417-5. S2CID  38183751.
  11. ^ a b v Agarval, P. K .; Mustafo, N. H. (2006). "2D o'lchamdagi qavariq ob'ektlarning kesishish grafikalarining mustaqil to'plami". Hisoblash geometriyasi. 34 (2): 83. doi:10.1016 / j.comgeo.2005.12.001.
  12. ^ a b Tulki J.; Pach, J. N. (2011). "Kesishish grafikalarining mustaqillik sonini hisoblash". Yigirma ikkinchi yillik ACM-SIAM diskret algoritmlari bo'yicha simpoziumi materiallari. p. 1161. CiteSeerX  10.1.1.700.4445. doi:10.1137/1.9781611973082.87. ISBN  978-0-89871-993-2. S2CID  15850862.