Көпбұрыш бөлімі - Polygon partition

A бөлім а көпбұрыш - бұл бір-бірімен қабаттаспайтын және біріктірілуі көпбұрышқа тең болатын алғашқы бірліктер жиынтығы (мысалы, квадраттар). A көпбұрышты бөлу мәселесі бұл белгілі бір мағынада минималды бөлімді табу проблемасы, мысалы, бірліктердің саны ең аз немесе бүйірлік ұзындықтың өлшем бірліктері бар бөлімді.

Көпбұрышты бөлу проблемалардың маңызды класы болып табылады есептеу геометриясы. Бөлінетін көпбұрыштың түріне және бөлуге рұқсат етілген бірлік түрлеріне байланысты әр түрлі көпбұрышты бөлудің көптеген мәселелері бар.

Термин полигонның ыдырауы жабуды да, бөлуді де қамтитын жалпы термин ретінде қолданылады.[1]

Қолданбалар

Полигонның ыдырауы бірнеше бағытта қолданылады:[1]

  • Үлгіні тану техниканы сипаттау, анықтау немесе жіктеу мақсатында объектіден ақпарат алады. Жалпы көпбұрышты нысанды танудың қалыптасқан стратегиясы - оны қарапайым компоненттерге бөлу, содан кейін компоненттер мен олардың өзара байланыстарын анықтау және объектінің формасын анықтау үшін осы ақпаратты пайдалану.
  • Жылы VLSI деректерді өңдеудің макеттері, полигондар түрінде ұсынылған және электронды-сәулелік литографияға дайындықтың бір тәсілі - бұл көпбұрыш аймақтарын іргелі фигураларға бөлу. Полигонның ыдырауы маршруттау аймағын арналарға бөлу процесінде де қолданылады.
  • Жылы есептеу геометриясы, жалпы көпбұрыштардағы есептердің алгоритмдері көбінесе дөңес немесе жұлдыз тәрізді шектеулі полигондар типіне қарағанда күрделі. The қосу мәселесі бір мысалы. Жалпы көпбұрыштардағы есептердің осы түрлерінің кейбірін шешудің стратегиясы - көпбұрышты қарапайым компоненттер бөліктеріне бөлу, әр компонент бойынша есептерді арнайы алгоритмді қолдану арқылы шешу, содан кейін ішінара шешімдерді біріктіру.
  • Басқа қосымшаларға кіреді деректерді қысу, мәліметтер базасы жүйелері, кескінді өңдеу және компьютерлік графика.

Көпбұрышты үшбұрыштарға бөлу

Көпбұрышты бөлудің ең жақсы зерттелген мәселесі үшбұрыштың ең аз санына бөлу болып табылады, оларды деп те атайды триангуляция. Саңылаусыз көпбұрыш үшін Триангуляцияны уақыт бойынша есептеуге болады . Тесіктері бар көпбұрыш үшін төменгі шегі болады .

Осыған байланысты проблема - ең төменгі жалпы жиіліктегі үшбұрыштарға бөлу минималды салмақтағы триангуляция.

Көпбұрышты жалған үшбұрыштарға бөлу

Бөлшектер болуы керек жағдай үшін есептің бірдей екі нұсқасы зерттелді жалған бұрышы - үшбұрыш тәрізді көпбұрыштар дәл үш дөңес төбеге ие. Нұсқалары: ең аз псевдутриангтардың санына бөлу және псевдотрианголаларға бөлу, олардың ең төменгі жалпы ұзындығы.

Тік сызықты полигонды тіктөртбұрыштарға бөлу

Көпбұрышты бөлудің ерекше кіші отбасы үлкен полигон а болған кезде пайда болады түзу сызықты көпбұрыш (деп те аталады: ортогональды көпбұрыш). Бұл жағдайда ескеру керек ең маңызды компонент формасы болып табылады тіктөртбұрыш.[1]

Тік бұрышты бөлімдерде көптеген қосымшалар бар. Жылы VLSI масканы литографиялық өрнек генераторларында болатын қарапайым формаларға бөлу қажет, сондықтан масканы ыдыратуға қатысты мәселелер де туындайды ДНҚ микроарра дизайны. Тік бұрышты бөлімдер жеңілдетуі мүмкін конволюция операциялар кескінді өңдеу және оны қысу үшін қолдануға болады нүктелік кескін. Матрицалық ыдырау мәселелерімен тығыз байланысты сәулелік терапия жоспарлау және тікбұрышты бөлімдер роботты жасау үшін де қолданылған өздігінен құрастыру тізбектер.[2]

Бұл есептің бірнеше полиномдық уақыт алгоритмдері белгілі; қараңыз [1]:10–13 және [2]:3–5 шолу үшін.

Тік сызықты полигонды ең кіші санға бөлу мәселесі квадраттар (ерікті тіктөртбұрыштардан айырмашылығы) болып табылады NP-hard.[3]

Көпбұрышты трапецияға бөлу

VLSI өнер туындыларын өңдеу жүйелерінде көпбұрышты аймақты ең аз санға бөлу қажет трапеция, көлденең екі жағымен. Горизонталь қабырғасы бар үшбұрыш екі көлденең қабырғасы бар, біреуі тозған трапеция болып саналады. Саңылаусыз көпбұрыш үшін жағы, мұндай бөлімді уақыт өте келе табуға болады .[4]

Егер трапеция саны минималды болмауы керек болса, уақыт өте келе трапеция түрін табуға болады , а-ның қосымша өнімі ретінде көпбұрышты триангуляция алгоритм.[5]

Егер көпбұрышта саңылаулар болса, мәселе NP-ге тең, бірақ 3 жуықтауды уақытында табуға болады .[4]

Көпбұрышты дөңес төртбұрыштарға бөліңіз

A төртжақтылық немесе а төртбұрыш бөлім төртбұрышты.

Төрт ретке келтіру проблемаларының қайталанатын сипаттамасы - олар ма Штайнер нүктесі рұқсат етілген, яғни алгоритмге көпбұрыштың төбесі емес нүктелерді қосуға рұқсат етілген бе. Штайнердің ұпайларына рұқсат беру кіші бөлімдерге мүмкіндік беруі мүмкін, бірақ алгоритмдер арқылы табылған бөлімдердің минималды өлшемдеріне кепілдік беру әлдеқайда қиын.

Штайнер нүктелері бар саңылаусыз көпбұрыштардың төртбұрыштарының сызықтық уақыттық алгоритмдері бар, бірақ олардың ең кішкентай бөлімді табуға кепілдік берілмейді.[6][7]

Көпбұрышты бөлу м- гондар

Алдыңғы мәселелерді жалпылау дегеніміз - дәл бар полигондарға бөлу проблемасы м жақтары немесе ең көп дегенде м жақтары. Мұндағы мақсат - жиектің жалпы ұзындығын азайту. Бұл мәселені уақыттағы полином арқылы шешуге болады n және м.[8][9]

Жалпы компоненттердің жалпы формалары

Бөлшектердің жалпы формалары зерттелді, соның ішінде: ерікті дөңес көпбұрыштар, спираль пішіндер, жұлдыз көпбұрыштары және монотонды көпбұрыштар. Қараңыз [1] сауалнама үшін.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ а б в г. e f Марк Кил, Дж. (2000). «Көпбұрыштың ыдырауы». Есептеу геометриясының анықтамалығы. 491-518 бб. дои:10.1016 / B978-044482537-7 / 50012-7. ISBN  9780444825377.
  2. ^ а б в Эппштейн, Дэвид (2010). «Есептеу геометрия есептерінің графикалық-теориялық шешімдері». Информатикадағы графикалық-теоретикалық ұғымдар. Информатика пәнінен дәрістер. 5911. 1-16 бет. CiteSeerX  10.1.1.249.5965. дои:10.1007/978-3-642-11409-0_1. ISBN  978-3-642-11408-3.
  3. ^ Realz Slaw. «Ортогональды көпбұрышты квадраттармен қаптау». CS стек алмасу. Алынған 19 қазан 2015.
  4. ^ а б в Асано, Такао; Асано, Тэцуо; Имай, Хироси (1986). «Көпбұрышты аймақты трапецияға бөлу». ACM журналы. 33 (2): 290. дои:10.1145/5383.5387. hdl:2433/98478.
  5. ^ Шазель, Бернард (2007). «Сызықтық уақыттағы қарапайым көпбұрышты үшбұрыштау». Дискретті және есептеу геометриясы. 6 (3): 485–524. дои:10.1007 / bf02574703.
  6. ^ Х.Эверетт; В.Ленхарт; М. Овермарс; Т.Шермер; Дж. Уррутия. (1992). «Көпбұрыштардың қатаң дөңес төртбұрышталуы». Proc. 4-ші канад. Конф. Есептеу. Геом. 77-83 бет.
  7. ^ Рамасвами, Сунеета; Рамос, Педро; Туссен, Годфрид (1998). «Үшбұрыштарды төртбұрышқа айналдыру». Есептеу геометриясы. 9 (4): 257. дои:10.1016 / s0925-7721 (97) 00019-9.
  8. ^ Лингас, Анджей; Левкопулос, Христос; Сак, Йорг (1987). «Көпбұрыштардың минималды ұзындықтағы бөлімдерінің алгоритмдері». BIT. 27 (4): 474. дои:10.1007 / bf01937272.
  9. ^ Левкопулос, Христос; Лингас, Анджей; Қап, Йорг-Р. (1989). «Оңтайлы екілік іздеу ағаштары үшін эвристика және минималды салмақ триангуляциясы мәселелері». Теориялық информатика. 66 (2): 181. дои:10.1016/0304-3975(89)90134-5.
  10. ^ Лингас, Анджей (1982). «Түзу емес тесіктердің қуаты». Автоматтар, тілдер және бағдарламалау. Информатика пәнінен дәрістер. 140. 369-383 бет. дои:10.1007 / bfb0012784. ISBN  978-3-540-11576-2.