क्या पंजे को खोजने के लिए मैट्रिक्स गुणा


20

एक पंजा एक । एक तुच्छ एल्गोरिथ्म समय में एक पंजा का पता लगाएगा । यह में किया जा सकता है , जहां तेज मैट्रिक्स गुणन का प्रतिपादक है, इस प्रकार है: प्रत्येक शीर्ष लिए प्रेरित उपसमूह को लें , और एक त्रिकोण खोजें इसका पूरक है। हे ( एन 4 ) हे ( एन ω + 1 ) ω एन [ वी ] vK1,3O(n4)O(nω+1)ωN[v]v

o(nω+1)O(nc)Ω ( एन ω )O(nmax(c,2))Ω(nω)

सवाल:

  1. क्या इस पर कोई प्रगति हुई है। या यह दिखाने पर कोई प्रगति असंभव है?
  2. क्या साथ अन्य प्राकृतिक समस्याएं हैं, जो कि सबसे अच्छा एल्गोरिदम हैं?O(nω+1)

टिप्पणी:

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

आप प्रत्येक नोड के लिए में त्रिभुज खोजने की Alon et al। की विधि का उपयोग कर सकते हैं , जो पर समाप्त होता है, जो है से बेहतर है यदि ग्राफ बहुत घना नहीं है। हे ( | वी ||| 1.41 ) | वी | ω + 1O(|E|1.41)O(|V||E|1.41)|V|ω+1
आरबी

@ आरबी, यह इंगित करने के लिए धन्यवाद। मूल विचार अभी भी जो कुछ भी त्रिकोण-पता लगाने-एल्गोरिथ्म को चलाने के लिए है , जो कि मैं बचना चाहता हूं। n
यिकिन काओ

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

2
शायद यह उल्लेख करना अच्छा है कि अगर हम f (n) समय में एक पंजा ढूंढ सकते हैं, तो हम f (n + 1) समय में एक त्रिकोण भी पा सकते हैं (बस ग्राफ का पूरक लें और सभी से जुड़ा एक और शीर्ष जोड़ दें। ), इसलिए हमें से बेहतर कुछ भी पाने की उम्मीद नहीं करनी चाहिए । nω
डोमपोटर

1
@domotorp, लगता है कि भाग स्पष्ट है, दूसरा रास्ता स्पष्ट नहीं है, मेरा मतलब है कि हमें रैखिक खोज की आवश्यकता क्यों है। जैसा कि Yixin ने भी बताया, एक और एल्गोरिथ्म हो सकता है जो एल्गोरिथ्म को खोजने वाले त्रिभुज का उपयोग नहीं करता है और में समस्या हल करता है , जो मुझे लगता है कि इस तरह के एल्गोरिथ्म को खोजना मुश्किल है और शायद आसान है यह दिखाने के लिए कि कोई भी एल्गोरिथ्म उस पर रैखिक खोज के साथ सबरूटीन (या परिवर्तित किया जा सकता है) के रूप में त्रिकोण खोज का उपयोग करता है। o(nω+1)
सईद

जवाबों:


16

मुझे लगता है कि हम आयताकार मैट्रिक्स गुणन का उपयोग करके, घने रेखांकन के लिए तुलना में थोड़ा बेहतर कर सकते हैं । इसी तरह के विचार का इस्तेमाल आइजनब्रांड और ग्रैंडोनी ("फिक्स्ड पैरामीटर क्लिक एंड डोमिनेटिंग सेट की जटिलता पर", सैद्धांतिक कंप्यूटर साइंस वॉल्यूम 326 (2004) 57-67) के लिए 4-क्लिक डिटेक्शन द्वारा किया गया था।O(n1+ω)

चलो वह ग्राफ है जिसमें हम एक पंजे के अस्तित्व का पता लगाना चाहते हैं। आज्ञा देना सेट का (आदेश दिया) में कोने के जोड़े । आकार के निम्नलिखित बूलियन मैट्रिक्स पर विचार करें।: प्रत्येक पंक्ति को कुछ द्वारा अनुक्रमित किया जाता है, प्रत्येक कॉलम को कुछ द्वारा अनुक्रमित किया जाता है , और संबंधित प्रविष्टि एक है यदि और केवल if , और । के बूलियन मैट्रिक्स उत्पाद पर विचार करें और इसके संक्रमण । ग्राफ में एक पंजा है यदि और केवल तभी मौजूद हैवी एम | वी | × | | यू वी ( वी , डब्ल्यू ) एक { यू , वी } { v , w } { यू , डब्ल्यू } एम एम टी जी { यू , वी } एम एमG=(V,E)AVM|V|×|A|uV(v,w)A{u,v}E{v,w}E{u,w}EMMTG{u,v}E ऐसा है कि द्वारा की प्रविष्टि को द्वारा अनुक्रमित पंक्ति में और द्वारा अनुक्रमित स्तंभ एक है। यू वीMMTuv

इस एल्गोरिथ्म की जटिलता अनिवार्य रूप से एक की बूलियन उत्पाद कंप्यूटिंग की जटिलता है एक से मैट्रिक्स मैट्रिक्स, जहां ग्राफ में कोने की संख्या को दर्शाता है। यह ज्ञात है कि इस तरह के एक मैट्रिक्स उत्पाद समय में की जा सकती , जो की तुलना में बेहतर है सबसे अच्छा ज्ञात के लिए ऊपरी पर बाध्य । बेशक, अगर (जैसा कि अनुमान लगाया गया है) तो दो दृष्टिकोण एक ही जटिलता ।n 2 × एन एन हे ( एन 3.3 ) हे ( एन 1 + ω ) ω ω = 2 हे ( एन 3 )n×n2n2×nnO(n3.3)O(n1+ω)ωω=2O(n3)


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

15

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

क्लोक्स, टन; क्रैट्सच, डाइटर; मुलर, हाइको (2000), "कुशलता से छोटे प्रेरित उपग्रहों को खोजना और गिनना", सूचना प्रसंस्करण पत्र 74 (3–4): 115–121, doi: 10.1016 / S0020-0190 (00) 00047-8, MR 1761552।

पहला अवलोकन यह है कि जब आप मैट्रिक्स गुणा कर रहे होते हैं, तो मैट्रिसेस वास्तव में नहीं होते हैं , लेकिन जहां प्रत्येक वर्टेक्स की डिग्री है, क्योंकि आप जो देख रहे हैं वह एक सह-त्रिकोण है प्रत्येक शीर्ष के पड़ोस में।d × d dn×nd×dd

दूसरा, एक पंजा-मुक्त ग्राफ में, प्रत्येक शीर्ष पर पड़ोसी होना चाहिए । अन्यथा, पूरक में त्रिकोण होने से बचने के लिए पड़ोसियों के सेट में बहुत कम किनारे होंगे। इसलिए जब आप मैट्रिक्स गुणा कर रहे हैं, तो आपको केवल बजाय आकार मैट्रिक्स पर करना होगा ।O( )O(m)nO(m)n

इसके अलावा, प्रत्येक किनारे केवल दो कोने, इसके समापन बिंदु के लिए मैट्रिक्स गुणा की समस्या के आकार में योगदान कर सकते हैं। सबसे खराब स्थिति तब होती है जब इन मैट्रिक्स गुणन समस्याओं के कुल आकार के लिए को आकार के उपप्रकार में फैलाया जाता है , जो कुल समय , R B द्वारा उल्लिखित पर विरल रेखांकन के लिए एक सुधार ।( √)2mO( )O(m)हे(मीटर ( 1 + ω ) / 2 )हे(एनएम ω / 2 )O(m)O(m(1+ω)/2)O(nmω/2)


वाह, यह एक चतुर विचार है, मैं सोच रहा था कि क्या सबलाइन खोज करना संभव है (वास्तव में यह नापसंद है) और समस्या के आंतरिक गुणों के बारे में भी नहीं सोचा।
सईद

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