मेरी कुछ टिप्पणियां हैं जो टिप्पणियों के लिए बहुत लंबी हैं। यहाँ एक सारांश है।
आपकी समस्या को हल करने के लिए किसी भी एल्गोरिदम का उपयोग रैखिक कार्यक्रमों को ठीक से हल करने के लिए किया जा सकता है (यानी, "मजबूत रैखिक प्रोग्रामिंग", जो कि सरील के समाधान में उपयोग किया जाता है, और वर्तमान में एक बहुपद समय एल्गोरिथ्म नहीं है)।
प्राकृतिक अनुवर्ती है यदि अनुमानित समाधान (जैसे, "कमजोर रैखिक प्रोग्रामिंग") एक समाधान प्रदान कर सकता है। हालांकि उत्तर हां है, यह प्रतीत होता है कि इस प्रक्रिया के लिए रोक की स्थिति को मात्रा की आवश्यकता होती है, जो कि मेरे सर्वश्रेष्ठ ज्ञान के लिए, बहुपद समय में गणना नहीं की जा सकती है। (यानी, एल्गोरिथ्म कुछ अच्छा लगता है, लेकिन इसे प्रमाणित करना मुश्किल है।) मेरा मुख्य सुझाव एक "" की परिभाषा को सार्थक बनाना है।ϵ-अपनी समस्या के लिए दत्तक समाधान ", जिस स्थिति में यह दृष्टिकोण ट्रैक्टेबल है। (यह रणनीति पॉलीएग्रोन के छोटे चेहरों को प्रभावी ढंग से बाहर निकालती है।)
सामान्य तौर पर, आपकी समस्या के आपके वर्तमान कथन के बारे में सोचते हुए, मैं दक्षता के विचार में भागता रहा। लेकिन इसके लिए उचित अंतर्ज्ञान है: जिन वस्तुओं को हम चारों ओर फेंक रहे हैं - कोने, चेहरे, आदि - असतत, और घातीय प्रचुर मात्रा में।
(1.) मान लीजिए कि हमारे पास एक एल्गोरिथ्म है जो आपकी समस्या को हल करता है। ध्यान दें कि प्रदान किए गए मध्य बिंदु वाले किसी भी चेहरे का कोई भी उजागर बिंदु मूल रैखिक कार्यक्रम का सटीक समाधान होगा। तो इस प्रकार आगे बढ़ें। एक नया रैखिक अवरोध जोड़ें, जिसमें कहा गया है कि मूल उद्देश्य मान इष्टतम एक के बराबर होना चाहिए (जिसे अब हम जानते हैं), और समाधान के पहले समन्वय को अधिकतम करने के लिए एक नया उद्देश्य सेट करें। प्रत्येक आयाम के लिए एक बार इस प्रक्रिया को दोहराएं, हर बार एक बाधा को जोड़ने और अधिकतम करने के लिए एक नया समन्वय चुनें। यह प्रक्रिया हर बार समाधान के आयाम को कम करेगी; आवश्यक है, जब प्रक्रिया पूरी हो जाती है, तो हमारे पास 0-आयामी affine सेट होता है, जिसका अर्थ है एक बिंदु। इस प्रकार सेO(d) आपके मध्यबिंदु को हल करने वाले एल्गोरिथ्म की पुनरावृत्तियों (और केवल एक बहुपद में समस्या का वर्णन बढ़ा रहा है dहर बार), मजबूत रेखीय प्रोग्रामिंग हल किया जाता है। इससे पता चलता है कि सरिएल के समाधान के लिए मजबूत लीनियर प्रोग्रामिंग की आवश्यकता होती है, लेकिन आपके प्रश्न का एक सटीक समाधान इससे बच नहीं सकता है। ( संपादित करें : ध्यान दें कि मेरा प्रमाण इनपुट के रूप में एक कॉम्पैक्ट पॉलीहेड्रॉन (एक पोलीटोप) को दबाता है, अन्यथा वर्टिकल खोजने के लिए थोड़ी मेहनत करनी पड़ती है।)
(२.) यहाँ एक पुनरावृत्ति योजना है, जिसमें प्रत्येक पुनरावृत्ति में पूर्ण विकसित उत्तल सॉल्वर का उपयोग किया गया है, जिसका समाधान मध्यबिंदु समाधान की एक हल्की धारणा में परिवर्तित हो जाएगा। दंड मापदंडों का एक सकारात्मक अभी तक घटता क्रम चुनें{λi}∞i=1↓0; इनका ज्यामितीय रूप से नीचे जाना उचित है, अर्थातλi=2−i। अब, प्रत्येक के लिएi, लगभग उत्तल समारोह को कम से कम
⟨c,x⟩−λi∑j=1mln(⟨aj,x⟩−b),
कहाँ पे ⟨c,x⟩ आपका मूल उद्देश्य है, और j सीमा से अधिक है mमूल बाधाओं, अब लॉगरिदमिक बाधाओं (नोट, यह मानक है) के माध्यम से उद्देश्य में रखा गया है। अब अगर हम आपके पॉलीहेड्रोन के कम से कम चेहरे (सबसे बड़े आयाम) के बारे में सोचते हैं, तो ध्यान दें कि पर्याप्त रूप से छोटे के लिएλi और सहनशीलता τआपके उत्तल ऑप्ट ब्लैक बॉक्स में, आपका अनुमानित इष्टतम इस चेहरे के करीब होगा, हालांकि बाधाएं इसे अन्य बाधाओं से यथासंभव दूर कर देंगी। एक और तरीका कहा, जैसा किλi कम हो जाता है, मूल रैखिक उद्देश्य अंततः कुछ बारीक बाधाओं पर हावी होगा जो आपको उपयुक्त चेहरे से रख रहे थे, लेकिन आपको अन्य सीमाओं से, विशेष रूप से लक्ष्य चेहरे के उन बाधाओं को प्रभावित नहीं करेगा।
एक आदर्श दुनिया में, हम बैठते हैं और विश्लेषणात्मक रूप से एक आदर्श मूल्य निर्धारित करते हैं λ, या कम से कम एक रोक समय ताकि आप को हल करने की जरूरत नहीं है, ठीक है, असीम रूप से कई समस्याओं। दुर्भाग्य से, यह कठिन लगता है। एक विचार, कहना है, 0 से अधिक आयाम वाले किसी भी चेहरे की सबसे छोटी चौड़ाई का निर्धारण करना; यह सकारात्मक इष्टतम के साथ एक अच्छी तरह से परिभाषित कम से कम समस्या है, क्योंकि इसमें बहुत सारे चेहरे हैं (और चौड़ाई प्रत्येक के सापेक्ष गणना की गई है)। इसके साथ, हम सेट कर सकते हैंλकाफी छोटा है कि बाधाओं का प्रभाव हर चेहरे के केंद्र के भीतर छोटा होता है । दुर्भाग्य से, कई चेहरे हो सकते हैं, इसलिए इस मात्रा की गणना करना बकवास है।
सभी रुकने की स्थिति मैं आ सकता है इन प्रकार कम्प्यूटेशनल कठिनाइयों था। (इसके अलावा, कई को फिर से एक मजबूत रैखिक प्रोग्रामिंग सॉल्वर में बदलने के लिए इस्तेमाल किया जा सकता है।)
इस कारण से, मेरी सिफारिश `` की धारणा का निर्माण करना हैϵइष्टतम मिडपॉइंट '' का चयन करें, और इसे चुनकर हल करें λ और आपका उत्तल ब्लैक बॉक्स सहिष्णुता को चुनते हैं τउचित रूप से। मुझे लगता है कि यह एक उचित विकल्प है क्योंकि आप वास्तव में उन चेहरों की परवाह नहीं कर सकते हैं जिनकी चौड़ाई सबसे अधिक हैϵ।
(कुछ अंतिम टिप्पणियां।) ऐसा लगता है कि "मिडपॉइंट" की धारणा महत्वपूर्ण है; साशो की टिप्पणी बताती है कि केन्द्रक (द्रव्यमान का केंद्र?) एक अत्यंत कठिन समस्या है, जबकि यह कहना, कहना, सबसे बड़ी उत्कीर्ण गेंद आसान है। लॉगरिदमिक बाधाओं को मैंने ऊपर सुझाया है जो सामान्य रूप से इन मिडपॉइंट धारणाओं के अनुरूप नहीं होंगे। दूसरी ओर, बाधाओं और गेंद के लिए, आप अपने सेंट्रोइड से चेहरे की सापेक्ष सीमा की दूरी पर एक कम बाध्य प्राप्त कर सकते हैं; शायद यह आपके लिए अधिक उपयोगी है?
अंत में, आपके वर्णन से, मेरा मानना है कि आपका "लक्ष्य चेहरा" जितना संभव हो उतना उच्च आयाम होना चाहिए? यह अच्छी तरह से परिभाषित है, हालांकि सभी संभावित छोटे आयामों के लिए भी समाधान चेहरे हैं। वैसे भी, सरिएल का दृष्टिकोण और उपरोक्त बाधा दृष्टिकोण दोनों सबसे बड़े आयाम के चेहरे के साथ काम करेंगे।