अभिकलनात्मक ज्यामिति: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Class of algorithms which use a moving line to solve geometrical problems}} File:Sweep-line-algorithm.gif|frame|right|फॉर्च्यून के...")
 
(text)
Line 1: Line 1:
{{Short description|Class of algorithms which use a moving line to solve geometrical problems}}
{{Short description|Class of algorithms which use a moving line to solve geometrical problems}}
[[File:Sweep-line-algorithm.gif|frame|right|फॉर्च्यून के एल्गोरिदम का एनीमेशन, [[वोरोनोई आरेख]]ों के निर्माण के लिए एक स्वीप लाइन तकनीक।]][[कम्प्यूटेशनल ज्यामिति]] में, एक स्वीप लाइन एल्गोरिथ्म या प्लेन स्वीप एल्गोरिथ्म एक [[एल्गोरिथम प्रतिमान]] है जो [[यूक्लिडियन अंतरिक्ष]] में विभिन्न समस्याओं को हल करने के लिए एक वैचारिक 'स्वीप लाइन' या 'स्वीप सतह' का उपयोग करता है। यह कम्प्यूटेशनल ज्यामिति में महत्वपूर्ण तकनीकों में से एक है।
[[File:Sweep-line-algorithm.gif|frame|right|फॉर्च्यून की कलन विधि का अनुप्राणन, [[वोरोनोई आरेख]]ों के निर्माण के लिए एक घुमाव रेखा तकनीक।]][[कम्प्यूटेशनल ज्यामिति|अभिकलनात्मक ज्यामिति]] में, एक घुमाव रेखा कलन विधि या समतलीय घुमाव कलन विधि एक [[एल्गोरिथम प्रतिमान|कलन विधि प्रतिमान]] है जो [[यूक्लिडियन अंतरिक्ष|यूक्लिडियन स्थल]] में विभिन्न समस्याओं को हल करने के लिए एक वैचारिक 'घुमाव रेखा' या 'घुमाव सतह' का उपयोग करता है। यह अभिकलनात्मक ज्यामिति में महत्वपूर्ण तकनीकों में से एक है।


इस प्रकार के एल्गोरिदम के पीछे का विचार यह कल्पना करना है कि एक रेखा (अक्सर एक लंबवत रेखा) कुछ बिंदुओं पर रुकते हुए विमान में बह जाती है या चली जाती है। ज्यामितीय प्रचालन ज्यामितीय वस्तुओं तक ही सीमित हैं जो या तो स्वीप लाइन को काटती हैं या जब भी यह बंद हो जाती हैं तो इसके आसपास के क्षेत्र में होती हैं, और एक बार रेखा सभी वस्तुओं के ऊपर से गुजरने के बाद पूरा समाधान उपलब्ध होता है।
इस प्रकार की कलन विधि के पीछे का विचार यह कल्पना करना है कि एक रेखा (प्रायः एक लंबवत रेखा) कुछ बिंदुओं पर रुकते हुए तल में बह जाती है या चली जाती है। ज्यामितीय प्रचालन ज्यामितीय वस्तुओं तक ही सीमित हैं जो या तो घुमाव रेखा को काटती हैं या जब भी यह बंद हो जाती हैं तो इसके आसपास के क्षेत्र में होती हैं, और एक बार रेखा सभी वस्तुओं के ऊपर से पारित होने के बाद पूरा समाधान उपलब्ध होता है।


== इतिहास ==
== इतिहास ==
इस दृष्टिकोण को [[ कंप्यूटर चित्रलेख ]] में रेंडरिंग के एल्गोरिदम को स्कैन करने के लिए खोजा जा सकता है, इसके बाद [[ एकीकृत सर्किट लेआउट ]] डिज़ाइन के शुरुआती एल्गोरिदम में इस दृष्टिकोण का दोहन किया जा सकता है, जिसमें एक आईसी के ज्यामितीय विवरण को समानांतर स्ट्रिप्स में संसाधित किया गया था क्योंकि संपूर्ण विवरण मेमोरी में फिट नहीं हो सका। .{{Citation needed|date=May 2009}}
इस दृष्टिकोण को [[ कंप्यूटर चित्रलेख |कंप्यूटर चित्रलेख]] में प्रतिपादन के कलन विधि को क्रमवीक्षण करने के लिए खोजा जा सकता है, इसके बाद [[ एकीकृत सर्किट लेआउट |एकीकृत परिपथ विन्यास]] अभिकल्पना के प्रारम्भिक कलन विधि में इस दृष्टिकोण का दोहन किया जा सकता है, जिसमें एक आईसी के ज्यामितीय विवरण को समानांतर पट्टी में संसाधित किया गया था क्योंकि संपूर्ण विवरण मेमोरी में फिट नहीं हो सका। {{Citation needed|date=May 2009}}


== अनुप्रयोग ==
== अनुप्रयोग ==
इस दृष्टिकोण के अनुप्रयोग से ज्यामितीय एल्गोरिदम के एल्गोरिदम के विश्लेषण में एक सफलता मिली जब [[माइकल इयान शमोस]] और होए ने विमान में लाइन खंड चौराहे के लिए एल्गोरिदम प्रस्तुत किया, और विशेष रूप से, उन्होंने वर्णन किया कि कैसे कुशल डेटा संरचनाओं के साथ स्कैनलाइन दृष्टिकोण का संयोजन ( [[ स्व-संतुलन बाइनरी सर्च ट्री ]]) यह पता लगाना संभव बनाता है कि क्या बीच में चौराहे हैं {{mvar|N}} [[समय जटिलता]] में विमान में खंड {{math|[[Big O notation|O]](''N'' log ''N'')}}.<ref>{{citation
इस दृष्टिकोण के अनुप्रयोग से ज्यामितीय कलन विधि के कलन विधि के विश्लेषण में एक सफलता मिली जब [[माइकल इयान शमोस]] और होए ने तल में रेखा खंड प्रतिच्छेदन के लिए कलन विधि प्रस्तुत किया, और विशेष रूप से, उन्होंने वर्णन किया कि कैसे कुशल डेटा संरचनाओं (स्व-संतुलन युग्मक खोज ट्री) के साथ क्रमवीक्षण रेखा दृष्टिकोण का संयोजन यह पता लगाना संभव बनाता है कि {{math|[[Big O notation|O]](''N'' log ''N'')}} की समय जटिलता में तल में {{mvar|N}} खंड के बीच प्रतिच्छेदन हैं या नहीं। <ref>{{citation
  | last1 = Shamos | first1 = Michael I. | author1-link = Michael Ian Shamos
  | last1 = Shamos | first1 = Michael I. | author1-link = Michael Ian Shamos
  | last2 = Hoey | first2 = Dan
  | last2 = Hoey | first2 = Dan
Line 15: Line 15:
  | pages = 208–215
  | pages = 208–215
  | title = Proc. 17th IEEE Symp. Foundations of Computer Science (FOCS '76)
  | title = Proc. 17th IEEE Symp. Foundations of Computer Science (FOCS '76)
  | year = 1976| s2cid = 124804 | url = http://euro.ecom.cmu.edu/shamos.html }}.</ref> बारीकी से संबंधित बेंटले-ओटमैन एल्गोरिथम सभी की रिपोर्ट करने के लिए स्वीप लाइन तकनीक का उपयोग करता है {{mvar|K}} किसी के बीच चौराहे {{mvar|N}} समय जटिलता में विमान में खंड {{math|O((''N'' + ''K'') log ''N'')}} और अंतरिक्ष जटिलता {{math|O(''N'')}}.<ref>{{citation
  | year = 1976| s2cid = 124804 | url = http://euro.ecom.cmu.edu/shamos.html }}.</ref> निकटता से संबंधित बेंटले-ओटमैन एल्गोरिथ्म {{math|O((''N'' + ''K'') log ''N'')}} की समय जटिलता और {{math|O(''N'')}} की अंतरिक्ष जटिलता में तल में किसी भी {{mvar|N}} खंड के बीच सभी {{mvar|K}} प्रतिच्छेदन की प्रतिवेदन करने के लिए एक घुमाव रेखा तकनीक का उपयोग करता है। <ref>{{citation
  | last = Souvaine | first = Diane | author-link = Diane Souvaine
  | last = Souvaine | first = Diane | author-link = Diane Souvaine
  | title = Line Segment Intersection Using a Sweep Line Algorithm
  | title = Line Segment Intersection Using a Sweep Line Algorithm
  | url = https://www.cs.tufts.edu/comp/163/notes05/seg_intersection_handout.pdf
  | url = https://www.cs.tufts.edu/comp/163/notes05/seg_intersection_handout.pdf
  | year = 2008}}.</ref>
  | year = 2008}}.</ref>
तब से, इस दृष्टिकोण का उपयोग कई समस्याओं के लिए कुशल एल्गोरिदम को डिजाइन करने के लिए किया गया है, जैसे कि वोरोनोई आरेख (फॉर्च्यून के एल्गोरिदम) का निर्माण और बहुभुजों पर डेलाउने त्रिभुज या बूलियन संचालन।
 
तब से, इस दृष्टिकोण का उपयोग कई समस्याओं के लिए कुशल कलन विधि को अभिकल्पित करने के लिए किया गया है, जैसे कि वोरोनोई आरेख (फॉर्च्यून की कलन विधि) का निर्माण और बहुभुजों पर डेलाउने त्रिभुज या बूलियन संचालन।


== सामान्यीकरण और विस्तार ==
== सामान्यीकरण और विस्तार ==
टोपोलॉजिकल स्वीपिंग प्लेन स्वीप का एक रूप है जिसमें प्रसंस्करण बिंदुओं का एक सरल क्रम होता है, जो बिंदुओं को पूरी तरह से क्रमबद्ध करने की आवश्यकता से बचा जाता है; यह कुछ स्वीप लाइन एल्गोरिदम को अधिक कुशलता से निष्पादित करने की अनुमति देता है।
सांस्थितिक व्यापक समतलीय घुमाव का एक रूप है जिसमें प्रसंस्करण बिंदुओं का एक सरल क्रम होता है, जो बिंदुओं को पूरी तरह से क्रमबद्ध करने की आवश्यकता से बचा जाता है; यह कुछ घुमाव रेखा कलन विधि को अधिक कुशलता से निष्पादित करने की अनुमति देता है।
    
    
ज्यामितीय एल्गोरिदम को डिजाइन करने के लिए रोटेटिंग कैलीपर्स तकनीक को इनपुट प्लेन के [[प्रोजेक्टिव डुअल]] में प्लेन स्वीप के रूप में भी व्याख्या किया जा सकता है: प्रोजेक्टिव डुअलिटी का एक रूप एक लाइन के ढलान को एक प्लेन के एक्स-कोऑर्डिनेट में बदल देता है। दोहरे विमान में बिंदु, इसलिए उनके ढलान द्वारा सॉर्ट किए गए क्रम में लाइनों के माध्यम से प्रगति, जैसा कि एक [[घूर्णन कैलीपर्स]] एल्गोरिथ्म द्वारा किया जाता है, एक विमान स्वीप एल्गोरिथ्म में उनके एक्स-निर्देशांक द्वारा क्रमबद्ध बिंदुओं के माध्यम से प्रगति के लिए दोहरी है।
ज्यामितीय कलन विधि को अभिकल्पित करने के लिए घूर्णी कैलीपर्स तकनीक को निविष्ट समतलीय के [[प्रोजेक्टिव डुअल|प्रक्षेपीय द्वैध]] में समतलीय घुमाव के रूप में भी व्याख्या किया जा सकता है: प्रक्षेपीय द्वैत का रूप एक रेखा के ढलान को एक समतलीय के एक्स-निर्देशांक में बदल देता है। दोहरे तल में बिंदु, इसलिए उनके ढलान द्वारा वर्गीकरण किए गए क्रम में रेखाों के माध्यम से प्रगति, जैसा कि एक [[घूर्णन कैलीपर्स]] कलन विधि द्वारा किया जाता है, एक तल घुमाव कलन विधि में उनके एक्स-निर्देशांक द्वारा क्रमबद्ध बिंदुओं के माध्यम से प्रगति के लिए दोहरी है।


व्यापक दृष्टिकोण को उच्च आयामों के लिए सामान्यीकृत किया जा सकता है।<ref>{{cite arXiv |last=Sinclair |first=David |eprint=1602.04707 |title=A 3D Sweep Hull Algorithm for computing Convex Hulls and Delaunay Triangulation |class=cs.CG |date=2016-02-11}}</ref>
व्यापक दृष्टिकोण को उच्च आयामों के लिए सामान्यीकृत किया जा सकता है।<ref>{{cite arXiv |last=Sinclair |first=David |eprint=1602.04707 |title=A 3D Sweep Hull Algorithm for computing Convex Hulls and Delaunay Triangulation |class=cs.CG |date=2016-02-11}}</ref>

Revision as of 09:23, 17 May 2023

फॉर्च्यून की कलन विधि का अनुप्राणन, वोरोनोई आरेखों के निर्माण के लिए एक घुमाव रेखा तकनीक।

अभिकलनात्मक ज्यामिति में, एक घुमाव रेखा कलन विधि या समतलीय घुमाव कलन विधि एक कलन विधि प्रतिमान है जो यूक्लिडियन स्थल में विभिन्न समस्याओं को हल करने के लिए एक वैचारिक 'घुमाव रेखा' या 'घुमाव सतह' का उपयोग करता है। यह अभिकलनात्मक ज्यामिति में महत्वपूर्ण तकनीकों में से एक है।

इस प्रकार की कलन विधि के पीछे का विचार यह कल्पना करना है कि एक रेखा (प्रायः एक लंबवत रेखा) कुछ बिंदुओं पर रुकते हुए तल में बह जाती है या चली जाती है। ज्यामितीय प्रचालन ज्यामितीय वस्तुओं तक ही सीमित हैं जो या तो घुमाव रेखा को काटती हैं या जब भी यह बंद हो जाती हैं तो इसके आसपास के क्षेत्र में होती हैं, और एक बार रेखा सभी वस्तुओं के ऊपर से पारित होने के बाद पूरा समाधान उपलब्ध होता है।

इतिहास

इस दृष्टिकोण को कंप्यूटर चित्रलेख में प्रतिपादन के कलन विधि को क्रमवीक्षण करने के लिए खोजा जा सकता है, इसके बाद एकीकृत परिपथ विन्यास अभिकल्पना के प्रारम्भिक कलन विधि में इस दृष्टिकोण का दोहन किया जा सकता है, जिसमें एक आईसी के ज्यामितीय विवरण को समानांतर पट्टी में संसाधित किया गया था क्योंकि संपूर्ण विवरण मेमोरी में फिट नहीं हो सका।[citation needed]

अनुप्रयोग

इस दृष्टिकोण के अनुप्रयोग से ज्यामितीय कलन विधि के कलन विधि के विश्लेषण में एक सफलता मिली जब माइकल इयान शमोस और होए ने तल में रेखा खंड प्रतिच्छेदन के लिए कलन विधि प्रस्तुत किया, और विशेष रूप से, उन्होंने वर्णन किया कि कैसे कुशल डेटा संरचनाओं (स्व-संतुलन युग्मक खोज ट्री) के साथ क्रमवीक्षण रेखा दृष्टिकोण का संयोजन यह पता लगाना संभव बनाता है कि O(N log N) की समय जटिलता में तल में N खंड के बीच प्रतिच्छेदन हैं या नहीं। [1] निकटता से संबंधित बेंटले-ओटमैन एल्गोरिथ्म O((N + K) log N) की समय जटिलता और O(N) की अंतरिक्ष जटिलता में तल में किसी भी N खंड के बीच सभी K प्रतिच्छेदन की प्रतिवेदन करने के लिए एक घुमाव रेखा तकनीक का उपयोग करता है। [2]

तब से, इस दृष्टिकोण का उपयोग कई समस्याओं के लिए कुशल कलन विधि को अभिकल्पित करने के लिए किया गया है, जैसे कि वोरोनोई आरेख (फॉर्च्यून की कलन विधि) का निर्माण और बहुभुजों पर डेलाउने त्रिभुज या बूलियन संचालन।

सामान्यीकरण और विस्तार

सांस्थितिक व्यापक समतलीय घुमाव का एक रूप है जिसमें प्रसंस्करण बिंदुओं का एक सरल क्रम होता है, जो बिंदुओं को पूरी तरह से क्रमबद्ध करने की आवश्यकता से बचा जाता है; यह कुछ घुमाव रेखा कलन विधि को अधिक कुशलता से निष्पादित करने की अनुमति देता है।

ज्यामितीय कलन विधि को अभिकल्पित करने के लिए घूर्णी कैलीपर्स तकनीक को निविष्ट समतलीय के प्रक्षेपीय द्वैध में समतलीय घुमाव के रूप में भी व्याख्या किया जा सकता है: प्रक्षेपीय द्वैत का रूप एक रेखा के ढलान को एक समतलीय के एक्स-निर्देशांक में बदल देता है। दोहरे तल में बिंदु, इसलिए उनके ढलान द्वारा वर्गीकरण किए गए क्रम में रेखाों के माध्यम से प्रगति, जैसा कि एक घूर्णन कैलीपर्स कलन विधि द्वारा किया जाता है, एक तल घुमाव कलन विधि में उनके एक्स-निर्देशांक द्वारा क्रमबद्ध बिंदुओं के माध्यम से प्रगति के लिए दोहरी है।

व्यापक दृष्टिकोण को उच्च आयामों के लिए सामान्यीकृत किया जा सकता है।[3]


संदर्भ

  1. Shamos, Michael I.; Hoey, Dan (1976), "Geometric intersection problems", Proc. 17th IEEE Symp. Foundations of Computer Science (FOCS '76), pp. 208–215, doi:10.1109/SFCS.1976.16, S2CID 124804.
  2. Souvaine, Diane (2008), Line Segment Intersection Using a Sweep Line Algorithm (PDF).
  3. Sinclair, David (2016-02-11). "A 3D Sweep Hull Algorithm for computing Convex Hulls and Delaunay Triangulation". arXiv:1602.04707 [cs.CG].