पुनरावृत्ति विधियों की तुलना: पुनरावृत्तियों बनाम सीपीयू समय की संख्या


14

मैं बेतरतीब वर्ग मैट्रिसेस को निष्क्रिय करने के लिए दो पुनरावृत्त तरीकों की तुलना कर रहा हूं। चूंकि मैट्रिसेस यादृच्छिक होते हैं, इसलिए प्रत्येक परीक्षण का मामला अलग-अलग मात्रा में पुनरावृत्तियों और अलग-अलग समय पर दोनों लेता है। मेरा सवाल है, मीन सीपीयू समय के शीर्ष पर, तरीकों की तुलना करने के लिए दोनों तरीकों से उपयोगी जानकारी द्वारा लिए गए पुनरावृत्तियों का औसत मूल्य है।


4
मैंने आपके प्रश्न को उम्मीद से अधिक स्पष्ट करने के लिए पुन: प्रस्तुत किया। कृपया सुनिश्चित करें कि मैंने आपका अर्थ किसी भी तरह से नहीं बदला है।
गोड्रिक सीर

3
@GodricSeer आपके संपादन से मेरे प्रश्न में सुधार हुआ है। धन्यवाद
सृजन

जवाबों:


12

सामान्य तौर पर, प्रदर्शन तुलना के दोनों तरीकों का अपना स्थान होता है।

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

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

तो, हाँ, यह दोनों संख्याओं को देने के लिए समझ में आता है [1], और मैंने अक्सर इसे प्रकाशनों में देखा है। एक तीसरा विकल्प भी है:

  • प्राथमिक ऑपरेशन की संख्या की तुलना करना । यदि दोनों पुनरावृत्तियों में एक ही प्रकार के उपयुक्त रूप से महंगे ऑपरेशन शामिल हैं, लेकिन इसके लिए एक अलग संख्या (संभवतः प्रत्येक पुनरावृत्ति में समान संख्या भी नहीं) की आवश्यकता होती है, तो यह इन संक्रियाओं की कुल संख्या की गणना करने के लिए समझ में आता है । आपके मामले में, एक संभावित उम्मीदवार मैट्रिक्स-वेक्टर या मैट्रिक्स-मैट्रिक्स गुणा होगा।

[१] निश्चित रूप से कई रनों पर आँकड़े प्रस्तुत करते हैं; यदि आप साधन दिखाते हैं, तो मानक विचलन को भी शामिल करना न भूलें।


5
मतलब मत लो! यदि आपके पास यादृच्छिक इनपुट के साथ पर्याप्त परीक्षण बिंदु हैं, तो वितरण की साजिश करें।
बिल बर्थ

1
@BillBarth - अच्छा बिंदु, हालांकि यह हमेशा संभव नहीं हो सकता है; लेकिन माध्य के साथ मानक विचलन देना हमेशा संभव होना चाहिए। वास्तव में, रिपोर्टिंग के प्रदर्शन के लिए प्रस्तुत करने वाले आँकड़े एक उत्कृष्ट अनुवर्ती प्रश्न की तरह लगते हैं।
क्रिश्चियन क्लैसन

@BillBarth आपने एक अच्छा बिंदु बनाया। लेकिन, मैं बढ़ते क्रम में कई परीक्षण मैट्रीक का उपयोग कर रहा हूं। ऐसे मामलों के लिए वितरण की साजिश करना संभव नहीं है, तब से मुझे अन्य सभी परीक्षण मैट्रिस के लिए वितरण की साजिश करनी है। यही कारण है कि मैं उन्हें सारणीबद्ध करना चाहता था। आपकी टिप्पणियों के लिए आभार।
सर्जना

1
@ सर्जन: आपके पास डेटा होगा, आपको जहां भी आप कर सकते हैं, वहां अपने लिए हिस्टोग्राम लगाना चाहिए। आपको उन सभी को प्रकाशित करने की आवश्यकता नहीं है, लेकिन मैं आपसे वादा करता हूं कि वितरण का एक ग्राफ़ आपको संख्याओं के एक समुद्र या केवल औसत इच्छा से अधिक बताएगा।
बिल बर्थ

मैं निष्पादन के समय निष्पादन समय को शामिल करूंगा। चूंकि प्रत्येक मैट्रिक्स अलग है, इसलिए आपके पास अलग-अलग निष्पादन समय के साथ विभिन्न पुनरावृत्तियों हो सकते हैं। साथ ही @Cristian ने जो कहा, उसके अनुसार प्रति निष्पादन का समय उपयोगी होगा।
jbcolmenares

4

मैं भ्रामक मीट्रिक होने के लिए पुनरावृत्तियों की संख्या पाता हूं क्योंकि यह "गति" का सुझाव देता है जब ऐसा नहीं होता है। इस अंतर को दर्शाने वाले कुछ अलग-अलग पूर्ववर्तियों की तुलना करने के एक सरल उदाहरण के लिए, यहाँ देखें: http://www.dealii.org/developer/doxygen/deal.II/step_6.html#Possificationsforextensions


जवाब के लिए धन्यवाद। मैं इस पंक्ति 'पुनरावृत्तियों की संख्या को भ्रामक मीट्रिक होने की वजह से समझ नहीं पा रहा हूं क्योंकि यह "गति" है जब यह नहीं है "। आपने जो उदाहरण सुझाया है, उसे समझना मेरे लिए कुछ कठिन है।
सर्जन

जो मैं कह रहा हूं कि हम अक्सर "पुनरावृत्तियों की संख्या" को "सीपीयू समय का उपयोग करने के लिए" के बराबर प्रस्तुत करते हैं, यह अर्थ है कि एक विधि जिसमें कम पुनरावृत्तियों की आवश्यकता होती है वह भी तेज है। लेकिन यह सच नहीं है, जैसा कि मेरे द्वारा जुड़े आंकड़ों से पता चलता है।
वोल्फगैंग बैंगर्थ

अब, मैं आपकी बात को पूरी तरह से समझ गया हूं। वही मैंने एक वर्ग मैट्रिक्स के व्युत्क्रम के लिए न्यूटन विधि के साथ अवलोकन किया है। विधि का क्रम बढ़ता है, प्रारंभ में सीपीयू समय के साथ-साथ पुनरावृत्तियों की संख्या दोनों घट जाती है, लेकिन जैसे ही आदेश बढ़ता है cpu समय शुरू होता है भले ही पुनरावृत्तियों की संख्या घट जाती है। उत्तर देने के लिए आपका धन्यवाद।
सर्जन

2

अन्य उत्तरों में यह स्पष्ट नहीं है कि बड़े ओ-आर्ग्युमेंट्स के लिए कौन सी संख्या-पुनरावृत्तियाँ अच्छी हैं।

यह पूर्ण गति के लिए अच्छा नहीं है, क्योंकि यह औसत-समय-प्रति-चलना पर निर्भर करता है, जो कि एक बड़े कारक द्वारा विधियों के बीच भिन्न हो सकता है।

उदाहरण के लिए, सरणी सूचकांकों की गणना की लागत को अनदेखा करने की प्रवृत्ति है, और यह सीपीयू समय के एक बड़े अंश के लिए अच्छी तरह से खाता हो सकता है।

जोड़ा गया: जैसा कि मैंने कहीं और बताया है, विधि के हर आह्वान के लिए आमतौर पर सेटअप लागत होती है। तब यदि मैट्रिसेस आमतौर पर बहुत बड़े नहीं होते हैं, तो सेटअप लागत स्वयं CPU समय के बड़े अंश के लिए हो सकती है (जैसे कि इसे हटाने से गति में बड़ा अंतर होगा)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.