बहुपद प्रोग्रामिंग पर आधारित एल्गोरिदम के साथ बहुपद गति


17

यह ए पाल द्वारा पूछे गए एक हालिया प्रश्न का अनुवर्ती है: बहुपद समय में अर्ध-कार्यक्रमों को हल करना

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

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

प्रेरणा क्वांटम पृथक्करण समस्या के लिए उपयोग किए जाने वाले दो एल्गोरिदम की तुलना से आती है (वास्तविक समस्या यहां प्रासंगिक नहीं है, इसलिए शास्त्रीय पाठकों को पढ़ना बंद न करें!)। एल्गोरिदम परीक्षण के एक पदानुक्रम पर आधारित होते हैं जिन्हें एसडीपी में डाला जा सकता है, और पदानुक्रम में प्रत्येक परीक्षण एक बड़े स्थान पर होता है, अर्थात संबंधित एसडीपी का आकार बड़ा होता है। मैं जिन दो एल्गोरिदम की तुलना करना चाहता हूं, वे निम्नलिखित ट्रेडऑफ़ में भिन्न हैं: पहले एक में, समाधान खोजने के लिए आपको पदानुक्रम के अधिक चरणों पर चढ़ने की आवश्यकता है और दूसरे में पदानुक्रम के चरण अधिक हैं, लेकिन आपको कम चढ़ने की आवश्यकता है उनमें से। यह स्पष्ट है कि इस ट्रेडऑफ़ के विश्लेषण में, एसडीपी को हल करने के लिए उपयोग किए जाने वाले एल्गोरिदम का एक सटीक चलने का समय महत्वपूर्ण है। इन एल्गोरिदम का विश्लेषण Navascués et al। में arXiv: 0906.2731, जहां वे लिखते हैं:

... के साथ एक एसडीपी का समय जटिलता m चर और मैट्रिक्स आकार के n है O(m2n2) (एक छोटे से अतिरिक्त लागत एल्गोरिदम के एक यात्रा से आने के साथ)।

में एक और कागज , जहां समस्या के लिए इस दृष्टिकोण पहले प्रस्तावित किया गया था, लेखकों एक ही बाध्य दे, लेकिन वे और अधिक सतर्क शब्द "का उपयोग अंकगणितीय आपरेशनों की संख्या " के बदले " समय जटिलता "।

मेरा सवाल दो गुना है:

  • कौन सा एल्गोरिथ्म / बाध्य नवकासुते एट अल हैं। सन्दर्भ में?
  • क्या मैं लोवेज़ में अभिव्यक्ति "बहुपद समय" को कुछ कम मोटे (समान मान्यताओं को रखते हुए) के साथ बदल सकता हूं?

1
मैं समझता हूँ कि दीर्घवृत्ताभ विधि जवाब है कि additive त्रुटि के भीतर थे दे दिया है में समय बहुपद में लॉग ( 1 / ε ) । सबसे समस्याओं के लिए, एक संदेह है कि हो सकता है ε = Ω ( 1 / 2 n ) पर्याप्त हो सकता है। ϵlog(1/ϵ)ϵ=Ω(1/2n)
सुरेश वेंकट

@ सुरेश वेंकट: यह सही है, दीर्घवृत्तीय विधि इनपुट मैट्रिक्स के आकार, अवरोधों और के आकार में बहुपद में काम करती है । समस्या यह है कि, आवेदन में मैंने जिस प्रश्न का उल्लेख किया है, उसके लिए यह कहना कि "बहुपद" केवल पर्याप्त नहीं है, मुझे अधिक सटीक बाउंड की आवश्यकता है। log(1/ϵ)
एलेसेंड्रो कोसेंटीनो

जवाबों:


12

मैं विशेष रूप से अर्ध-निश्चित कार्यक्रमों के लिए दीर्घवृत्त विधि के विवरण से परिचित नहीं हूं, लेकिन रैखिक कार्यक्रमों के लिए भी , दीर्घवृत्त विधि का विश्लेषण बहुत सूक्ष्म है।

  • सबसे पहले, किसी को आदर्श दीर्घवृत्त एल्गोरिथ्म के पुनरावृत्तियों की संख्या को बाध्य करने की आवश्यकता है । चलो में प्रयोग किया जाता ellispoid हो मैं दीर्घवृत्ताभ एल्गोरिथ्म के वें यात्रा, और मैं अपने केन्द्रक हो। आदर्श एल्गोरिथ्म में, एक जुदाई / सदस्यता ओरेकल आप एक halfspace देता है मैं कि इष्टतम बिंदु शामिल हैं एक्स * लेकिन नहीं केन्द्रक मैं । अगले दीर्घवृत्ताभ मैं + 1 छोटी से छोटी दीर्घवृत्ताभ युक्त मैंमैं । प्रत्येक के लिए मैं , हमारे पास हैEiicihixciEi+1Eihiiहै, जहांnआयाम है। इस प्रकार, एक उचित प्रारंभिक दीर्घवृत्ताभ को देखते हुए, पुनरावृत्तियों की संख्याnऔरलॉग(1/starting)में बहुपद है। कम्प्यूटिंगमैं+1सेमैंऔरमैंकी आवश्यकता है (कुदरती तौर से)हे(एन2)अंकगणितीय आपरेशनों। तो अंकगणितीय परिचालनों की संख्याnऔरलॉगमें बहुपद भी है(vol(Ei+1)<(11n)vol(Ei)nnlog(1/ε)Ei+1EihiO(n2)nlog(1/ε)

  • हालांकि, उन अंकगणितीय कार्यों में से कुछ वर्गमूल हैं! यह निम्नानुसार है कि आदर्श दीर्घवृत्त के गुणांक संख्या 2 i के तर्कहीन संख्याएं हैं , और इसलिए वास्तव में किसी भी उचित समय में वास्तव में E i + 1 की गणना करने की कोई उम्मीद नहीं है । बजाय, एक एक करीबी बाहरी सन्निकटन की गणना करता है ~ मैंमैं परिमित परिशुद्धता अंकगणित का प्रयोग कर प्रत्येक यात्रा पर। ग्रोत्शेल, लोवाज़, और स्ज़्र्वर साबित करते हैं कि यदि कोई i वें पुनरावृत्ति में 10 i बिट्स सटीक  का उपयोग करता है , तो हमारे पास अभी भी v o l है (Ei2iEi+1 E~iEi10ii, इसलिए ज्यादा से ज्यादा एक निरंतर पहलू से पुनरावृत्तियों की संख्या बढ़ जाती। लेकिन अबiवें पुनरावृत्ति केदौरान प्रत्येक अंकगणितीय ऑपरेशन(जुदाई ओरेकल द्वारा किए गए संचालन सहित) को(आईपॉलीग्लॉटआई)समय कीआवश्यकता होती है।vol(E~i+1)<O(11n)vol(E~i)iO(i polylog i)

कुल मिलाकर, कुल दीर्घवृत्ताभ विधि के समय से चल रहा है बहुत मोटे तौर पर वर्ग अंकगणितीय आपरेशनों की संख्या का। चूंकि अंकगणितीय आपरेशनों की संख्या में बहुपद है और लॉग ( 1 / ε ) , तो चलने का समय है।nlog(1/ε)


जवाब के लिए धन्यवाद। अगर मैं सही तरीके से टैली कर रहा हूं, तो यही मेरे पास है (बहुत मोटे तौर पर): (अंकगणितीय संक्रियाओं का n) × O ( i बहुवचन i ) (प्रत्येक अंकगणितीय संक्रिया का समय)। मेरे पास अभी भी पुनरावृत्तियों की संख्या पर कोई सीमा नहीं है, सिवाय इसके कि n और बहुभुज में लॉग ( 1 / bound ) है । शायद मैं अपने प्रश्न में बहुत स्पष्ट नहीं था, लेकिन मैं पुनरावृत्तियों की संख्या के लिए एक अधिक सटीक बाउंड में भी दिलचस्पी रखता हूं (कुछ इस तरह: n , ni=1n. of iterationsO(n2)×O(ipolylogi)nlog(1/ϵ)n , ...)। n2
एलेसेंड्रो कोसेंटिनो

एक और बात: क्या बाधाओं की संख्या भी विश्लेषण में नहीं दिखनी चाहिए? इसके अलावा, क्या यह रैखिक कार्यक्रमों के लिए विशिष्ट है?
एलेसेंड्रो कोसेंटिनो

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