समानता के साथ जटिलता को कम करना


10

क्या यह संभव है (स्लैश आप एक उदाहरण प्रदान कर सकते हैं) एक समानांतर एल्गोरिथ्म का उपयोग करके किसी समस्या की कम्प्यूटेशनल जटिलता को कम करने के लिए जो इनपुट आकार के सापेक्ष कई प्रोसेसर की आवश्यकता नहीं है?


क्या आप अपने प्रश्न को थोड़ा स्पष्ट कर सकते हैं? प्रोसेसर की तुच्छ निरंतर संख्या -> सबसे अच्छे रूप में आप एक निरंतर कारक द्वारा चल रहे समय में सुधार कर सकते हैं। मुझे लगता है कि यह आपका मतलब नहीं था?
जुका सुओमेला

"इनपुट आकार के सापेक्ष नहीं"। आप वास्तव में उससे क्या मतलब है? हे (1)?
आर्यभट्ट

मेरा मतलब है O (1) प्रोसेसर। @ जुक्का: इसका मतलब है कि, इनपुट आकार के सापेक्ष कई प्रोसेसर जोड़कर कम्प्यूटेशनल जटिलता को कम किया जा सकता है?
निक लार्सन

जवाबों:


12

यदि आप O (1) प्रोसेसर से मतलब रखते हैं, तो नहीं, गणना जटिलता को कम नहीं किया जा सकता है।

बस प्रत्येक प्रोसेसर द्वारा किए गए काम को लाइन अप करें और इसे एक ही पर करें। यदि आप सिंक्रनाइज़ेशन के बारे में चिंतित हैं, तो एक प्रोसेसर आसानी से इसका अनुकरण कर सकता है।


त्वरित जवाब के लिए धन्यवाद। किसी चीज़ के लिए इतनी बारीकी से संबंधित कोई दूसरा प्रश्न बनाए बिना, क्या इनपुट आकार के अलावा किसी अन्य चीज़ के सापेक्ष कई प्रोसेसर का उपयोग करके कम्प्यूटेशनल जटिलता को कम करना संभव है?
निक लार्सन

2
@ निक: इनपुट साइज के अलावा कुछ है O (1) :-)
आर्यभट्ट

धन्यवाद, मुझे कुछ और सोचने में परेशानी हो रही थी, लेकिन मैं निश्चित होना चाहता था।
निक लार्सन

WRT कि क्या आप कई प्रोसेसर के साथ एक स्पीडअप प्राप्त कर सकते हैं जो इनपुट आकार के अलावा कुछ मात्रा के साथ बढ़ता है, मुझे यकीन नहीं है कि इसका उत्तर 'नहीं' है। ऐसी समस्याएं हैं जिनकी जटिलता कुछ पैरामीटर के साथ बढ़ती है जो अलग है (हालांकि स्पष्ट रूप से स्वतंत्र नहीं है) इनपुट आकार। क्या होगा यदि कुछ ग्राफ़ समस्या के लिए, मैंने आपको ग्राफ़ की ट्री-चौड़ाई से संबंधित कई प्रोसेसर की अनुमति दी है, उदाहरण के लिए?
एरोन रोथ

@ ऐरन: यदि अनुमत प्रोसेसर की संख्या किसी तरह इनपुट से संबंधित है, तो हाँ, हम निश्चित रूप से "नहीं" नहीं कह सकते। बेशक, जब तक हम विशिष्ट नहीं हैं, यह एक अर्थहीन प्रश्न है।
आर्यभट्ट

6

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

एक अच्छा प्रारंभिक बिंदु "बल्क-सिंक्रोनस समांतरवाद" के लिए Google है।


यदि आप हार्डवेयर को इनपुट डेटा के साथ स्केल करने देते हैं तो क्या जटिलता वर्ग बदल सकता है? मुझे लगता है कि एक आम आदमी के रूप में Google को परेशानी हो रही है: /
Gerenuk

3

आपको इस पत्र में रुचि हो सकती है:

सेलिम अक्ल द्वारा सुपरलाइनियर प्रदर्शन वास्तविक समय में समानांतर संगणना

वह कम्प्यूटेशनल समस्याओं का उदाहरण प्रदान करता है जिसमें "अनुक्रमिक समाधान एन -प्रोसेसर समानांतर समाधान की तुलना में गुना धीमा से अधिक है "; यह रचनात्मक रूप से "कम्प्यूटेशनल समस्या" की अवधारणा की व्याख्या करता है।nn


1

पीपी

हे((n)/पी)हे((1/पी)(n))हे(सी(n))हे((n))सी=1/पी

टीटी/पी+एसआरटीमैं

लेकिन कोई जटिलता नहीं बदलती।


1

"आप इसे 1 प्रोसेसर के साथ गणना नहीं कर सकते हैं, लेकिन 2 के साथ गणना कर सकते हैं।"

यह संभव नहीं है, यह मानते हुए कि दोनों प्रोसेसर टीएम या कम शक्तिशाली मॉडल हैं। मल्टी-टेप मशीनों के लिए विकिपीडिया से:

यह मॉडल सहज रूप से सिंगल-टेप मॉडल की तुलना में बहुत अधिक शक्तिशाली लगता है, लेकिन कोई भी मल्टी-टेप मशीन, चाहे कितना भी बड़ा हो, एक-टेप मशीन द्वारा केवल चतुष्कोणीय रूप से अधिक संगणना समय का उपयोग करके अनुकरण किया जा सकता है (Papadimitriya 1994, Thrm 2.1)

मल्टी-हेड मशीनों के लिए भी, वाल्टर जे। सैविच और पॉल एमबी विटैनी द्वारा "हेड-टू-हेड जम्प्स" के साथ "लाइनर टाइम सिमुलेशन ऑफ हेडहेड टाइम सिमुलेशन":

इस पत्र के मुख्य परिणाम से पता चलता है कि, प्रति टेप कई रीड-राइट हेड्स के साथ एक ट्यूरिंग मशीन दी गई है और जिसमें अतिरिक्त एक चाल शिफ्ट ऑपरेशन है "दिए गए सिर को किसी अन्य दिए गए सिर की स्थिति में शिफ्ट करें", एक प्रभावी रूप से निर्माण कर सकता है मल्टीटाफ ट्यूरिंग मशीन प्रति टेप के साथ एक पढ़ने-लिखने वाला सिर जो इसे रैखिक समय में अनुकरण करता है; यानी यदि मूल मशीन समय टी (एन) में चल रही है, तो सिमुलेशन मशीन समय सीटी (एन) में काम करेगी, कुछ निरंतर सी के लिए।


यहाँ हम अमूर्त लागत के लिए एक महान उदाहरण है। असली कंप्यूटर (आरएम के कार्यान्वयन के रूप में) को टीएम से बेहतर समानांतर किया जा सकता है।
राफेल

आरएम किस लिए खड़ा है अगर वह गलत था और आपका मतलब टीएम से है, तो मैं असहमत हूं। मल्टीटाप / मल्टीहेड टीएम को प्रोसेसर संचार और अमदहल के कानून के बारे में चिंता करने की आवश्यकता नहीं है। इसके अलावा, मैं नहीं देखता कि कैसे एक कंप्यूटर एक यादृच्छिक पहुँच टीएम से बेहतर प्रदर्शन कर सकता है और इसके विपरीत, मेरा मानना ​​है कि वे समान हैं।
चेज़िसॉप

0

शायद "समानांतर या" (एक बूलियन को लौटाने वाले दो कार्य दिए गए हैं, यह बताएं कि क्या उनमें से कोई एक सही है, यह देखते हुए कि उनमें से कोई भी, लेकिन दोनों को समाप्त करने में विफल हो सकता है) हो सकता है कि आप किस बारे में बात कर रहे हों: आप गणना नहीं कर सकते यह 1 प्रोसेसर के साथ है, लेकिन 2 के साथ गणना कर सकता है।

हालाँकि, यह बहुत कुछ इस बात पर निर्भर करता है कि आप किस कम्प्यूटेशनल मॉडल का उपयोग कर रहे हैं, चाहे आपको ब्लैक बॉक्स के रूप में प्रक्रियाएँ दी गई हों या उनके विवरण के रूप में जिसे आप व्याख्या कर सकते हैं, आदि।


2
यह गलत लगता है, जब तक कि आप कुछ गंभीर रूप से सीमित मॉडल में काम नहीं कर रहे हैं। एक एकल प्रोसेसर निर्देशों को केवल इंटरलेव कर सकता है जो अन्यथा 2 पर चलेगा, जिससे अधिकांश 2x + O (1) मंदी होगी। मुझे लगता है कि `` ब्लैक बॉक्स '' से आपका मतलब है कि इंटरलेइंग असंभव है? फिर भी, यदि आप ब्लैक बॉक्स की संगणना को समाप्त कर सकते हैं, जो कि बहुत लंबा है, तब भी आप दो प्रोसेसरों को बार-बार अनुमान लगाकर और प्रत्येक प्रक्रिया के लिए आवश्यक संगणना की लंबाई को दोगुना कर सकते हैं।
एरॉन रोथ

लेकिन, बदले में, हमें संगणना को समाप्त करने में सक्षम होना चाहिए। मेरा मतलब है कि आप एक मॉडल में समानांतर या 1 प्रोसेसर पर नहीं कर सकते हैं, जहां आप केवल एक चीज कर सकते हैं, जब तक कि यह खत्म नहीं हो जाता है।
jkff

अब मुझे समझ में आया कि आपका क्या मतलब था, लेकिन मेरा मानना ​​है कि यह पूरा नहीं है। आप इसे न तो 2 के साथ गणना कर सकते हैं। यदि एक मशीन चलती रहती है और दूसरी हां में जवाब देती है, तो इसका जवाब हां है। लेकिन क्या होगा अगर यह NO लौटाता है? आप एक नियतात्मक फैशन में जवाब नहीं दे सकते हैं, क्योंकि आप नहीं जानते कि जो मशीन अभी भी चल रही है या वह अटक गई है (यानी हैलिंग समस्या)।
चेज़िसॉप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.