O (·) एक फ़ंक्शन नहीं है, इसलिए एक फ़ंक्शन इसके बराबर कैसे हो सकता है?


47

मैं पूरी तरह से समझता हूं कि बड़े O नोटेशन का क्या मतलब है। मेरा मुद्दा तब है जब हम कहते हैं कि T(n)=O(f(n)) , जहां T(n) आकार n इनपुट पर एक एल्गोरिथ्म का समय चल रहा है ।

मैं इसके शब्दार्थ को समझता हूं। लेकिन T(n) और O(f(n)) दो अलग चीजें हैं।

T(n) एक सटीक संख्या है, लेकिनO(f(n)) एक फ़ंक्शन नहीं है जो एक संख्या को बाहर थूकता है, इसलिए तकनीकी रूप से हमT(n) O ( f ( n ) ) के बराबर नहीं कह सकते हैं, यदि कोई पूछता है आप क्यामूल्यकी हे ( ( एन ) ) , क्या आपका जवाब हो सकता है? कोई उत्तर नहीं है।O(f(n))O(f(n))


7
बस, में प्रतीक = का T(n)=O(f(n))अर्थ "बराबर" नहीं है। सवाल इस धारणा पर टिकी हुई है। क्या आपको ऐसा स्रोत मिला जो ऐसा कहता हो?
श्रीवत्सआर

20
यह गणितीय तरीकों का दुरुपयोग करने के कई तरीकों में से एक है :(
technical_difficulty

13
यदि 64 एक संख्या है तो मैं 64 कैसे हो सकता हूं?
TaW

7
विकिपीडिया हमेशा उत्तर की तलाश शुरू करने के लिए एक अच्छी जगह है - इसमें इस सटीक बिंदु पर चर्चा करने वाला एक खंड है
डुकलिंग

3
@ मैथ्रेडलर कोई एल्गोरिथ्म नहीं है। यह सोचकर कि बिग-ओ एक एल्गोरिथम के बारे में बात कर रहा है, यह सोचने जैसा है कि दशमलव किसी की ऊंचाई के बारे में बात कर रहा है। big-O गणितीय कार्यों की वृद्धि दर के बारे में बात करने के लिए एक संकेतन है; दशमलव संख्याओं के लिए एक संकेतन है। गणितीय कार्य हो सकता है, लेकिन कुछ एल्गोरिथ्म के चलने का समय नहीं होना चाहिए; संख्या हो सकती है, लेकिन किसी की ऊंचाई नहीं होनी चाहिए।
डेविड रिचेर्बी

जवाबों:


107

कड़ाई से बोलना, O(f(n)) कार्यों का एक सेट है। तो O(f(n)) का मान बस उन सभी कार्यों का समूह है, जो asymptotically f(n) से अधिक तेजी से नहीं बढ़ता है । अंकन T(n)=O(f(n)) लिखने के लिए सिर्फ एक पारंपरिक तरीका है कि T(n)O(f(n))

ध्यान दें कि यह O नोटेशन के कुछ कैविट को भी स्पष्ट करता है। उदाहरण के लिए, हम चाहते हैं कि लिखने (1/2)n2+n=O(n2) , लेकिन हम उस बारे में कभी नहीं O(n2)=(1/2)n2+n । डोनाल्ड नथ को उद्धृत करने के लिए (कंप्यूटर प्रोग्रामिंग की कला, 1.2.11.1):

सबसे महत्वपूर्ण विचार एक तरफ़ा समानता का विचार है । [...] तो α(n) और β(n) सूत्रों को शामिल कर रहे हैं O -notation, तो अंकन α(n)=β(n) का मतलब है कि द्वारा प्रदर्शित किया जाता कार्यों का सेट α(n) है निहित सेट में β(n) द्वारा दर्शाया गया है ।


3
मैं दूसरे पैराग्राफ को नहीं समझता। मैं मानता हूं कि जब हम लिखते हैं , तो हमारा मतलब f O ( f ( n ) ) होता है । लेकिन ऐसा करना चाहिए नहीं हे ( ( एन ) ) = हे ( जी ( एन ) ) , सेट समानता के रूप में व्याख्या की जा के बाद से हे ( ( एन ) ) हे ( जी ( एन ) )f=O(f(n))fO(f(n))O(f(n))=O(g(n))O(f(n))O(g(n))कोई मतलब नहीं है (यह एक प्रकार की त्रुटि है!)। यदि हां, तो आप क्यों कहते हैं लेकिन हे ( एन 3 ) हे ( एन 2 ) दूसरा पैराग्राफ में? O(n2)O(n3)O(n3)O(n2)
एलेक्स वोंग

7
जब दोनों सेट कर रहे हैं हम के रूप में यह व्याख्या क्योंकि O(n2)O(n3)
Riad

1
मैं उन स्थानों पर शब्दों का उपयोग करूँगा जहाँ इसकी वास्तव में आवश्यकता है। संगणना में आपको आमतौर पर केवल एक पक्षीय बात की जरूरत होती है
रियाद

11
मैंने कभी किसी पाठ या अन्य गंभीर स्रोत में O (n ^ 2) = O (n ^ 3) नहीं देखा है। क्या आप एक का हवाला दे सकते हैं?
यक्क

1
हम और अधिक सख्त, होना चाहते हैं और एन 3 काम करता है, नहीं कर रहे हैं और एन एन 3 रहे हैं। लेकिन "किसी कारण से" मैं किसी लिखने नहीं देखा है n एन 2हे ( एन n 3 ) एक पाठ है कि लोगों द्वारा पढ़ा जा करने के लिए है में। f(n)n3fnn3nn2O(nn3)
जीके

43

O एक फ़ंक्शन है

O:(NR)P(NR)fO(f)
यानी यह एक समारोह को स्वीकार करता हैfऔर कार्यों कि साझा asymptotic (अधिकतम) के लिए बाध्य का एक सेट पैदावारf। और सख्ती से सही अंकन बोल इस प्रकार है
(nT(n))O(nf(n))
या शॉर्ट
TO(f)
, लेकिन यह करने के लिए गणित, विज्ञान और सीएस में प्रथागत बस में एक चर कहीं का उपयोग यह दर्शाने के लिए कि आपतर्कn केकार्यों परविचार कर रहे हैंnदोनों तरफ। तो T(n)O(f(n)) के साथ-साथ काफी ठीक है। T(n)=O(f(n)) बहुत गलत है, हालांकि आपको संदेह है। यह बहुत आम तौर पर उपयोग किया जाता है, लेकिन निश्चित रूप से ध्यान रखें कि जब लोग इसे लिखते हैं तो इसका क्या मतलब होता है।

मैं कभी भी T(n)=O(f(n)) लिखने के खिलाफ सलाह दूंगा , लेकिन राय अलग हैं


11
संकेतन का पूरी तरह से मानक उपयोग है इसलिए यह दावा करना कि यह गलत है अनहेल्दी है। (As, IMO, यह दावा कर रहा है कि O एक फ़ंक्शन है; यह तकनीकी रूप से सत्य है, लेकिन यह वास्तव में एक उपयोगी तरीका नहीं है। इसके बारे में सोचना।)T(n)=O(f(n)O
डेविड रिचर्बी

38
@DavidRicherby कुछ चीजें पूरी तरह से मानक हैं लेकिन ऐसा नहीं होना चाहिए। एक उदाहरण है। निश्चित रूप से यह जानना अभी भी अच्छा है कि लोगों को इससे क्या मतलब है (जैसा कि ओपी पहले से ही करता है), लेकिन यह कैसे पुष्टि करने में मददगार नहीं है कि यह नोटेशन तकनीकी रूप से फर्जी है? आप इसका उपयोग क्यों करेंगे ? यहां तक कि अगर = संस्करण अस्पष्ट नहीं है, न तो है एक है, और अधिक लोगों को बेहतर है कि अंकन करने के लिए स्विच। यह हमेशा बेहतर होता है कि वास्तव में गणितीय रूप से समझ में न आए, जब तक कि यह लिखने के लिए बहुत अधिक अजीब न हो। T(n)=O(f(n))=पूरी तरह से पठनीय और लिखने में आसान है।
लेफ्टरनैबाउट

1
@leftaroundabout आप इसे पर अपनी उंगली रख दिया है जब आप कहते हैं कि "जब तक यह और अधिक लिखने के लिए अजीब है" - के साथ काम कर रहे , लिखने के लिए बहुत कुछ अजीब वास्तव में विशेष मामला है जहाँ कोई नहीं है को छोड़कर हे ( ) एलएचएस पर शर्तों और आरएचएस पर बिल्कुल एक। (उदाहरण देखें कि मेरे इस उत्तर की तरह स्पर्शोन्मुख दवाओं के साथ काम करना और उस उत्तर की तुलना करना जो ओ () संकेतन के सभी लाभों को छोड़ देता है और एक अनुचित धारणा पर निर्भर रहना पड़ता है।) अंकन का उद्देश्य विचार की सहायता करना है, और वहाँ है। "=" का अर्थ बदलकर यहां हासिल करने के लिए बहुत कुछ हैO()
श्रीवत्सआर

2
@ श्रीवत्सआर यकीन नहीं है कि आप यहाँ कहाँ जा रहे हैं। मैंने लिंक किए गए पोस्ट को बहुत अच्छी तरह से नहीं पढ़ा है, लेकिन टीबीएच आपकी पोस्ट को सबसे अधिक जटिल लगता है और इसके अच्छे समूह की जरूरत है (कुछ अस्पष्ट है, "यह अभी एक पुस्तक में नहीं मिल सकता है") नियम , जबकि अन्य उत्तर पहले सिद्धांतों से आसानी से समाधान दें। वैसे भी क्या तुम सिर्फ "दुरुपयोग" की जगह से बंद हो जाता है साथ संकेत और के रूप में उपयुक्त? =
15:22 बजे लेफ्टरेंबाउट

1
@ श्रीवत्सआर I सहमत है कि नियमों / प्रमेयों का एक सेट बनाना सिद्धांत का बिंदु है। लेकिन सबसे महत्वपूर्ण बात यह है कि प्रत्येक नियम के लिए स्पष्ट रूप से औपचारिक रूप से जब, बिल्कुल लागू होता है । IMO प्रकार सिद्धांत उसके लिए सबसे अच्छा ढांचा है, लेकिन व्यवहार में भोले सेट पर्याप्त हैं। भोली बीजीय अभिव्यक्ति की "समीकरण" को शामिल / / Θ प्रतीकों हालांकि, नहीं कर रहे हैं। - "क्या वे आपको निर्धारित सिद्धांत की औपचारिकता के बारे में सोचते हैं," - मिशन पूरा हुआ! - "जो मानव विचार से मेल नहीं खाता ..." - क्या यह नहीं है? व्यवहार में, रिश्तों के बारे में बात करना वैसा ही है जैसा आप टाइप थ्योरी के साथ कर रहे हैं। OoΘ
13:18

13

औपचारिक रूप से कहा जाए तो O(f(n)) कार्यों का सेट एक है g ऐसी है कि g(n)kf(n) कुछ निरंतरk और सभी बड़े पर्याप्त n । इस प्रकार, यह लेखन के सबसे pedantically सही तरीका होगाT(n)O(f(n)) । हालांकि, का उपयोग कर= बजाय  पूरी तरह से मानक है, औरT(n)=O(f(n)) बस का अर्थ हैT(n)O(f(n)) । यह अनिवार्य रूप से अस्पष्ट नहीं है क्योंकि हम लगभग कभी भी सेटO(f(n)) हेरफेर नहीं करते हैं।

एक मायने में, समानता का उपयोग कर बनाता है O(f(n)) मतलब है "कुछ समारोह g ऐसी है कि g(n)fg(n) सभी बड़े पर्याप्त n "के लिए, और इसका मतलब है कि आपf(n)=3n+O(logn) जैसी चीजें लिख सकते हैं। ध्यान दें कि यह बहुत अधिक सटीक है, जैसे,f(n)=Θ(n) याf(n)=O(n+logn)


तुम भी लिख सकता है । हालाँकि मैं मानता हूँ कि f ( n ) = = 3 n + O ( log n ) के साथ बहु-चरणीय संगणना को समाप्त करना आसान हो सकता है । f(n)3nO(logn)f(n)==3n+O(logn)
लेफ्टरनैबाउट

पुनर्व्यवस्था केवल स्टैंडअलोन बयानों में काम करती है। यह गणनाओं के बीच में बहुत अधिक सामान्य है, जहां उस तरह की चीज काम नहीं करती है, और जहां कई कार्य एक साथ लैंडौएशन में अवशोषित हो जाते हैं। (स्टफ जैसे )। f(x)=ex(e2x+O(x))=ex+o(1)
डेविड रिचेर्बी

4
मुझे उस झुंझलाहट की तरह संगणनाएँ मिलती हैं; वे समान चिह्न अब अप्रत्यक्ष नहीं हैं। मैं नहीं यकीन है कि वहाँ लेखन के साथ एक समस्या का अधिक है । मुझे लगता है कि यह भी संकेतन का दुरुपयोग है; मूल रूप से आप अधिक भार रहे = ऑपरेटर जबकि मैं लिफ्ट करने के लिए पसंद करते हैं + और भी करने के लिए सेट पर कार्य करते हैं। f(x)ex(e2x+O(x))ex+o(1)=+
१२:०६ पर लेफ्टनैबाउट

एक संभावना asymptotic कार्यों के सेट के लिए थोड़ा अलग अंकन उपयोग करने के लिए, हो सकता है , और इस सेट की एक अनिर्धारित तत्व के लिए, कहते हैं कि हे ( ) । तो, अगर - जी हे ( ) , एक लिख सकते हैं = + हे ( ) अस्पष्ट के बजाय = + हे ( ) । तो आप समस्या के बिना लिख सकते हैं हे ( )O(h)O(h)fgO(h)f=g+O(h)f=g+O(h) । की एक अनिर्दिष्ट तत्व के लिए अन्य संभावित अंकन हे ( ) हो सकता है ˙ हे ( ) , हे ( ) ...O(h)=fgO(h)O˙(h)O^(h)
मिशेल Fioc

11

प्रस्तावना: बड़ी O संकेतन मानव मन से प्यार की भाषा के हिस्से के रूप में कुछ संकेतन की शक्ति और अस्पष्टता का एक उत्कृष्ट उदाहरण है। इससे कोई फर्क नहीं पड़ता कि यह कितना भ्रम पैदा करता है, यह उन विचारों को व्यक्त करने के लिए नोटेशन का विकल्प है जो हम आसानी से पहचान सकते हैं और कुशलता से सहमत हो सकते हैं।

मैं पूरी तरह से समझता हूं कि बड़े O नोटेशन का क्या मतलब है। मेरा मुद्दा तब है जब हम कहते हैं कि T(n)=O(f(n)) , जहां T(n) आकार n इनपुट पर एक एल्गोरिथ्म का समय चल रहा है ।

क्षमा करें, लेकिन आपके पास एक मुद्दा नहीं है यदि आप बड़े O नोटेशन का अर्थ समझते हैं ।

मैं इसके शब्दार्थ को समझता हूं। लेकिन T(n) और O(f(n)) दो अलग चीजें हैं। T(n) एक सटीक संख्या है, लेकिन O(f(n)) एक फ़ंक्शन नहीं है जो एक संख्या को बाहर फैलाता है, इसलिए तकनीकी रूप से हम T(n) O ( f ( n ) ) के बराबर नहीं कह सकते हैं , यदि कोई पूछता है आप क्या मूल्य की हे ( ( nO(f(n))O(f(n)) , आपका जवाब क्या होगा? कोई उत्तर नहीं है।

क्या महत्वपूर्ण है शब्दार्थ है । क्या महत्वपूर्ण है (कैसे) लोग (में से एक) इसका सटीक व्याख्याओं कि asymptotic व्यवहार या समय और स्थान जटिलता हम में रुचि रखने वाले कर रहे हैं का वर्णन करेंगे पर आसानी से सहमत हो सकते हैं। डिफ़ॉल्ट सटीक व्याख्या / की परिभाषा T(n)=O(f(n)) विकिपीडिया से अनुवादित है ,

T एक वास्तविक या जटिल महत्वपूर्ण कार्य है औरf कोई वास्तविक महत्वपूर्ण समारोह, दोनों वास्तविक सकारात्मक संख्या में से कुछ असीम सबसेट पर परिभाषित किया है, ऐसा है कि हैf(n) के सभी बड़ा पर्याप्त मूल्यों के लिए सख्ती से सकारात्मक हैnn सभी पर्याप्त रूप से बड़े मानों के लिए,T(n) कानिरपेक्ष मानf(n) अधिकांश सकारात्मक स्थिरांक है। यही है, वहाँ एक सकारात्मक वास्तविक संख्याM और एक वास्तविक संख्याn0 जैसे कि

 for all nn0,|T(n)|Mf(n) for all nn0.

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

T(n) एक सटीक संख्या है, लेकिनO(f(n)) एक फ़ंक्शन नहीं है जो एक संख्या को बाहर थूकता है, इसलिए तकनीकी रूप से हमT(n) O ( f ( n ) ) के बराबर नहीं कह सकते हैं, यदि कोई पूछता है आप क्यामूल्यकी हे ( ( एन ) ) , क्या आपका जवाब हो सकता है? कोई उत्तर नहीं है।O(f(n))O(f(n))

वास्तव में, कोई जवाब नहीं हो सकता है, क्योंकि यह प्रश्न बीमार है। T(n) मतलब एक सटीक संख्या नहीं है। यह एक समारोह जिसका नाम है के लिए खड़े करने के लिए है T और जिसका औपचारिक पैरामीटर है n (जो तरह घिरा की है n में f(n) )। यह सही है और इससे भी ज्यादा अगर हम T=O(f) लिखते हैं । यदि T वह फ़ंक्शन है जो n से n2 पर मैप करता है और f वह फ़ंक्शन है जो n से n 3 तक मैप करता है n3, यह f(n)=O(n3) या n2=O(n3) लिखने के लिए भी पारंपरिक है । कृपया यह भी ध्यान दें कि परिभाषा यह नहीं कहती है कि O एक फ़ंक्शन है या नहीं। यह नहीं कहता है कि बाएं हाथ की ओर दाहिने हाथ की तरफ के बराबर होना चाहिए! आपको यह संदेह करना सही है कि समान चिह्न का अर्थ सामान्य अर्थ में समानता नहीं है, जहां आप समानता के दोनों किनारों को स्विच कर सकते हैं और इसे समतुल्य संबंध द्वारा समर्थित होना चाहिए। (समान चिह्न के दुरुपयोग का एक और भी अधिक प्रसिद्ध उदाहरण :=कुछ भाषाओं की तरह अधिक बोझिल होने के बजाय अधिकांश प्रोग्रामिंग भाषाओं में अर्थ असाइनमेंट के बराबर चिह्न का उपयोग है ।)

अगर हम केवल एक समानता के बारे में चिंतित हैं (मैं भाषा का दुरुपयोग करना शुरू कर रहा हूं। यह एक समानता नहीं है , हालांकि, यह एक समानता है क्योंकि अंकन में एक समान संकेत है या इसे किसी प्रकार की समानता के रूप में माना जा सकता है ), T(n)=O(f(n)) , यह उत्तर दिया जाता है।

हालांकि, सवाल वास्तव में चला जाता है। इसका क्या अर्थ है, उदाहरण के लिए, f(n)=3n+O(logn) ? यह समानता ऊपर की परिभाषा द्वारा कवर नहीं की गई है। हम एक और सम्मेलन, प्लेसहोल्डर सम्मेलन शुरू करना चाहते हैं । यहाँ विकिपीडिया में कहा गया प्लेसहोल्डर सम्मेलन का पूरा विवरण है ।

अधिक जटिल उपयोग में, O() एक समीकरण में अलग-अलग स्थानों में दिखाई दे सकता है, यहां तक ​​कि प्रत्येक तरफ कई बार। उदाहरण के लिए, निम्नलिखित खरे उतरते हैं n

(n+1)2=n2+O(n)
(n+O(n1/2))(n+O(logn))2=n3+O(n5/2)
nO(1)=O(en)

इस तरह के बयानों का अर्थ इस प्रकार है: किसी भी कार्य करता है जो प्रत्येक को संतुष्ट करने के लिए O() बाईं ओर, वहाँ कुछ प्रत्येक संतोषजनक कार्य हैं O() सही पक्ष पर, ऐसा है कि समीकरण में इन सभी कार्यों प्रतिस्थापन बनाता है दो पक्ष बराबर। उदाहरण के लिए, ऊपर दिए गए तीसरे समीकरण का अर्थ है: "किसी भी फ़ंक्शन के लिए f(n)=O(1) , कुछ फ़ंक्शन है g(n)=O(en) जैसे कि nf(n)=g(n)। "

आप कार्रवाई में प्लेसहोल्डर सम्मेलन के एक और उदाहरण के लिए यहां जांचना चाह सकते हैं ।

आपने अब तक देखा होगा कि मैंने बड़े O नोटेशन के सेट- थ्योरिटिक स्पष्टीकरण का उपयोग नहीं किया है । मैंने जो कुछ भी किया है, वह सेट-थ्योरिटिक स्पष्टीकरण के बिना भी दिखाना है जैसे कि " O(f(n)) फ़ंक्शंस का एक सेट है", हम अभी भी बड़े O -notation को पूरी तरह और पूरी तरह से समझ सकते हैं । यदि आपको वह सेट-थ्योरिटिक स्पष्टीकरण उपयोगी लगता है, तो कृपया आगे बढ़ें।

आप इस तरह के बड़े रूप में asymptotic व्यवहार के लिए अंकन, के परिवार के लिए एक अधिक विस्तृत विश्लेषण और उपयोग पैटर्न के लिए CLRS की "asymptotic संकेत" में अनुभाग की जांच कर सकते हैं Θ , Ω , छोटे o , छोटे ω , multivariable उपयोग और अधिक। विकिपीडिया प्रविष्टि भी एक बहुत अच्छा संदर्भ है।

अन्त में, कई चर, 1 और 2 के साथ बड़े O अंकन के साथ कुछ अंतर्निहित अस्पष्टता / विवाद है । आप दो बार सोचना चाहते हैं जब आप उन का उपयोग कर रहे हैं।


10

में एल्गोरिथ्म डिजाइन मैनुअल [1], तो आप इस मुद्दे के बारे में एक पैराग्राफ पा सकते हैं:

OΩΘn2=O(n3)n2O(n3)

ΘOΩ

O(f(n))


[१] स्कीना, एसएस द एल्गोरिथम डिज़ाइन मैनुअल (दूसरा संस्करण)। स्प्रिंगर (2008)


7

f=O(g)
there exists hO(g) such that f=h.

f(n)=n3+O(n2)g(n)O(n2)f(n)=n2+g(n)

मुझे यह अस्तित्वपूर्ण मात्रात्मक व्याख्या इतनी उपयोगी लगती है कि मुझे इस तरह की चीजें लिखने का मोह है

f(n)O(n3)

Cf(n)Cn3



2

n2=O(n3)n2nO(n3)nn2O(n3)

O==O>=

O(mn)O(nc)cO(n)nO(2b)

यह सब कहना है कि बिग-ओ एक अनौपचारिक संकेतन है, जो अपव्यय से आहत है, और आपको अक्सर यह समझने के लिए अन्य संदर्भ का उपयोग करना होगा कि एक लेखक क्या कह रहा है।

=OO


n2=O(n3)nnnn

2

बस उस बिंदु को रेखांकित करने के लिए जिसे कई बार बनाया गया है, मुझे एनजी डी ब्रुइजन, एसिम्प्टोटिक विधि विश्लेषण में उद्धृत करने की अनुमति दें :

O0<x<O(1)+O(x2)f(x)+g(x)f(x)=O(1)(0<x<)g(x)=O(x2)(0<x<)x1O(1)=O(1)+O(x2)x1O(1)O(1)+O(x2)। कभी-कभी, संबंध के बाएं-हाथ एक वर्ग नहीं होते हैं, लेकिन एक ही कार्य [...]। फिर संबंध का अर्थ है कि बाईं ओर का कार्य दाईं ओर वर्ग का सदस्य है।

=O(x)=O(x2)(x)O(x2)=O(x)(x)=

=

यह कहने के बाद कि, Bender और Orszag का अंकन ( वैज्ञानिकों और इंजीनियरों के लिए उन्नत गणितीय तरीकों से ) बहुत कम भ्रमित है और विचार करने लायक है। कुछ सीमा के संबंध में, हम कहते हैं:

f(x)g(x)(xx0)

fg

limxx0f(x)g(x)=1

तथा:

f(x)g(x)(xx0)

fg

limxx0f(x)g(x)=0

लेकिन मुझे लगता है कि बड़े-ओह संकेतन का लाभ यह है कि स्थिर कारक मनमाना है। (और छोटे-ओह संकेतन के लिए, निरंतर कारक आप जो भी हैं।)


0

स्टैकओवरफ़्लो पर मैं इस पर गया ; जबकि शायद ओपी का सबसे सही उत्तर पहले से ही ऊपर बताया गया है (समतुल्यता वर्ग, # 1 के रूप में नीचे पुनर्स्थापित किया गया है), यहां एक पूर्ण विवरण है:

  1. f=O()fO(){12x2,(5x2x+5),2.5x,...}x2O(x2)<O(x3)=O(x3+x) (कुछ सेट अतुलनीय हो सकते हैं; डीएजी; एक दिलचस्प उदाहरण के लिए बहुपद पदानुक्रम देखें)।

    f=Θ()fΘ()f X gfO(g)fO(g)gf(g)O(g)Θ

  2. fΘ(g)x0x>x0gfLOWg(x)f(x)HIGHg(x)O(g)k1g(x)+err(x)0err(x)k2g(x)x>x0xx0f=2Θ(x2)f(x)=2k1x2+err(x)0err(x)k2x2। हम कभी भी इसे नीचे नहीं लिखेंगे ... क्योंकि यह थोड़ा मूर्खतापूर्ण है। लेकिन मेरा मानना ​​है कि यह इस तरह से सोचना वैध हो सकता है, और समानता की धारणा को संरक्षित करेगा। (मैं यहां नकारात्मक संकेतों का उचित उपचार कर रहा हूं, जो महत्वपूर्ण हो सकता है।)

    ए। लिए उपर्युक्त को संशोधित करेंOΘ


x2k1x3+errerrx2=2x+err2xx2x2
डेविड रिचेर्बी

0

एक अधिक सटीक उत्तर यह होगा कि जब हम कहते हैं कि एक फ़ंक्शन च 'फ़ंक्शन ओ का बड़ा ओ' है। (यानी x ^ 2 + x O (x ^ 2) है) हम कह रहे हैं कि f (x) <C * g (x) कुछ मान C और k जहां x> k है। इसका मतलब है कि जी, च के बीहाइवर के लिए एक ऊपरी सीमा है।

उदाहरण

x ^ 2 + 10x 4 हे (x ^ 2 + x) जो कि स्वयं हे (x ^ 2) है

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