ग्रोवर का एल्गोरिथ्म और जटिलता वर्गों से इसका संबंध है?


12

मैं ग्रोवर के एल्गोरिथ्म के बारे में भ्रमित हो रहा हूं और यह जटिलता वर्गों से जुड़ा हुआ है।

ग्रोवर एल्गोरिथ्म पाता और तत्व के एक डेटाबेस में (जैसे कि ) के साथ तत्वों की ओरेकल के लिए कॉल।kN=2nf(k)=1

N=2n/2

तो हम निम्नलिखित समस्या है:

समस्या: डेटाबेस में पता लगाएं जैसे किkf(k)=1

अब मुझे पता है कि यह कोई समस्या नहीं है और इस तरह हमारी जटिलता वर्ग , आदि की सामान्य परिभाषाएं वास्तव में लागू नहीं होती हैं। लेकिन मुझे पता है कि कैसे हम इस तरह के एक मामले में जटिलता वर्ग को परिभाषित करेगा उत्सुक हूँ - और मौसम यह करने के लिए सम्मान के साथ किया जाता या ?PNPNn

इसके अलावा ग्रोवर के एल्गोरिथ्म को एक सबरूटीन के रूप में इस्तेमाल किया जा सकता है। मैंने कई स्थानों पर पढ़ा है कि ग्रोवर का एल्गोरिथ्म जटिलता वर्ग को एक समस्या में नहीं बदलता है - क्या यह देखने के लिए एक अनुमानी तरीका है।


\text{}जटिलता वर्गों के नाम लिखने के लिए उपयोग करने पर विचार करें । उदाहरण के लिए \text{NP}या\text{BQP}
संचेतन दत्ता

1
मुझे यकीन नहीं है कि आप यहां क्या पूछ रहे हैं। एल्गोरिथम जटिलता वर्गों के सदस्य नहीं हो सकते हैं, क्योंकि जटिलता वर्गों में कम्प्यूटेशनल समस्याएं होती हैं। क्या आप पूछ रहे हैं कि प्रश्न में बताई गई समस्या 'ज्ञात' जटिलता वर्ग में निहित है या इसके लिए पूरी है? क्या आप पूछ रहे हैं कि क्या ग्रोवर के एल्गोरिथ्म की 'खोज' ज्ञात जटिलता वर्गों के बीच संबंधों पर एक प्रमेय की ओर ले जाती है? कृपया स्पष्ट करें।
छिपकली

जवाबों:


6

सारांश

  • खोज समस्याओं की जटिलता का एक सिद्धांत है (जिसे संबंध समस्याओं के रूप में भी जाना जाता है)। इस सिद्धांत को बुलाया वर्ग शामिल एफपी , FNP , और FBQP जो संसाधनों के विभिन्न प्रकार के साथ खोज समस्याओं को सुलझाने के बारे में प्रभावी रूप से कर रहे हैं।
  • खोज समस्याओं से, आप निर्णय की समस्याओं को भी परिभाषित कर सकते हैं, जो आपको सामान्य वर्ग P , NP और BQP में खोज समस्याओं से संबंधित है ।
  • चाहे आप समस्या के निर्णय संस्करण के खोज संस्करण पर विचार करें, जिस तरह से आप अनस्ट्रक्चर्ड खोज समस्या के लिए इनपुट पर विचार करते हैं, यह निर्धारित करेगा कि आप इसकी जटिलता पर क्या ऊपरी सीमा लगा सकते हैं।

संबंध समस्याओं की जटिलता

जैसा कि आप ध्यान दें, ग्रोवर की समस्या एक खोज समस्या को हल करती है, जिसे जटिलता साहित्य में कभी-कभी एक संबंध समस्या के रूप में भी जाना जाता है। अर्थात्, यह निम्नलिखित प्रकार की समस्या है:

एक सामान्य खोज समस्या की संरचना।
एक इनपुट और एक द्विआधारी संबंध आर को देखते हुए , एक y ऐसा खोजें जो R ( x , y ) धारण करता है।xRyR(x,y)

जटिलता वर्ग एफपी और एफएनपी को ऐसी समस्याओं के संदर्भ में परिभाषित किया गया है, जहां विशेष रूप से उस मामले में रुचि है जहां की लंबाई x की लंबाई के बहुपदीय समारोह में है , और जहां संबंध आर ( एक्स , वाई ) ही हो सकता है लंबाई ( x , y ) में कुछ बहुपद से बंधे हुए समय की गणना करें ।yxR(x,y)(x,y)

विशेष रूप से: 'डेटाबेस खोज' समस्या का उदाहरण जिसके लिए ग्रोवर की खोज को आमतौर पर लागू किया जाता है, को निम्नानुसार वर्णित किया जा सकता है।

असंरचित खोज।
एक इनपुट ओरेकल को देखते हुए : एच एम + 1 2 ऐसी है कि हे | एक | = | एक | ( एक ) कुछ समारोह के लिए: { 0 , 1 } मीटर{ 0 , 1 } , लगता है एक y ऐसी है कि हे | y | 0 = | y | 1O:H2m+1H2m+1O|a|b=|a|bf(a)f:{0,1}m{0,1}yO|y|0=|y|1

यहाँ, ओरेकल ही समस्या का इनपुट है: यह की भूमिका निभाता है , और जिस संबंध में हम गणना कर रहे हैं वह R ( O , y ) हैx

R(O,y)[O|y|0=|y|1][f(y)=1].

मान लीजिए कि, एक ओरेकल के बजाय, हमें एक विशिष्ट इनपुट प्रदान किया जाता है, जो बताता है कि फ़ंक्शन को कैसे गणना किया जाना है, हम तब विचार कर सकते हैं कि यह समस्या किस जटिलता वर्ग की है। जैसा कि इंगित करता है , हमारे द्वारा प्राप्त उपयुक्त जटिलता वर्ग इस बात पर निर्भर करता है कि इनपुट कैसे प्रदान किया जाता है।xfpyramids

  • मान लीजिए कि इनपुट फ़ंक्शन एक डेटाबेस के रूप में प्रदान किया गया है (जैसा कि समस्या कभी-कभी वर्णित किया जाता है), जहां डेटाबेस में प्रत्येक प्रविष्टि में कुछ लंबाई होती है । यदि n पूरे डेटाबेस का वर्णन करने के लिए उपयोग की जाने वाली स्ट्रिंग x की लंबाई है , तो डेटाबेस में N = n / प्रविष्टियाँ हैं। फिर क्रम में एन प्रविष्टियों में से प्रत्येक को क्वेरी करके पूरे डेटाबेस को पूरी तरह से खोजना संभव है , और अगर हम एक प्रविष्टि y जैसे कि f ( y ) = 1 पाते हैं तो रोक दें । यह मानते हुए कि डेटाबेस की प्रत्येक क्वेरी O ( O ) जैसी है।nxN=n/Nyf(y)=1 समय, समय में इस प्रक्रिया हाल्ट हे ( एन लॉग एन ) हे ( एन लॉग इन करें n ) , तो समस्या है किएफपीO(logN)O(logn)O(NlogN)O(nlogn)

    यह मानते हुए कि डेटाबेस-लुकअप सुसंगत सुपरपोज़िशन में किया जा सकता है, ग्रोवर का एल्गोरिथ्म इस समस्या को FBQP में अनुमति देता है । लेकिन, जैसा कि एफपी  ⊆  FBQP , शास्त्रीय संपूर्ण खोज भी साबित होता है कि इस समस्या में है FBQP । डेटाबेस प्रश्नों की संख्या में बचत के कारण हम जो कुछ भी प्राप्त करते हैं (लॉग कारकों के लिए) एक द्विघात गति है।

  • मान लीजिए कि इनपुट समारोह संक्षेप वर्णन किया गया है एक बहुपद समय एल्गोरिथ्म है कि एक विनिर्देश लेता द्वारा, और एक तर्क y { 0 , 1 } मीटर और computes हे : एच मीटर + 1 2x{0,1}ny{0,1}mO:H2m+1H2m+1मानक आधार पर राज्य , जहां मीटर से भी ज्यादा बड़ा हो सकता है Ω ( लॉग एन ) । एक उदाहरण है, जहां एक्स निर्दिष्ट कुछ बूलियन समारोह की CNF प्रपत्र : { 0 , 1 } मीटर{ 0 , 1 } के लिए मीटर हे ( एन ) , जिस स्थिति में हम कुशलतापूर्वक मूल्यांकन कर सकते हैं ( y ) एक इनपुट पर |y|bmΩ(logn)xf:{0,1}m{0,1}mO(n)f(y) है और इस तरह कुशलता से मूल्यांकन हे मानक आधार राज्यों पर। यह समस्या कोFNPमें रखता है।y{0,1}mO

    मूल्यांकन करने के लिए एक प्रक्रिया को देखते हुए से ( एक्स , वाई ) समय में हे ( पी ( एन ) ) के लिए n = | x | , ग्रोवर का एल्गोरिथ्म हे समय के लिए असंरचित खोज की समस्या को हल करता है ( पी ( एन ) solf(y)(x,y)O(p(n))n=|x|Oहे(पी(एन)हे(पी(n)2) । यहnमें बहुपद नहीं है, और इसलिए इस समस्या कोFBQPमें रखने के लिए पर्याप्त नहीं है: हम केवल एक द्विघात गति प्राप्त करते हैं - हालांकि यह अभी भी गणना समय की संभावित बड़ी बचत है, यह मानते हुए कि ग्रोवर के एल्गोरिथ्म में प्रदान किया गया लाभ नहीं खोया गया है। ओवरहेड गलती-सहिष्णु क्वांटम गणना के लिए आवश्यक है।O(p(n)2n)n

दोनों मामलों में, जटिलता को स्ट्रिंग x * की लंबाई के संदर्भ में निर्धारित किया जाता है जो यह निर्दिष्ट करता है कि ओरेकल ओ की गणना कैसे करें । ऐसा होता है कि में एक्स एक लुक-अप तालिका का प्रतिनिधित्व करता है, हमारे पास एन = n / , जिस स्थिति में के एक समारोह के रूप में प्रदर्शन एन के एक समारोह के रूप में प्रदर्शन करने के लिए इसी तरह की है n ; लेकिन मामले में है कि एक्स संक्षेप निर्दिष्ट करता हे , और एन हे ( 2 n / 2 ) , बड़े चित्र संदेश यह है कि ग्रोवर हल में समस्या हेnxOxN=n/NnxONO(2n/2)प्रश्न महीन दाने वाले संदेश को अस्पष्ट करते हैं कि यह एल्गोरिथ्म अभी भी क्वांटम कंप्यूटर के लिए घातांक समय है।O(N)

संबंध समस्याओं से निर्णय जटिलता

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

सामान्य खोज समस्या का निर्णय संस्करण।
यह देखते हुए एक इनपुट और एक द्विआधारी संबंध आर निर्धारित करता है कि y : आर ( एक्स , वाई ) आयोजित करता है।xRy:R(x,y)

इस तरह की समस्याओं के संदर्भ में जटिलता वर्ग एनपी को अनिवार्य रूप से परिभाषित किया जा सकता है, जब संबंध कुशलता से कम्प्यूटेशनल होता है: सबसे प्रसिद्ध एनपी -अपूर्ण समस्याएं (CNF-SAT, HAMCYCLE, 3-COLORING) एक वैध समाधान के अस्तित्व के बारे में हैं एक कुशलता से सत्यापित संबंध समस्या। समाधानों के अस्तित्व को व्यक्त करने के लिए समाधानों के उत्पादन से यह स्विच भी है जो हमें पूर्णांक कारक के संस्करणों का वर्णन करने की अनुमति देता है जो कि बीक्यूपी में हैं (यह पूछकर कि क्या गैर-तुच्छ कारकों का अस्तित्व है, बजाय गैर-तुच्छ कारकों के मूल्यों के लिए पूछने से ) ।R

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

ओरेकल जटिलता

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

इस मामले में, हम एक साथ काम कर रहे relativised गणना के मॉडल है, जो में यह एक विशिष्ट ओरेकल का मूल्यांकन (जो, याद है, समस्या के लिए इनपुट है) एक आदिम ऑपरेशन है। यह oracle सभी इनपुट आकारों पर परिभाषित किया गया है: लंबाई n के तारों पर खोज करने के लिए समस्या पर विचार करने के लिए , आपको यह निर्दिष्ट करना होगा कि oracle O लंबाई n के इनपुट पर कैसे कार्य करता है , जो फिर से एक की लंबाई पर विचार करके किया जाएगा बूलियन स्ट्रिंग एक्स इनपुट के रूप में लिया गया। इस मामले में, हम जिस तरह से समस्या पेश करेंगे, वह इस प्रकार हो सकती है।OnOnx

Oracle सापेक्ष खोजा गया । O
एक इनपुट को देखते हुए लंबाई के एन ,x=111n

  • एक को खोजने के (संबंध समस्या) याy{0,1}n

  • निर्धारित एक वहाँ मौजूद है या नहीं (निर्णय समस्या)y{0,1}n

ऐसे कि O|y|0=|y|1

यह समस्या (निर्णय समस्या के लिए) या F N P O (संबंध समस्या के लिए) है, इस समस्या के किस संस्करण पर आप विचार करना चाहते हैं। क्योंकि ग्रोवर का एल्गोरिथ्म एक बहुपद-समय एल्गोरिथ्म नहीं है, इस समस्या को बी क्यू पी या एफ बी क्यू पी में नहीं जाना जाता है । वास्तव में, हम कुछ मजबूत कह सकते हैं, जैसा कि हम जल्द ही देखेंगे।NPOFNPOBQPOFBQPO

जिस कारण से मैंने अनस्ट्रक्चर्ड सर्च के वास्तविक, ओरेकल-आधारित विवरण पर ब्रश किया, वह आपकी जटिलता के बिंदु पर और विशेष रूप से इनपुट आकार के प्रश्न पर स्पर्श करने के लिए था । समस्याओं की जटिलता काफी हद तक नियंत्रित की जाती है कि इनपुट कैसे निर्दिष्ट किए जाते हैं: एक स्पष्ट विनिर्देश के रूप में (CNF-SAT में फ़ंक्शन को कैसे निर्दिष्ट किया जाता है), एक स्पष्ट विनिर्देश के रूप में (किसी लुक-अप तालिका के मामले में) फ़ंक्शन), या यहां तक ​​कि एक पूर्णांक के रूप में निर्दिष्ट किया गया है, जैसा कि एकतरफा में निर्दिष्ट किया गया है, जैसा कि ऊपर 1s की स्ट्रिंग की लंबाई के रूप में है (जैसा कि ऊपर ओरेकल सापेक्ष "असंरचित खोज में है" )।O

जैसा कि हम बाद के मामले से देख सकते हैं, यदि हम इनपुट को केवल एक ओरेकल के रूप में मानते हैं, तो स्थिति थोड़ी अनौपचारिक लगती है, और यह निश्चित रूप से उन तरीकों के बारे में बात करना असंभव बनाता है जो "डेटाबेस" को महसूस किया जा सकता है। लेकिन समस्या के संबंधित संस्करण पर विचार करने का एक गुण यह है कि एक वास्तविक तांडव के साथ, यह है कि हम उन चीजों को साबित कर सकते हैं जो अन्यथा हमें पता नहीं है कि कैसे साबित करना है। अगर हम यह साबित कर सकते हैं कि सक्सेस असंरचित खोज समस्या का निर्णय संस्करण बीक्यूपी में था , तो हम व्यावहारिक गणना में एक बड़ी सफलता का एहसास करने के लिए खड़े होंगे; और अगर हम यह साबित कर सकते हैं कि निर्णय की समस्या वास्तव में BQP में नहीं थी , तो हमने दिखाया कि P ACE PSPACE, जो कम्प्यूटेशनल जटिलता में एक बड़ी सफलता होगी। हम नहीं जानते कि कैसे करना है। लेकिन relativised समस्या के लिए, हम दिखा सकते हैं कि oracles हैं जिसके लिए "Unstructured Search सापेक्ष O " का निर्णय संस्करण N P O में है लेकिन B Q P O में नहीं है । यह हमें यह दिखाने की अनुमति देता है कि जब क्वांटम कंप्यूटिंग संभावित रूप से शक्तिशाली है, तो यह अपेक्षा करने के कारण हैं कि BQP में शायद NP शामिल नहीं है , और यह कि विशेष रूप से Unstructured Search का संबंध संस्करण FBQP में मजबूत बाधाओं को लागू किए बिना समाहित होने की संभावना नहीं है। इनपुट का प्रतिनिधित्व किया है।OONPOBQPO


2

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

किसी भी मामले में, आप ग्रोवर कलन विधि का उपयोग जटिलता कक्षा में एक लाभ नहीं मिलता है: यह तेजी से कई क्वांटम आपरेशन लेता है, आम तौर पर , एक समस्या हम जानवर बल सकता है तेजी से कई चरणों में, आम तौर पर हल करने के लिए मीटर * 2 n - 1 , एक शास्त्रीय कंप्यूटर वैसे भी। इसका मतलब है कि घातीय रनटाइम लेने के लिए ज्ञात समस्याएं (जैसे EXPTIME) या संदिग्ध (जैसे NP) अभी भी घातीय रनटाइम की आवश्यकता होगी।m2n/2m2n1

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


" भौतिक विज्ञानी इस धारणा के लिए अपील करना पसंद करते हैं कि यह अभी भी एक घातीय गति-अप है जिसमें कोई ज्ञात नहीं है ..." क्या आपका मतलब " अभी भी एक बहुपद गति " लिखना है ?
glS

नहीं, यह वास्तव में एक घातीय गति-अप है (बस घातीय रनटाइम को एक नॉनएक्सपॉन्शियल एक में बदलने के लिए पर्याप्त नहीं है)।
पिरामिड

2

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

हम समस्याओं के वर्ग को परिभाषित निम्नलिखित तरीके से (या, यह एक तरह से यह करने के लिए है):NP

चलो एक समारोह है कि एक इनपुट स्वीकार करता हो एक्स { 0 , 1 } n और रिटर्न एक बिट मान 0 या 1. कार्य आप को खोजने के लिए है कि क्या की दी गई मूल्य है वह यह है कि एक्स रिटर्न एक 1. हालांकि, वहाँ समस्या के लिए आगे संरचना है: अगर ( एक्स ) = 1 , आप की गारंटी है कि वहां मौजूद एक सबूत पी एक्स (आकार के मीटर ~ पाली ( एन ) ) ऐसी है कि एक समारोह जी ( एक्स , पी एक्स )f(x)x{0,1}nxf(x)=1pxmpoly(n) केवल अगर f ( x ) = 1 , और फ़ंक्शन g ( x , p x ) कुशलता से कम्प्यूटेबल है (अर्थात इसमें पाली ( n ) का रनिंग टाइम है।g(x,px)=1f(x)=1g(x,px)poly(n)

मुझे कुछ उदाहरण दें (शायद ये वही हैं जो आप यहाँ पूछ रहे थे ?):

  • समता: प्रश्न का उत्तर ' x विषम?' है। यह इतना तुच्छ है (बस x का कम से कम महत्वपूर्ण बिट लें ) कि f ( x ) कुशलता से सीधे गणना की जाती है, और इसलिए एक सबूत अनावश्यक है, g ( x , p x ) = f ( x )f(x)xxf(x)g(x,px)=f(x)

  • समग्र संख्या: इस प्रश्न का उत्तर देता है ' x एक समग्र संख्या का दशमलव प्रतिनिधित्व है ?'। हाँ दिशा में एक संभावित प्रमाण (आपको केवल उस दिशा को साबित करना है) कारकों की एक जोड़ी देना है। उदाहरण के लिए x = 72 , p x = ( 8 , 9 ) । फिर जी ( एक्स , पी ) में केवल कारकों को एक साथ गुणा करना और जांचना शामिल है कि वे एक्स के बराबर हैं ।f(x)xx=72px=(8,9)g(x,p)x

  • ग्राफ आइसोमोर्फिज्म: दो ग्राफ और जी 2 (यहां x में दोनों ग्राफ का वर्णन है) को देखते हुए , f ( x ) इस सवाल का जवाब देता है कि 'दो ग्राफ आइसोमॉर्फिक हैं?'। प्रूफ पी एक्स एक क्रमचय है: जी 2 के उन लोगों के लिए जी 1 मानचित्र में कोने का विवरण । फ़ंक्शन g ( x , p x ) सत्यापित करता है कि p x एक मान्य क्रमपरिवर्तन है, G 1 के कोने को पार करता हैG1G2xf(x)pxG1G2g(x,px)pxG1निर्दिष्ट क्रमांकन का उपयोग करते हुए, और पुष्टि करता है कि आसन्न मैट्रिक्स G2

  • माइनस्वीपर : विंडोज़ (और अन्य) में निर्मित पुराने पसंदीदा गेम को इस तरह व्यक्त किया जा सकता है। एक माइन्सवेपर बोर्ड की कल्पना करें जो आंशिक रूप से खुला है, इसलिए कुछ कोशिकाएं अज्ञात हैं, और कुछ कोशिकाओं को यह उजागर करने के लिए उजागर किया गया है कि पड़ोसी कोशिकाओं में कितनी खदानें हैं। यह सब चर में बनाया गया है । एफ ( एक्स ) सवाल पूछता है 'क्या खुला क्षेत्र पर खानों का एक वैध काम है?'। प्रूफ, पी एक्स , खानों के ऐसे ही एक असाइनमेंट है। यह आसानी से जी ( एक्स , पी एक्स ) का उपयोग करके सत्यापित किया जाता है जो बस हर ज्ञात बाधा के साथ स्थिरता सुनिश्चित करता है।xf(x)pxg(x,px)

ये सभी समस्याएं क्योंकि वे एक कुशलतापूर्वक सत्यापन योग्य समाधान की परिभाषा में फिट होती हैं। उनमें से कुछ पी में भी जाने जाते हैं: हमने पहले ही कहा है कि अजीब परीक्षण पी में है । समग्र संख्याएं भी हैं, क्योंकि यह जांचना कुशल है कि क्या एक संख्या AKS primality परीक्षण का उपयोग कर रही है ।NPPP

ग्राफ आइसोमॉर्फिज्म और माइंसवीपर में होने का पता नहीं है । दरअसल, सुरंग भेदी पोत में जाना जाता है होना करने के लिए एनपी -Complete, यानी अगर यह कुशलता से हल किया जा सकता, में हर समस्या एनपी में है पी । बहुत से लोग संदेह है कि पी एनपी , और इसलिए माइनस्वीपर उदाहरण हैं जिनमें बहुपद समय से अधिक समय लग हल करने के लिए होगा।PNPNPPPNP

एक समस्या को हल करने का एक संभावित तरीका है, एक निश्चित x के लिए , बस एक अधिकतम लंबाई m = पाली ( n ) तक सभी संभव प्रमाण p x का परीक्षण करना है , और देखें कि क्या कोई संतोषजनक समाधान है, अर्थात समाधान g की खोज करें ( x , p x ) = । जाहिर है, कि लेता है समय हे ( 2 मीटर पाली ( मीटर ) )NPxpxm=poly(n)g(x,px)=1O(2mpoly(m)), क्योंकि खोज करने के लिए तेजी से कई आइटम हैं, प्रत्येक को गणना करने के लिए एक बहुपद समय की आवश्यकता होती है। ग्रोवर की खोज को लागू करके इसे बेहतर बनाया जा सकता है: हम बस एक समाधान (अर्थात मान्य p x चिह्नित आइटम बन जाता है) की खोज करते हैं, और इसमें O ( 2 m / 2 poly) ( m ) का समय लगता है ) )g(x,px)=1pxO(2m/2poly(m))। यह बड़े पैमाने पर तेज़ है, लेकिन यह आकलन नहीं बदलता है कि क्या चल रहा समय बहुपद है या कुछ बदतर है; यह एक बहुपद समय एल्गोरिथ्म नहीं बन गया है। उदाहरण के लिए, ग्राफ आइसोमॉर्फिज्म को सभी संभावित क्रमपरिवर्तन पर खोज करना होगा। माइनस्वीपर को खुले वर्गों पर खानों के सभी संभावित असाइनमेंट की खोज करनी होगी।

बेशक, कुछ समय, समस्या में अतिरिक्त संरचना विभिन्न समाधानों की अनुमति देती है जिन्हें सभी संभावित प्रमाणों की खोज की आवश्यकता नहीं होती है। वहां, ग्रोवर की खोज कम है, या यहां तक ​​कि नहीं, हमारे लिए उपयोग करें, लेकिन यह हो सकता है कि हम एक अन्य तरीके से एक बहुपद समय एल्गोरिथ्म के साथ आ सकते हैं। उदाहरण के लिए, समग्र परीक्षण का मामला: शास्त्रीय रूप से, किसी संख्या के कारकों को खोजना कठिन प्रतीत होता है: हम सभी संभावित कारकों के परीक्षण की तुलना में बहुत बेहतर नहीं कर सकते हैं, इसलिए प्रमाण के उस रूप का उपयोग करने से बहुत मदद नहीं मिलती है, लेकिन , जैसा कि पहले ही उल्लेख किया गया है, प्रश्न को एक अन्य मार्ग, ए.के.एस.


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

@Discretelizard True, लेकिन मैं अतिरिक्त शब्दावली / तकनीकीता का परिचय देने से बचने के लिए शैक्षणिक उद्देश्यों के लिए लक्ष्य बना रहा था। मुझे यकीन है कि थोड़ी-सी सूक्ष्मताएं हैं कि मेरा विवरण याद आ रहा है (जैसे मैंने फ़ंक्शन के एक परिवार के बजाय एक फ़ंक्शन निर्दिष्ट किया है ), फिर से बहुत ज्यादा नहीं फंसने के इरादे से, और इस बिंदु पर पहुंचने की कोशिश कर रहा है। f(x)
डफ्टवुल्ली

आप अपनी इच्छानुसार चीजों को परिभाषित कर सकते हैं, लेकिन मुझे लगता है कि यह उल्लेख करना उपयोगी है कि जब पाठक अन्य स्रोतों की जाँच करते हैं तो यह मानक नहीं है। इसलिए टिप्पणी।
छिपकली

-1

डेटाबेस के बारे में भूल जाओ। ग्रोवर का एल्गोरिथ्म बूलियन संतुष्टि समस्या हल करता है , जिसका नाम है:

आपके पास इनपुट और एकल आउटपुट के साथ एक बूलियन सर्किट है । सर्किट इनपुट बिट्स के एकल कॉन्फ़िगरेशन के लिए 1 आउटपुट करता है, अन्यथा आउटपुट 0 है । इनपुट बिट्स के विन्यास का पता लगाएं।n10

समस्या को एनपी-पूर्ण होने के लिए जाना जाता है।


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

2
अज्ञानी या ट्रोलिंग डाउनवोटिंग के कारण मैं अब इस मंच का योगदान नहीं करने जा रहा हूं।
29'18

@kludg मैं मानता हूं कि नीचे के वोटों में से एक मेरा है, इसलिए मुझे समझाने की; बिना संदर्भ या स्पष्टीकरण के आपका जवाब ओपी में मेरे द्वारा पूछे गए किसी भी प्रश्न का उत्तर नहीं देता है। यह एक दिलचस्प बिंदु बनाता है लेकिन जहाँ तक यह बताता है कि यह मेरे विशिष्ट प्रश्नों के लिए प्रासंगिक नहीं है। अब मैं इस बिंदु पर गलत हो सकता हूं और आप वास्तव में मेरे कुछ सवालों के जवाब दे रहे हैं - अगर यह मामला है तो मुझे विश्वास नहीं होता कि उन्हें किसी भी स्पष्ट तरीके से जवाब दिया गया है।
क्वांटम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.