मैं एक ग्राफ को क्यों देख सकता हूं और तुरंत किसी अन्य बिंदु पर निकटतम बिंदु ढूंढ सकता हूं, लेकिन प्रोग्रामिंग के माध्यम से मुझे O (n) समय लगता है?


122

मुझे स्पष्ट करें:

दिए गए अंकों में से कुछ की संख्या को देखते हुए, अगर मैं मानसिक रूप से किसी भी बिंदु पर निकटतम बिंदु को खोजना चाहता हूं, तो मैं ग्राफ़ में अधिकांश बिंदुओं को तुरंत अनदेखा कर सकता हूं, अपनी पसंद को कुछ छोटे, निरंतर अंकों के पास तक सीमित कर सकता हूं ।

फिर भी, प्रोग्रामिंग में, किसी भी एक के निकटतम बिंदु को खोजने के लिए, बिंदु n का एक सेट दिया गया है, इसके लिए हर दूसरे बिंदु की जांच करने की आवश्यकता है, जो O(n) समय है।

मैं यह अनुमान लगा रहा हूं कि ग्राफ़ की दृश्य दृष्टि संभवतः कुछ डेटा संरचना के समतुल्य है जिसे मैं समझने में असमर्थ हूं; क्योंकि प्रोग्रामिंग के साथ, इस तरह के एक quadtree के रूप में एक अधिक संरचित विधि के अंक को परिवर्तित करके, एक के सबसे करीब अंक प्राप्त कर सकते हैं में अंक में के समय, या ammortized समय।knklog(n)O(logn)

लेकिन डेटा रिस्ट्रक्चरिंग के बाद पॉइंट-फाइंडिंग के लिए अभी भी कोई ज्ञात _ ammortized एल्गोरिदम (जो मुझे मिल सकता है) नहीं है।O(1)

तो यह केवल दृश्य निरीक्षण के साथ ही क्यों संभव प्रतीत होता है?


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

20
मुझे लगता है कि कम से कम आपकी एक धारणा सामान्य रूप से नहीं है। सभी बिंदुओं को एक चक्र पर व्यवस्थित करें, जिसमें 'छोटे' छिद्र हों और 1 अतिरिक्त बिंदु P वृत्त का केंद्र हो। यदि आप P को निकटतम बिंदु खोजना चाहते हैं, तो आप ग्राफ़ में किसी भी अन्य बिंदु को खारिज नहीं कर सकते ।
कोलापसर

4
क्योंकि हमारा दिमाग वाकई अद्भुत है! सस्ते उत्तर की तरह लगता है लेकिन यह सच है। हम वास्तव में हमारे (जाहिरा तौर पर बड़े पैमाने पर समानांतर) छवि प्रसंस्करण कार्यों के बारे में पूरी जानकारी नहीं रखते हैं।
कार्ल विटथॉफ्ट

7
ठीक है, मूल रूप से, आपका मस्तिष्क आपके बिना सूचना के अंतरिक्ष विभाजन का उपयोग करता है। तथ्य यह है कि यह वास्तव में तेजी से प्रकट होता है इसका मतलब यह नहीं है कि यह एक निरंतर समय है - आप कुछ परिमित रिज़ॉल्यूशन के साथ काम कर रहे हैं, और आपका इमेज प्रोसेसिंग सॉफ्टवेयर इसके लिए डिज़ाइन किया गया है (और शायद यह सब समान रूप से संभाल रहा हो)। तथ्य यह है कि आप प्रीप्रोसेसिंग करने के लिए सौ मिलियन छोटे CPU का उपयोग कर रहे हैं, आपको में नहीं डालता है - यह बहुत कम प्रोसेसर पर जटिल ऑपरेशन करता है। और 2 डी पेपर के लिए साजिश रचने मत भूलना - कि अपने आप को कम से कम । O(1)O(n)
लुअन

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

जवाबों:


115

मानसिक रूप से आप जो करते हैं उसका आपका मॉडल गलत है। वास्तव में, आप दो चरणों में काम करते हैं:

  1. समय में सभी बिंदुओं को दूर करें ।O(1)
  2. उपाय अंक कि के बारे में के रूप में करीब हैं, में का समय है।mΘ(m)

यदि आपने पेनेटेक (कटोरे) या कर्लिंग जैसे खेल खेले हैं, तो यह परिचित होना चाहिए - आपको उन वस्तुओं की जांच करने की आवश्यकता नहीं है जो लक्ष्य से बहुत दूर हैं, लेकिन आपको निकटतम दावेदारों को मापने की आवश्यकता हो सकती है।

इस बिंदु को स्पष्ट करने के लिए, कौन सा हरे रंग का बिंदु लाल बिंदु के सबसे करीब है? (केवल 1 पिक्सेल से थोड़ा अधिक, लेकिन एक ऐसा है जो सबसे करीब है।) चीजों को आसान बनाने के लिए, डॉट्स को दूरी से रंग-कोडित भी किया गया है।

अंकों का एक बादल

इस चित्र में अंक हैं जो लगभग एक वृत्त पर हैं, और हरे बिंदु हैं। चरण 1 आप लेकिन के बारे में सभी को खत्म करने की सुविधा देता है अंक, लेकिन चरण 2 में से प्रत्येक की जाँच की आवश्यकता है अंक। लिए कोई प्राथमिकता नहीं है ।m=10n10mmm

एक भौतिक अवलोकन आपको अंक के पूरे सेट से अंक के एक सीमित उम्मीदवार सेट तक समस्या के आकार को छोटा करने देता है । यह कदम सामान्य रूप से समझा गया एक संगणना कदम नहीं है, क्योंकि यह एक सतत प्रक्रिया पर आधारित है। कम्प्यूटेशनल जटिलता के बारे में और विशेष रूप से स्पर्शोन्मुख विश्लेषण के बारे में निरंतर प्रक्रियाओं सामान्य अंतर्ज्ञान के अधीन नहीं हैं।nm

अब, आप पूछ सकते हैं कि एक सतत प्रक्रिया पूरी तरह से समस्या का समाधान क्यों नहीं कर सकती है? यह कैसे इन करने के लिए आता है अंक, हम प्राप्त करने के लिए प्रक्रिया क्यों को परिष्कृत नहीं कर सकते ?mm=1

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

आप इस प्रणाली को एक असतत, कम्प्यूटेशनल दुनिया में मॉडल कर सकते हैं। मान लें कि बिंदुओं को एक डेटा संरचना में दर्शाया गया है जो उन्हें ग्रिड पर कोशिकाओं में विभाजित करता है, अर्थात बिंदु को सेल लिए एक सूची में संग्रहीत किया जाता है । यदि आप उन बिंदुओं की तलाश कर रहे हैं जो सबसे करीब हैं और जिस सेल में यह बिंदु मौजूद है, उसमें अधिकांश एक बिंदु हैं, तो यह युक्त सेल और 8 पड़ोसी कोशिकाओं की जांच करने के लिए पर्याप्त है। इन 9 कोशिकाओं में कुल अंकों की संख्या । यह मॉडल मानव मॉडल के कुछ प्रमुख गुणों का सम्मान करता है:(x,y)(x,y)(x0,y0)m

  • m संभावित रूप से अनबाउंड है - उदाहरण के लिए एक सर्कल पर लगभग झूठ बोलने वाले उदाहरणों का एक विकृत बदतर मामला हमेशा संभव होता है।
  • व्यावहारिक दक्षता डेटा से मेल खाने वाले पैमाने को चुनने पर निर्भर करती है (जैसे कि यदि आपके डॉट्स पेपर के टुकड़े पर हैं और आपकी कोशिकाएं 1 किमी चौड़ी हैं तो आप कुछ भी नहीं बचाएंगे)।

9
क्या अधिक है, सभी ग्राफ़ को प्लेन में प्रोजेक्ट नहीं किया जा सकता है ताकि एक्लिडियन दूरी ग्राफ में दूरी से मेल खाए (उदाहरण के लिए यदि एज वेट एक मीट्रिक नहीं बनता है)।
राफेल

5
@ राफेल मैंने इस प्रश्न को ग्राफ सिद्धांत के बजाय कम्प्यूटेशनल ज्यामिति के रूप में समझा, लेकिन वास्तव में यह एक अतिरिक्त जटिलता है।
गाइल्स

2
@ गिल्स हो गया । मैंने सिर्फ कम्प्यूटेशनल ज्यामिति शब्द सीखा है
गेरिट

2
यह एक नट-पिक हो सकता है, मैं समझ सकता हूं कि आप क्या दिखाने की कोशिश कर रहे हैं, लेकिन जैसा कि कलरब्लाइंड है "पिक टू द ग्रीन निकटतम रेड" बहुत सारे सिर को खरोंच कर देता है कि कौन से बिंदु कौन से हैं। भविष्य में बस कुछ सोचने के लिए - लाल / हरे के अलावा किसी और रंग संयोजन का चयन करें!
tpg2114

3
@ tpg2114 लाल / हरा मत भूलना रंग-अंधापन का एकमात्र प्रकार नहीं है। इसे आकार (या रंग के अलावा कोई विशेषता) के साथ दिखाना "लाल / हरे के अलावा किसी भी अन्य रंग संयोजन" की तुलना में अधिक समावेशी होगा।
जोनाथन वान मैट्रे

42

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

यदि आप तालिकाओं को एक तालिका सूची X और Y निर्देशांक में रखते हैं, तो आपको बिंदुओं के बीच की दूरी की गणना करने, दूरियों की सूची को छाँटने और सबसे छोटी चुनने के लिए बहुत बड़े मानसिक प्रयास की आवश्यकता होगी।

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


2
+1 - मैं नीचे स्क्रॉल कर रहा था कि कोई ठीक इसी बिंदु को खोज रहा है। एक आने वाले डेटा का प्रतिनिधित्व महत्वपूर्ण है - बस एक हल की गई सूची बनाम एक अनसुलझी सूची के माध्य को खोजने की कोशिश करें!
बादल

21

यह प्रश्न दोषपूर्ण आधार से शुरू होता है। आपको बस लगता है कि आप मानसिक रूप से बिंदु में निकटतम बिंदु पा सकते हैं , लेकिन वास्तव में, यदि आप नहीं कर सकते। ऐसा लगता है कि क्योंकि आप बहुत छोटे रेखांकन से निपटने के लिए उपयोग किए जाते हैं, लेकिन छोटे उदाहरण भ्रामक हो सकते हैं, जब हम स्पर्शोन्मुख जटिलता से निपट रहे हैं। यदि आपने एक बिलियन अंकों के साथ स्कैटर प्लॉट के साथ ऐसा करने की कोशिश की, तो आपको जल्दी से पता चल जाएगा कि आप इसे समय में नहीं कर सकते ।O(1)O(1)


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

4
@NickAlger तो यह अधिक पसंद है O(numberOfPointsAboutTheSameDistanceFromTheTargetPointAsTheClosestPoint), जो जरूरी से संबंधित नहीं है n। किसी भी तरह से, मुझे लगता है कि इस बात का जवाब संभव है कि मानव मन इसे कैसे मानता है और इस पर सवाल उठाता है। बस कह रहा है कि यह ओ (1) नहीं है ... आलसी? अपर्याप्त?
डुकलिंग

5
@ डुकलिंग ओ (कुछ) सबसे खराब स्थिति को संदर्भित करता है। अगर कोई ऐसी जगह है जहाँ मानव मस्तिष्क निरंतर समय में नहीं कर सकता है, तो यह निश्चित रूप से ओ (1) नहीं है। यदि कुछ सीमा X है जहां मानव मस्तिष्क निरंतर समय में X बिंदुओं को संसाधित कर सकता है, लेकिन X * 2 बिंदुओं को बिल्कुल भी संसाधित नहीं कर सकता है - तो यह O (1) नहीं है।
पीटरिस

3
@Dukeling यह n पर अत्यधिक निर्भर है, क्योंकि सबसे खराब स्थिति पर यह n के बराबर है, और यदि आपने n मनमाने ढंग से अंक दिए हैं, तो आपको उम्मीद है कि C * n संचालन की तुलना में इसे तेजी से करना असंभव हो सकता है।
पीटरिस

2
@Peteris मुझे लगता है कि हम इस बात से असहमत हैं कि इसका अर्थ "जरूरी रूप से n पर निर्भर" है और निकटतम ऊपरी सीमा का निर्धारण कैसे करें।
डुकालिंग

15

दृश्य निरीक्षण की श्रेष्ठता महत्वपूर्ण परिसर पर टिका है जिसे सामान्य रूप से गारंटी नहीं दी जा सकती है:

  • स्केलिंग : आप ब्याज के क्षेत्र के चित्रमय प्रतिनिधित्व पर ध्यान केंद्रित करते हैं। इसका मतलब है, आपकी दृष्टि के क्षेत्र में फिट होने के लिए ज्यामिति को छोटा कर दिया गया है। सामान्य सेटिंग में इसे पहले से ही प्रीप्रोसेसिंग के लिए समय की आवश्यकता होती है ।O(n)

  • गिनती : (DW द्वारा दिए गए जवाब पर निक अल्जर की टिप्पणी) अपने रेटिना कोशिकाओं की संख्या से अधिक एक बिंदु गिनती मान - आप भी शामिल सभी बिंदुओं की पहचान नहीं करेंगे।

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

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


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

जहां तक ​​मैं समझता हूं, ओपी ने एक एल्गोरिथ्म को लागू करने के लिए को फैक्टर आउट किया है जो में के सभी बिंदुओं के लिए गणना करता है बाद में बार-बार देखने की तैयारी करता है। मेरा कहना यह है कि निरंतर समय में कोई भी रेखापुंज स्कैनिंग सभी समस्या के उदाहरणों को पूरा नहीं करेगी क्योंकि दूरी अंतर ग्रिडलाइन रिक्ति से नीचे गिर सकता है या ग्रिड बिंदुओं की संख्या से अधिक हो सकता है। लॉगरिदमिक समय में संबंधित भाग पर ध्यान केंद्रित करना केंद्र में 1 बिंदु के साथ एक सर्कल पर सभी बिंदुओं 'लगभग' के लिए चाल नहीं करता है क्योंकि सभी बिंदु प्रासंगिक हैं (मैं आपको गलत हो सकता है हालांकि)। O(n)nO(nlogn)n
कोलापसर

15
  1. कंप्यूटर एक अलग समस्या को हल कर रहा है। यह अंकों की एक सूची लेता है , न कि अंकों की रेखापुंज छवि। एक सूची से एक छवि में परिवर्तित करना, अर्थात अंक को "साजिश" करना, O(n)समय लगता है।

    शीघ्र! जो (1,2) निकटतम है:

    • (९, ९)
    • (५, २)
    • (3, -2)
    • (४, ३)
    • (0, 4)
    • (1, 9)

    बहुत कठिन है, है ना? मैं शर्त लगाता हूं कि अगर मैंने दो बार सूची बनाई है तो आपको दोगुना काम करना होगा।

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


13

उसी कारण से जब आप एक त्रिकोण को देखते हैं और यह जानते हैं कि यह एक त्रिकोण है जिसे आप कई लाख गणनाओं को भूल रहे हैं जो आप इसे नोट किए बिना करते हैं।

तंत्रिका जाल

वास्तव में आप एक तंत्रिका नेटवर्क हैं जिसे प्रशिक्षित किया गया है और डेटा के द्रव्यमान के साथ जनता पर लोड किया गया है।

एक उदाहरण के रूप में शिशु आकार की छँटाई खेल लें:

यहां छवि विवरण दर्ज करें

जब कोई बच्चा पहली बार इसके साथ बातचीत करता है, तो यह संभावना है कि वे गलत छेदों में आकृतियों को सम्मिलित करने का प्रयास करेंगे, ऐसा इसलिए है क्योंकि उन्होंने अभी तक अपने मस्तिष्क को प्रशिक्षित नहीं किया है या नेटवर्क बनाने के लिए पर्याप्त डेटा का सामना नहीं किया है। वे किनारों, आकार, .etc के बारे में धारणा नहीं बना सकते हैं कि यह निर्धारित करने के लिए कि कौन सा आकार छेद में फिट बैठता है।

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

आपका मस्तिष्क द्विआधारी नहीं है

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

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

यहां छवि विवरण दर्ज करें

तितर बितर ग्राफ पर वापस, कोई कारण नहीं है कि आप एक बिटमैप का उपयोग कर कंप्यूटर पर ऐसा नहीं कर सकते और बढ़ते बिंदुओं में एक बिंदु से दूरी को माप सकते हैं जब तक कि आप एक और बिंदु का सामना नहीं करते। यह संभवतः सबसे निकटतम है जो आपको मानव सन्निकटन के लिए मिल सकता है। डेटा सीमा के कारण यह बहुत धीमा होने की संभावना है और क्योंकि हमारे दिमाग जरूरी जटिलता की परवाह नहीं करते हैं और चीजों को करने के लिए एक जटिल मार्ग लेते हैं।

यह O (1) या O (n) भी नहीं होगा यदि n अंकों की संख्या है, इसके बजाय इसकी जटिलता अब छवि के एक सीमा तक चयनित बिंदु से अधिकतम रैखिक दूरी पर निर्भर करती है।

tl; डॉ

आपका मस्तिष्क एक बाइनरी कंप्यूटर नहीं है।



8

आप एक महत्वपूर्ण कदम भूल रहे हैं: ग्राफ़ के उन सभी बिंदुओं को देखना, जिन्हें आप देख रहे हैं।

यह आवश्यकता ओ (एन) ऑपरेशन द्वारा है।

इसके बाद एक कंप्यूटर छवि पहचान सॉफ्टवेयर का उपयोग कर सकता है ताकि केंद्र के सबसे करीब के बिंदुओं को खोजने के लिए उसी तरह से किया जा सके जिस तरह से मानव आंख कर सकता है। यह एक O (sizeOfImage) ऑपरेशन सबसे खराब स्थिति है।

एक इंसान के लिए ऐसा ही है जैसे कि कंप्यूटर याद रखें कि कंप्यूटर को निर्देशांक की एक सूची मिलती है और वह उस समय केवल एक को देख सकता है।


1
यदि कोई निरंतर "रिज़ॉल्यूशन" चुनता है, तो एक एल्गोरिथ्म का उपयोग कर सकता है, जो कि उन्हें प्लॉट करने के लिए प्रति बिंदु ओ (लॉग (रिज़ॉल्यूशन)) का उपयोग करता है और उन सभी बिंदुओं की पहचान करता है जो ब्याज के बिंदु पर "करीब" हैं। O (लॉग (रिज़ॉल्यूशन)) अस्पष्ट रूप से इस तथ्य के अनुरूप है कि कागज पर बिंदुओं को सटीक रूप से प्लॉट करने में अधिक समय लगता है, बजाए इसके कि वे कम सटीक करें। यह भी ध्यान दें कि रिज़ॉल्यूशन बढ़ने से गैर-उम्मीदवार बिंदुओं को समाप्त करने के लिए एल्गोरिदम की प्रति-ऑल-पॉइंट लागत में वृद्धि होगी, लेकिन गैर-निकटतम बिंदुओं की संख्या कम होने से उन्मूलन बच जाएगा।
सुपरकैट

7

प्रश्न की मेरी व्याख्या:

मेरा मानना ​​है कि इस सवाल को सरलता से एक कम्प्यूटेशनल ज्यामिति जटिलता के मुद्दे के रूप में लिया जाना है। यह कहने के रूप में बेहतर समझा जाना चाहिए: हम निरंतर समय में उत्तर खोजने की क्षमता महसूस करते हैं, जब हम कर सकते हैं। इस बोध को क्या समझा जाता है, और इस स्पष्टीकरण और मानवीय सीमाओं तक, क्या कोई कंप्यूटर भी ऐसा कर सकता है।

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

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

यदि आप इसे उस समय की धारणा पर लागू करते हैं जिसका उपयोग हम निकटतम बिंदु को खोजने के लिए करते हैं, तो यह अब लेकिन , जहां मेरा बस है " मनोवैज्ञानिक जटिलता " के लिए लैंडौ नोटेशन का आविष्कार कियाO(log(n))Oψ(log(log(n)))Oψ

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

शारीरिक सीमाओं को ध्यान में रखते हुए

छवि अधिग्रहण के चरणों पर विचार करते हुए उपरोक्त निष्कर्ष आगे बनाए रखा गया है।

ओपी एक उचित डेटा संरचना, "जैसे कि क्वाडट्री" के निर्माण को अलग करने के लिए सावधान था, जिसे कई प्रश्नों पर संशोधित किया गया है।

यह उन अधिकांश लोगों के लिए काम नहीं करता है जो छवि को याद नहीं करते हैं। मुझे लगता है कि प्रत्येक क्वेरी के लिए छवि को स्कैन किया गया है, लेकिन यह सभी बिंदुओं को स्कैन नहीं करता है: पहली बार नहीं, और बाद के प्रश्नों के लिए नहीं।

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

स्कैनिंग से मस्तिष्क में एक संरचना बनती है जिसका उत्तर खोजने के लिए विश्लेषण किया जा सकता है। इसमें अभी भी बहुत बड़ी संख्या हो सकती है। हालांकि मुझे नहीं पता कि मस्तिष्क कैसे आगे बढ़ता है, यह सोचना अनुचित नहीं है कि यह किसी प्रकार की फ़ोकसिंग प्रक्रिया है जो सबसे खराब लघुगणक समय पर लेती है , संभवतः कम भी । यह प्रक्रिया कथित छवि पर लागू होती है, जिसमें एक बाउंड आकार होता है। यह निश्चित रूप से अंकों की एक सीमित संख्या है, हालांकि यह काफी बड़ा हो सकता है। इस प्रकार संसाधित होने वाली जानकारी के लिए एक निश्चित ऊपरी है। लॉगरिदमिक प्रसंस्करण को मानते हुए, और उपरोक्त विश्लेषण का पुन: उपयोग करते हुए, कथित प्रसंस्करण समय ।mOψ(log(log(m)))

मानव आंख का संकल्प छड़ की संख्या से तय होता है, जो लगभग 125 मिलियन है । यह लगभग । लॉग्स के लिए बेस 2 का उपयोग करना, जो कि लॉग 2 ऊपरी हिस्से के प्रसंस्करण के लिए देता है , अर्थात एक कदम के लिए जो भी लागत होती है उसके लगभग 5 चरण। 500 मीटर की दूरी पर है जो आंख संकल्प के अनुमानित मूल्य के बजाय का उपयोग करके अंतिम परिणाम नहीं बदलता है।227log2(27)

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

प्रति-उदाहरण और एक संभावित समाधान के बारे में

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

प्रश्न का उत्तर देने के लिए , जो कि वास्तव में ओपी द्वारा पूछा गया प्रश्न है, यह है कि क्या अधिकांश बिंदुओं को खत्म करने का एक तरीका है, संभवतः शेष कुछ को छोड़कर जो संदर्भ बिंदु के समान दूरी के हैं।

कथित निरंतर समय के पीछे क्या छिपा हो सकता है, के हमारे विश्लेषण के बाद, एक कंप्यूटर समाधान जो इसे समय में करता है, उसे संतोषजनक माना जा सकता है। दूसरी ओर, परिशोधित लागत पर निर्भर होना वास्तव में स्वीकार्य नहीं होना चाहिए, क्योंकि मस्तिष्क इसे इस तरह से नहीं करता है, अफिक।O(log(n))

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

"मात्र दृश्य निरीक्षण" कुछ मामलों में डिजिटल गणना की तुलना में बहुत अधिक शक्तिशाली है। और यह सेंसर की भौतिकी के कारण भी है, न कि केवल मस्तिष्क की एक बड़ी कंप्यूटिंग शक्ति के लिए।


मुझे नहीं लगता कि यह एक मुद्दा है कि क्या आपका मस्तिष्क को से अलग कर सकता है, जिसमें धारणा शामिल है। मानव धारणा (मुख्य रूप से रिज़ॉल्यूशन) के हार्डवेयर्ड पैरामीटर हैं क्योंकि आप तर्क दे सकते हैं कि अवधारणात्मक जानकारी प्रसंस्करण हमेशा । यह भी ध्यान दें कि जब आप सरासर अवधारणात्मक मान्यता से परे किसी कार्य को हल करते हैं, तो आप और बीच तुच्छ अंतर करते हैं, जैसे लेबल नोड्स के साथ संतुलित बाइनरी हीप के चित्रमय प्रतिनिधित्व में दिए गए नंबर का पता लगाना। ध्यान दें कि अवधारणात्मक प्रतिबंध मायने नहीं रखते हैं क्योंकि आप केवल स्थानीय स्तर पर ग्राफिक्स का निरीक्षण करते हैं। O(1)O(logn) O(1)O(1)O(logn)
१६:१४

पैमाने के दूसरे पक्ष को भी मानवीय धारणा से विकृत किया गया है: अधिकांश बढ़ते कार्यों से "हमेशा" के मूल्यों का उत्पादन होगा यहां तक ​​कि कंप्यूटरों के बारे में भी हंसी होगी अगर वे भावुक थे। n
राफेल

@collapsar मेरे जवाब का यह पहला अनुमान वास्तव में एक प्रश्न के रूप में कहा गया था, जिसे माना जा सकता है, जो इस प्रकार है। इसे आगे उत्तर में विकसित किया गया है , जो बहुत छोटा है। फिर इसे अन्य कार्यों की तुलना में करना पड़ता है जो एक ही क्रम पर निरंतर समय हैं, और अवधारणात्मक रूप से बहुत अंतर नहीं कर सकते हैं। आपके बाइनरी हीप उदाहरण के साथ ऐसा नहीं है। देर से जवाब के लिए क्षमा करें: कई घंटों के लिए नेटवर्क डाउन। Oψ(log(log(n)))
Babou

4

हमारे पास परीक्षा में छात्र थे, जब उनसे पूछा गया कि आप कितनी तेजी से एक सरणी को सॉर्ट कर सकते हैं, तो दावा करेंगे कि कंप्यूटर बेवकूफ हैं, और n * लॉग (n) (या इससे भी बदतर) की आवश्यकता है, जबकि मनुष्य इसे तेजी से कर सकते हैं।

मेरे प्रोफेसर का जवाब हमेशा था: मैं 10.000 वस्तुओं की सूची दूंगा। आइए देखें कि क्या आप एक ऐसी विधि के साथ आ सकते हैं, जो कंप्यूटर की तुलना में तेज है।

और फिर: जब आप निकटतम बिंदु खोजने की कोशिश करते हैं तो कितने प्रसंस्करण कोर शामिल होते हैं? आप एकल-प्रोसेसर मशीन नहीं हैं, आपके पास एक तंत्रिका नेटवर्क है, जिसमें कुछ लचीलापन है जब यह इस तरह के कार्यों के लिए आता है।


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

@ ThorbjørnRavnAndersen: यह समझने के लिए एक अच्छी जगह है कि अंतरिक्ष-जटिलता कितनी महत्वपूर्ण है "ऐसा कुछ जो कमरे में पूरी तरह से फिट नहीं हो सकता" 8 ^)
ज़ेन

3

मेरा मानना ​​है कि @ पैट्रिक87 ने आपको सुराग दिया: आपकी आँखें और मस्तिष्क एक व्यापक समानांतर कंप्यूटिंग मशीन हैं। कुछ ने तर्क दिया कि यह इस मुद्दे की व्याख्या नहीं करता है, क्योंकि बड़ी समस्याओं के लिए समानांतर प्रोसेसर की एक सीमित संख्या में कोई फर्क नहीं पड़ता है।

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

तो, आप इस समस्या को O (1) में छोटे और सरल मामलों के लिए हल कर सकते हैं जो आपके मस्तिष्क को एक हवा में संसाधित कर सकते हैं। इससे आगे, यह नहीं हो सकता है और इसलिए, यह ओ ( कुछ भी ) नहीं है क्योंकि यह सबसे अधिक संभावना है।


1

किसी ने भी उल्लेख नहीं किया है कि यह समस्या एक स्थानिक सूचकांक वाले कंप्यूटर पर बहुत जल्दी हल हो सकती है। यह आपकी आंखों के लिए एक छवि में बिंदुओं को जल्दी से स्कैन करने और अधिकांश बिंदुओं को खत्म करने के लिए साजिश रचने के बराबर है।

एक बहुत अच्छा अनुक्रमण एल्गोरिथ्म है जिसका उपयोग Google और अन्य लोगों द्वारा निकटतम बिंदु (नों) को खोजने के लिए किया जाता है जिसे जियोश कहते हैं। http://en.wikipedia.org/wiki/Geohash

मुझे लगता है कि यह भी कंप्यूटर के पक्ष में प्रतियोगिता होगी। मैं ऐसे कुछ उत्तरों से प्रभावित नहीं था, जो रैखिक सोच का उपयोग करते थे।


एक स्थानिक सूचकांक के साथ, समस्या अभी भी सबसे खराब स्थिति में है । स्थानिक सूचकांक आपको यादृच्छिक वितरण के लिए जैसा कुछ देता है । Θ ( lg n )Θ(n) Θ(lgn)
गिल्स

मुद्दा यह है कि एक स्थानिक सूचकांक इसे मोटे तौर पर उतना ही आसान बनाता है जितना कि एक इंसान को डॉट्स के साथ स्क्रीन पर देखने के लिए।
रीइनियरिएपोस्ट

1

यदि हम यूक्लिडियन अंतरिक्ष में n- आयामों के एक बिंदु सेट में निकटतम पड़ोसियों को खोजने के मामले पर विचार करते हैं, तो जटिलता आम तौर पर आयामों की संख्या से बंधी होती है क्योंकि यह बड़े (डाटासेट के आकार से बड़ा) बढ़ता है।

पी। अग्रवाल ने श्रेणी खोज पर एक सर्वेक्षण में समस्या के लिए कुछ लघुगणकीय समाधानों की सूची दी है। हालाँकि, जैसा कि आयाम बड़ा होता है, क्वेरी की जटिलता तब । हम डेटा को पढ़ने या डेटा संरचना का निर्माण करने के लिए समय पर विचार नहीं करते हैं, बल्कि इसे क्वेरी करने का समय है।O(logd2n)

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

अब आपके प्रश्न का प्रभावी रूप से एक मनोवैज्ञानिक पहलू है। अध्ययन किया गया है कि निकटतम जवाब "तंत्रिका नेटवर्क" इस विषय पर गर्भपातवादी दृष्टिकोण है। यदि आप एक तंत्रिका नेटवर्क का निर्माण करते हैं जो एक तत्व के निकटतम बिंदु को पहचान सकता है, यदि नेटवर्क के सभी न्यूरॉन्स समानांतर में चलते हैं, जैसा कि सामान्य है, तो आपके पास प्रभावी रूप से एक जटिलता है। यदि हमारा मस्तिष्क एक तंत्रिका नेटवर्क की तरह "प्रभावी रूप से" कार्य करता है, तो यह समझा सकता है कि हमें "जेस्टाल्ट" की छाप क्यों है।O(1)


-1

अन्य उत्तर अच्छे हैं, लेकिन ज़ेन काउंटर प्रश्न के बारे में कैसे है जो मूल प्रश्न के मूल तर्क / चरम सीमा को कुछ दोषपूर्णता दिखाने के लिए बढ़ाता है [लेकिन एआई अनुसंधान के मूल में विरोधाभास भी है ]:

अगर मैं मानवीय बुद्धिमत्ता के साथ सोच सकता हूं, तो मैं एक ऐसा कंप्यूटर क्यों नहीं बना सकता, जो मानव के साथ-साथ सोचता हो?

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

यह आमतौर पर वैज्ञानिकों द्वारा सोचा / अनुमान लगाया जाता है कि मानव मस्तिष्क वास्तव में एल्गोरिदम को नियोजित करता है, लेकिन वे कम्प्यूटरीकृत लोगों की तुलना में अलग तरीके से कार्य करते हैं, और तंत्रिका नेटवर्क के माध्यम से मस्तिष्क में समानांतर प्रसंस्करण की एक बहुत बड़ी मात्रा होती है, जिसे समझदारी से तुलना नहीं की जा सकती है अनुक्रमिक कंप्यूटर एल्गोरिदम। स्तनधारियों में, पूरे मस्तिष्क की मात्रा का एक महत्वपूर्ण प्रतिशत दृश्य प्रसंस्करण के लिए समर्पित है।

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


संक्षिप्त उत्तर हालांकि यह है कि मानव-बोध से संबंधित किसी भी चीज़ की जटिलता को बड़े-ओ रूप में संदर्भित करना है , जो कि गणितीय कार्यों को मापने वाले बुनियादी गणितीय अवधारणा के एक बड़े दुरुपयोग पर निर्भर है। यानी सेब और संतरे! O(f(n))
vzn

-2

आम तौर पर बोलते हुए आप दो अलग-अलग समस्याओं को हल कर रहे हैं और यदि आप एक ही प्रतियोगिता में प्रतिस्पर्धा करते हैं, तो जटिलता आप दोनों के लिए O (1) होगी। क्यों? चलो स्थिति को थोड़ा सरल बनाते हैं - मान लें कि आपके पास एक लाल बिंदु और n हरे बिंदुओं के साथ एक पंक्ति है। आपका कार्य हरे बिंदु को खोजना है जो लाल बिंदु के सबसे करीब है। सब कुछ ग्राफ पर है। अब आप क्या करते हैं और आप जो कार्यक्रम कर रहे हैं, वह मूल रूप से एक ही है - लाल बिंदु से "बस दूर चलना" (दोनों दिशाओं में) और जांचें कि आप जिस पिक्सेल को देख रहे हैं वह सफेद / काला (पृष्ठभूमि) या हरा है। अब जटिलता ओ (1) है।

यह दिलचस्प है कि कुछ डेटा प्रस्तुति विधियाँ कुछ प्रश्नों के उत्तर तुरंत (O (1)) देती हैं। मूल उदाहरण बेहद सरल है - बस काली छवि पर सफेद पिक्सेल की गणना करें (प्रत्येक पिक्सेल का मूल्य 0 = काला या 1 = सफेद है)। आपको जो करने की ज़रूरत है वह सभी पिक्सेल मूल्यों को जोड़ सकता है - जटिलता 1 सफेद पिक्सेल और 1000 के लिए समान है, लेकिन यह छवि के आकार पर निर्भर करता है - O (m), m = image.width * image.height। क्या यह तेजी से करना संभव है? बेशक, हमें बस इतना करना है कि जो छवि अभिन्न है, उसे संग्रहीत करने की विभिन्न विधियों का उपयोग करें : यहां छवि विवरण दर्ज करें अब परिणाम की गणना O (1) है (यदि आपके पास पहले से गणना की गई अभिन्न छवि है)। एक और तरीका है कि सभी सफेद पिक्सेल को सरणी / वेक्टर / सूची / ... में संग्रहीत करें और इसे केवल आकार दें - O (1)।


एक लाइन पर "दूर चलना" । अगले हरे रंग से लाल बिंदु मनमाने ढंग से दूर हो सकता है। किसी सरणी, वेक्टर या सूची के आकार को गिनना भी । O ( 1 )O(1)O(1)
फ्रैंकडब्ल्यू

@FrankW - तो "चलना दूर" की जटिलता क्या है? मैं यह कहने की कोशिश नहीं कर रहा हूं कि आप गलत हैं, मैं सिर्फ जानना चाहता हूं। सरणी / वेक्टर / सूची के आकार की गणना - आम तौर पर सरणी का आकार स्थिर होता है, इसलिए इसे गिनने की कोई आवश्यकता नहीं है, वेक्टर - मुझे यकीन नहीं है, मैं कहूंगा कि यह कार्यान्वयन पर निर्भर करता है (लेकिन सबसे अधिक कार्यान्वयन में सबसे अधिक संभावना यह सिर्फ क्षेत्र के क्षेत्र में है एक वस्तु इसलिए इसे गिनने की कोई आवश्यकता नहीं है), सूची - आप सही हैं, यह ओ (1) नहीं है - मेरी गलती है।
साइबरेल 22:14

यदि आप पिक्सेल कुछ निरंतर ) पिक्सेल के लिए हर (या kth ) को देखना चाहते हैं , तो यह । सरणी / वेक्टर / सूची: यदि आप एक निश्चित आकार का उपयोग करना चाहते हैं, तो आपको उन वस्तुओं की संख्या को गिनना होगा (या अन्यथा जानना होगा) जिन्हें आप पहले से स्टोर करना चाहते हैं। इसके अलावा, मैं इसे "गिनती" नहीं कहूंगा, यदि आप केवल एक चर से संख्या पढ़ते हैं। k O ( # p i x e l s )kkO(#pixels)
फ्रैंक डब्ल्यू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.