2015-09-28 8 views
6

अंतरिक्ष और समय को एल्गोरिदम की जटिलता का विश्लेषण करने के बैरोमीटर के रूप में माना जाता है। लेकिन इन दिनों मोबाइल उपकरणों पर जीपीयू की उपस्थिति के साथ, कई संभावित अनुप्रयोग हैं जो मोबाइल डिवाइस पर जटिल एल्गोरिदम चलाने के लिए उच्च प्रदर्शन का उपयोग कर सकते हैं। उदाहरण के लिए: आईपीओ के धातु ढांचे का उपयोग जीपीजीपीयू संचालन के लिए किया जा सकता है। लेकिन कहने की जरूरत नहीं है कि यह बहुत सारी शक्ति का उपभोग करता है। तो, मेरा सवाल यह है कि, यदि मैं एक मोबाइल डिवाइस पर एक ग्राफ खोज एल्गोरिदम विकसित/कार्यान्वित कर रहा हूं, तो क्या मुझे स्पेस-टाइम के साथ अपने एल्गोरिदम की "शक्ति" जटिलता पर भी विचार नहीं करना चाहिए? अब, मुझे पता है कि तर्क यह हो सकता है कि शक्ति कुछ ऐसा है जो एल्गोरिदम स्वयं का उपभोग नहीं करता है और मैं इसके साथ पूरी तरह से सहमत हूं। तो, शायद यहां मेरा व्याकरण यह कहने में गलत है कि शक्ति एक एल्गोरिदम की दक्षता को मापने का एक और आयाम है। लेकिन शक्ति को एल्गोरिदम के प्रदर्शन उपाय के रूप में नहीं देखा जाना चाहिए?एल्गोरिदम जटिलता: पैरामीटर के रूप में "बिजली खपत" कैसे देखें?

+3

मुझे ऊर्जा खपत के किसी औपचारिकरण के बारे में पता नहीं है, लेकिन समय और स्थान शायद ऊर्जा के लिए कुछ हद तक उपयोगी प्रॉक्सी हैं: कम CPU चक्रों को कम ऊर्जा की आवश्यकता होती है, और कम मेमोरी एक्सेस भी होती है। कुछ कार्यों को पूरा करने की ऊर्जा खपत को कम करने के लिए डिज़ाइन किए गए एल्गोरिदम के अवलोकन के लिए, उदाहरण देखें। [यहां] (http://cacm.acm.org/magazines/2010/5/87271-energy- कुशल- एल्गोरिदम /fulltext), जो [इस अन्य सर्वेक्षण] का उल्लेख करता है (http://people.cs.pitt.edu /~kirk/cs3150spring2010/sigactreview.pdf) इसके निष्कर्ष में। –

+1

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

+0

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

उत्तर

1

यह संभव होने के लिए, आपको ऊर्जा खपत का एक मॉडल चाहिए जो आप अपने एल्गोरिदम में परमाणु संचालन से संबंधित हो सकते हैं।

"एक गुणा ऊर्जा की एक इकाई का उपभोग करता है" और "एक स्मृति स्लॉट समय की प्रति इकाई ऊर्जा की दो इकाइयों का उपयोग करता है"। शायद संबंध ऊर्जा = समय एक्स अंतरिक्ष समझ में आ सकता है।

वैसे भी, इस तरह के "भद्दा" मॉडल को समय जटिलता के मॉडल के रूप में एक ही घटना का सामना करना पड़ सकता है: यह आधुनिक वास्तुकला के व्यवहार के साथ समानता नहीं लेता है और परिमाण के आदेशों से गलत हो सकता है।

अधिक सटीक मॉडल का उपयोग करना विश्लेषणात्मक रूप से अव्यवहारिक होगा।

+0

ऊर्जा = समय एक्स स्पेस एक अच्छी पहली दरार है। अधिक परिष्कृत मॉडल * एक साथ ट्रैक्टेबल और यथार्थवादी हो सकते हैं - अग्रवाल एट अल के आई/ओ जटिलता मॉडल की सफलता को देखें। स्मृति के 2 अलग-अलग स्तरों के साथ मॉडलिंग सिस्टम के लिए। –

+0

@j_random_hacker: मुझे विश्वास है कि परिष्कृत मॉडल न तो ट्रैक्टेबल हैं और न ही यथार्थवादी हैं, लेकिन यह सिर्फ एक राय है :) –

2

सं। जटिलता बताती है कि एल्गोरिदम समय/स्मृति में कैसे स्केल करता है। बिजली समय और स्मृति का एक कार्य होगा।

कहें कि आपके पास एल्गोरिदम ए - ओ (एन^2) और बी - ओ (एन^3) है और वे दोनों एक ही समस्या को हल करते हैं। एन = 1000 बी के लिए बिजली का 1 यूनिट का उपयोग करता है जबकि ए 20 का उपयोग करता है। अब जब आप इसे एन = 10 के बी तक स्केल करते हैं तो आपको बिजली की 1000 इकाइयों की आवश्यकता होगी जबकि ए को केवल 2000 की आवश्यकता होगी। एन = 100 के बी को 1'000 ' 000 जबकि ए 200'000 की आवश्यकता होगी। और इसी तरह। यह मानता है कि एल्गोरिदम के निष्पादन के लिए ऊर्जा खपत स्थिर है।

वैसे ही वही बात समय के साथ होती है। उदाहरण के लिए लघु सरणी के लिए कुछ भी रैखिक खोज धड़कता है।

एक विशिष्ट मामले (निश्चित रिज़ॉल्यूशन पर यूआई प्रस्तुत करना) के लिए यह बिजली के उपयोग को मापने और इसे अनुकूलित करने के लिए समझ में आता है। लेकिन आज संकल्प के लिए क्या काम करता है कल कल सही बात नहीं होगी।

+0

"यह मानता है कि ऊर्जा खपत एल्गोरिदम के निष्पादन के लिए स्थिर है।" - आमतौर पर ठेठ आधुनिक सीपीयू पर एक उचित धारणा है, लेकिन कुल बिजली लागत में एक शब्द होना चाहिए जो स्मृति के बाइट्स की संख्या के आनुपातिक है। जैसे एक ओ (एन) एल्गोरिदम जो स्मृति के ओ (1) बाइट्स का उपयोग करता है, को ओ (एन) एल्गोरिदम की तुलना में एसिम्पटोटिकली कम शक्ति का उपयोग करना चाहिए जो स्मृति के ओ (एन) बाइट्स का उपयोग करता है। –

संबंधित मुद्दे