न्यूनतम डॉट उत्पाद प्रश्नों के लिए एक डेटा संरचना


19

पर विचार करें। मानक डॉट उत्पाद और vectors से सुसज्जित है: । हम एक डेटा संरचना का निर्माण करना चाहते हैं जो निम्न प्रारूप के प्रश्नों की अनुमति देता है: आउटपुट । क्या तुच्छ ओ (एनएम) क्वेरी समय से आगे जाना संभव है ? उदाहरण के लिए यदि n = 2 है , तो O (\ log ^ 2 m) प्राप्त करना तत्काल है ।,मीटर वी 1 , वी 2 ,..., वी एम एक्स आर एन मिनट मैंएक्स, वी मैं हे ( एन एम ) एन=2हे( लॉग ऑन 2 मीटर)Rn,mv1,v2,,vmxRnminix,viO(nm)n=2O(log2m)

केवल एक चीज जिसके साथ मैं आ सकता हूं, वह निम्नलिखित है। यह जॉनसन-लिंडेनस्ट्रस लेम्मा का एक तात्कालिक परिणाम है कि प्रत्येक ε>0 और एक वितरण D on Rn में एक रैखिक मैपिंग f:RnRO(logm) (जिसका मूल्यांकन O(nlogm) समय में किया जा सकता है ) जैसे कि PrxD[ix,viε(x+vi)2f(x),f(vi)x,vi+ε(x+vi)2]1ε । इसलिए, O((n+m)logm) हम गणना कर सकते हैंकुछ ऐसा है जो कुछ अर्थों में \ min_i \ langle x के करीब है, v_i \ rangleminix,vi अधिकांश x के लिए x(कम से कम यदि मानदंड \ _ x और vi छोटे हैं)।

युपीडी बाध्य उपरोक्त कुछ हद तक क्वेरी समय को तेज किया जा सकता है O(n+m) अगर हम इलाके के प्रति संवेदनशील हैशिंग का उपयोग करें। अधिक सटीक रूप से, हम k:=O(1ε2) स्वतंत्र गौसेन वैक्टर r1,r2,,rk । फिर हम Rn से {0,1}k निम्नानुसार करते हैं: v(r1,v0,r2,v0,,rk,v0) । फिर हम इस मैपिंग की छवि में \ ell_1 -distance की गणना करके एक योजक त्रुटि \ varepsilon के भीतर दो वैक्टर के बीच के कोण का अनुमान लगा सकते हैं । इस प्रकार, हम एक additive त्रुटि के भीतर डॉट उत्पादों का अनुमान लगा सकते हैंε1εxviमें O(1ε2) समय।



मुझे यकीन नहीं है कि यह काम करता है या मदद करता है, लेकिन आपकी समस्या (अधिकतम करने के लिए v_i के संकेत पर स्विच करने के बाद) वोरोनोई आरेख से संबंधित लगती है। इस समस्या के लिए वोरोनोई आरेख के लिए एल्गोरिदम को संशोधित करना संभव हो सकता है, लेकिन अगर यह संभव है, तो भी यह केवल छोटे एन के लिए उपयोगी होगा।
त्सुयोशी इतो

मुझे नहीं पता कि क्या यह वही अवलोकन है ... सभी x को एक इकाई वेक्टर के लिए सामान्यीकृत किया जा सकता है और परिणाम में परिवर्तन नहीं होता है, हम मूल में केंद्रित एक इकाई n-cube में सब कुछ कर सकते हैं। घन के जो इस क्षेत्र के साथ डॉट उत्पाद को कम से कम पता लगाएं vi प्रत्येक के लिए i (प्रत्येक क्षेत्र एक polytope होना चाहिए)। मेरे पास बहुपत्नी की संख्या पर बाध्य नहीं है। यदि यह nm में घातांक से कम है nm, तो आपके पास n-आयामी बिंदु स्थान क्वेरी करने से O (nm) से कुछ बेहतर है O(nm)
चाओ जू

आप किस पैरामीटर की अधिक परवाह करते हैं? आमतौर पर, यदि आप मी में सबलाइनर प्राप्त करना चाहते हैं, तो आप n में घातांक शुरू करने जा रहे हैं।
सुरेश वेंकट

@ सुरेश खैर, अलग-अलग संभावित ट्रेड-ऑफ को समझना अच्छा होगा। अनुमानित संस्करण भी दिलचस्प है।
इलियराज १४'११ को ५:५१

त्वरित नोट: n = 2 मामले के लिए, उत्तल पतवार पर द्विआधारी खोज क्वेरी समय देता है। O(logn)
जेफ्री इरविंग

जवाबों:


16

उस विशेष मामले पर विचार करें जहां आप केवल यह निर्धारित करना चाहते हैं कि क्या आपकी क्वेरी वेक्टर आपके पूर्वप्रकाशित संग्रह में कुछ वेक्टर के लिए ऑर्थोगोनल है। (अर्थात, आप यह निर्धारित करना चाहते हैं कि क्या , जहां चर्चा के तहत वैक्टर में गैर-नकारात्मक गुणांक हैं।) यह मामला पहले से ही बहुत दिलचस्प है।minix,vi=0

मान लीजिए कि आप समय के लिए कुछ जवाब दे सकते हैं , तो प्रीप्रोसेसिंग ( बहुपद की डिग्री या या पर निर्भर नहीं होनी चाहिए )।nO(1)m1δδ>0mO(1)nO(1)mnδ

पेपर में "इष्टतम 2-बाधा संतुष्टि और इसके निहितार्थ के लिए एक नया एल्गोरिथ्म", मैंने देखा कि इस तरह की डेटा संरचना वास्तव में CNF-SAT को समय में कुछ लिए हल करने की अनुमति देगा । जहाँ चर की संख्या है। यह "सशक्त घातीय समय हाइपोथीसिस" का खंडन होता है कि कश्मीर-सैट अनिवार्य रूप से की आवश्यकता है असीम के लिए समय ।2αvα<1v2nk

यह देखने के लिए, मान लीजिए कि प्रीप्रोसेसिंग समय से घिरा है । चर और क्लॉस के साथ एक सीएनएफ फॉर्मूला पर विचार करें । हमने चर के सेट को दो भागों में विभाजित किया है(nm)cFvn और पी 2 के आकार v ( 1 - 1 / ( 2 c ) ) और v / ( 2 c ) में क्रमशःहै। चर के लिए सभी संभव कार्य भागों (प्राप्त करने में सूची 2 वी ( 1 - 1 / ( 2P1P2v(11/(2c))v/(2c) और 2 v / ( 2 c ) असाइनमेंट, क्रमशः)। इन आंशिक कार्य की प्रत्येक संबद्ध करें एक मैं एक साथn-बिट वेक्टर डब्ल्यू मैं जहां डब्ल्यू मैं [जे]=1iffjकी वें खंडएफसे संतुष्ट नहीं है एक मैं । इसलिए हमारे पास घातीय रूप से कई बिट वैक्टर की दो सूचियां हैं।2v(11/(2c))2v/(2c)Ainwiwi[j]=1jFAi

सूचना है कि तृप्तियोग्य iff एक वेक्टर है है डब्ल्यू 1 पर एक काम से पी 1 और एक वेक्टर डब्ल्यू 2 पर एक काम से पी 2 ऐसी है कि डब्ल्यू 1 , डब्ल्यू 2= 0Fw1P1w2P2w1,w2=0

अब , और भाग P 2 से सभी वैक्टर के साथ ग्रहण की गई डेटा संरचना को पूर्वप्रक्रमित करें । यह धारणा द्वारा n 2 v / 2 समय लेता है । ओर से कार्य से सभी वैक्टर पर क्वेरी एल्गोरिथ्म भागो पी 1 । इस धारणा से यह लेता है 2 वी ( 1 - 1 / ( 2 ) )एन हे ( 1 ) मीटर 1 - δ = nm=2v/(2c)P2n2v/2P1 । चलोα=1-δ / (2)2v(11/(2c))nO(1)m1δ=nO(1)2vδv/(2c)α=1δ/(2c)

शायद मौजूदा तकनीकों के साथ कुशल प्रीप्रोसेसिंग और क्वेरी समय प्राप्त करना संभव है। सबसे अच्छा ज्ञात CNF-SAT एल्गोरिदम इसे खारिज नहीं करते हैं। (उन्हें 2 n - n / log n जैसा कुछ मिलता है ।) लेकिन मिनट i something x की गणना करने के लिए , v i in थोड़ा मजबूत है - इस सेटअप में, यह MAX CNF-SAT को हल करने जैसा होगा।nO(1)m11/(loglogm)2nn/lognminix,vi


बहुत बढ़िया! लेकिन यह अनुमानित डेटा संरचनाओं के साथ-साथ जैसे क्वेरी समय को भी खारिज नहीं करता है , जो कि बहुत दिलचस्प भी होगा। O(mpoly(logn))
इलियराज १४'११ ९:

वैसे, हम ऐसा कुछ नहीं कह सकते हैं "यदि तेज क्वेरी समय के साथ अनुमानित डेटा संरचना भी थी, तो मैक्स-सैट को अनुमानित किया जाएगा"।
इलियराज १४'११ को

पहले पैराग्राफ होल्ड में समतुल्य क्यों कहा गया है? मुझे लगता है कि आंतरिक उत्पाद सामान्य रूप से नकारात्मक हो सकता है।
त्सुकोशी इतो

ilyaraz: हाँ, यहां तक ​​कि अनुमानित डेटा संरचनाएं लगभग MAX-SAT का अनुमान लगाती हैं। त्सुयोशी: आपकी जानकारी के लिए धन्यवाद
रयान विलियम्स

6

यहाँ सटीक उत्तर के लिए एक विचार है, कि मुझे संदेह है कि चाओ जू के लिए हो सकता है। सबसे पहले देखें कि हम सामान्य कर सकते हैं , जैसा कि चाओ बताते हैं। अब हाइपरप्लेन h को दिशा x पर सामान्य मानें । लक्ष्य इस हाइपरप्लेन के निकटतम बिंदु को खोजना है। द्वैतता से, यह हाइपरप्लेन की व्यवस्था में एक किरण शूटिंग क्वेरी से मेल खाती है जो क्वेरी बिंदु के सबसे ऊपर "निकटतम" विमान को खोजने के लिए है। चूंकि यह प्रीप्रोसेस किया जा सकता है, मुख्य जटिलता बिंदु स्थान है, और इसलिए अब आपकी समस्या हाइपरप्लेन की व्यवस्था में बिंदु स्थान करने की जटिलता को कम कर दी गई है। कटिंग का उपयोग करते हुए, यह n d में O ( लॉग एन ) समय में किया जा सकता हैxhxO(logn)nd अंतरिक्ष।


1
मुझे यह उल्लेख करना चाहिए था कि मैं एक उचित प्रीप्रोसेसिंग समय में भी दिलचस्पी रखता हूं जो कि यहां नहीं है अगर एक आयाम बड़ा है।
इलियराज १४'११ को ily:
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.