ट्रांजिटिविटी चेक बनाम ट्रांसेटिव क्लोजर


9

क्या किसी डिग्राफ की ट्रांसएग्जिटिविटी की जांच करना आसान नहीं है (असममित जटिलता के संदर्भ में) डिग्राफ का ट्रांजेक्टिव क्लोजर लेना? क्या हम यह जानते हैं कि डिगिट सकर्मक है या नहीं, यह निर्धारित करने के लिए से बेहतर कोई बाउंड बाउंड है ?Ω(n2)


1
संपूर्ण संक्रामक बंद होने पर आपको अतिरिक्त स्थान खर्च करना होगा। कुछ ग्राफ़ के लिए आपको किनारों को फिर से देखे बिना ट्रांज़िटिविटी चेक को हुक और शॉर्टकट करने में सक्षम होना चाहिए। देखें: एक समानांतर कनेक्टिविटी एल्गोरिदम, वाई शिलॉच, यू विस्किन - जर्नल ऑफ एल्गोरिदम, 1982O(logn)
चाड ब्रेवबकर

1
यहाँ, Siek के पास बूस्ट ग्राफ लाइब्रेरी बूस्ट. org
चाड

2
सुनिश्चित नहीं हैं कि आपके द्वारा क्या मतलब है , लेकिन एक कम के लिए बाध्य सरल है - पर विचार के लिए कुछ बढ़त । किसी भी एल्गोरिदम को यह जांचना होगा कि क्या में सभी , अन्यथा किनारे के बारे में जो उसने नहीं पूछा वह गायब हो सकता है। एक ऊपरी बाउंड है, क्योंकि यह वह समय होता है जब एक सकर्मक क्लोजर की गणना होती है। nΩ(|V|2)Kn{e}e(u,v)Eu,vVO(|V||E|)
आरबी

2
कोने के साथ एक निर्देशित ग्राफ पर विचार करें : स्रोत कोने , मध्यवर्ती कोने जो प्रत्येक तत्काल उत्तराधिकारी हैं , और कोने कोने जो प्रत्येक के तत्काल उत्तराधिकारी हैं । सकर्मक है यदि प्रत्येक आर्क्स ग्राफ में मौजूद है। इसके लिए किनारों की जाँच करनी होगी। दूसरी ओर, संक्रामक बंद होने का पता समय में किया जा सकता है , जहां मैट्रिक्स गुणन का प्रतिपादक है। ये सर्वश्रेष्ठ ज्ञात सीमाएं हैं। n=3ks1,,skt1,,tksiu1,,ukti(si,uj)k2=(n/3)2=Ω(n2)O(nω)ω<2.373
एंड्रस सलामन

क्या आपके DAG में संभवतः कोई अतिरिक्त संरचना है, या क्या आप पूरी तरह से सामान्य परिणाम चाहते हैं?
निएल डी ब्यूड्रैप

जवाबों:


9

नीचे मैं निम्नलिखित दिखाऊंगा: यदि आपके पास एक हे (n3ε) समय की जाँच के लिए एल्गोरिथ्म अगर एक ग्राफ किसी के लिए सकर्मक है ε>0, तो आपके पास एक हे (n3ε) एक समय में एक त्रिकोण का पता लगाने के लिए एल्गोरिथ्म nनोड ग्राफ, और इसलिए ( FOCS'10 से एक पेपर द्वारा ) आपको एक ओ (n3ε/3) समय एल्गोरिथ्म दो बूलियन गुणा करने के लिए n×nमैट्रिस, और इसलिए 70 के दशक से फिशर और मेयर के परिणामस्वरूप , यह भी एक हे (n3ε/3) समय एल्गोरिथ्म सकर्मक बंद करने के लिए।

मान लीजिए कि आप त्रिकोण का पता लगाना चाहते हैं n नोड G। अब हम निम्नलिखित ग्राफ बना सकते हैंHH विभाजन के साथ त्रिपक्षीय है I,J,K पर nप्रत्येक नोड। यहाँ प्रत्येक नोडx का G प्रतियां हैं xI,xJ,xK भागों में I,J,K। प्रत्येक किनारे के लिए(u,v) का G निर्देशित किनारों को जोड़ें (uI,vJ) तथा (uJ,vK)। प्रत्येक गैर के लिए(u,v) का G निर्देशित किनारा जोड़ें (uI,vK)

सबसे पहले, अगर G एक त्रिकोण होता है u,v,w, फिर Hसकर्मक नहीं है। यह किनारों के बाद से है(uI,vJ),(vJ,wK) में हैं H परंतु (uI,wK)नहीं है। दूसरा, यदिH सकर्मक नहीं है, तो कुछ नोड से कुछ निर्देशित मार्ग मौजूद होना चाहिए s कुछ नोड के लिए t में H ऐसा है कि (s,t) में एक निर्देशित बढ़त नहीं है H। हालाँकि, सबसे लंबा रास्ता हैH है 2 किनारों, और इस तरह के किसी भी पथ के रूप में होना चाहिए (uI,vJ),(vJ,wK) तथा (uI,wK) इसमें नहीं है H, इसलिये u,v,w में एक त्रिकोण बनाएँ G


1
ट्रांसेटिव बंद करना अनिवार्य रूप से मैट्रिक्स गुणन के समान है। सवाल यह है कि क्या निचली सीमा में घातांक को 2 से उठाया जा सकता है, या ऊपरी सीमा में घातांक को 6373 से कम किया जा सकता है। आपके द्वारा प्रदर्शित तर्क की श्रृंखला यह दर्शाती है कि एक इष्टतम भीO(n2) परिवर्तनशीलता की जाँच के लिए एल्गोरिथ्म केवल एक उपज देगा O(n2.667) सकर्मक बंद होने का समय एल्गोरिथ्म - लेकिन हमारे पास पहले से ही एक है O(n2.373)समय एल्गोरिथ्म।
अंद्र दास सलामन

मुद्दा यह है कि ब्लैक बॉक्स में कटौती मौजूद है। हे (n2.373) समय एल्गोरिथ्म व्यावहारिक से बहुत दूर है। उपर्युक्‍त समय के हिसाब से सबकुबिक समय में चलने वाली एक व्यावहारिक परिवर्तनशीलता एल्गोरिथ्म बीएमएम के लिए एक व्यावहारिक एक और इसलिए सकर्मक बंद होने का अर्थ है। इसके अलावा, यहां तक ​​कि अगर आप व्यावहारिक एल्गोरिदम की परवाह नहीं करते हैं, तो यह काफी संभव है कि एफओसीएस 10 पेपर से एक्सपोनेंट में नुकसान आवश्यक नहीं है, और त्रिकोण का पता लगाने शायद बीएमएम के बराबर है।
4

ओह और निश्चित रूप से, हम सिर्फ त्रिकोणात्मक पहचान की अनुमानित कठोरता पर क्षणिकता समस्या की कठोरता को आधार बना सकते हैं। ध्यान दें कि इससे बेहतर कोई ज्ञात निम्न सीमा नहीं हैn2 त्रिकोण का पता लगाने के लिए, और सबसे अच्छी ऊपरी सीमा है O(nω)
5

हमारे पास पहले से ही एक सबकुबिक प्रैक्टिकल एल्गोरिदम है, किसी भी तेज मैट्रिक्स गुणन विधि का उपयोग करके: उदाहरण के लिए देखें cacm.acm.org/mag पत्रिकाओं
András Salamon

2
बैलार्ड एट अल पेपर जिसे आप विशेष रूप से स्ट्रैसन के एल्गोरिदम के बारे में बताते हैं। मैं जो जानता हूं, उसमें से कोई भी मैट्रिक्स गुणा एल्गोरिदम जो सीमा रैंक का उपयोग करता है, व्यावहारिक नहीं हैं। विशेष रूप से, मैं किसी भी बाध्य के लिए व्यावहारिक एल्गोरिदम से अवगत नहीं हूंω से कम 2.78
वर्जि

7

ऐसा दिखता है Ω(n2)किसी भी निचली सीमा का अर्थ है बूलियन मैट्रिक्स गुणन के लिए एक कम बाध्यता। हम जानते हैं कि एक बूलियन मैट्रिक्स गुणन का उपयोग करके परिवर्तनशीलता जांच प्राप्त की जा सकती है, अर्थातG सकर्मक है यदि और केवल यदि G=G2


4

अगर एक डीएजी ट्रांजेक्टिव है, तो यह तय करना उतना ही कठिन है जितना कि एक सामान्य डिग्रेक्टिव ट्रांसिटिव (जो हमें आपके पिछले सवाल पर वापस लाए :))।

मान लें कि आपके पास समय में एक एल्गोरिथ्म चल रहा है O(f(n)) यह तय करने के लिए कि क्या कोई डीएजी सकर्मक है।

एक निर्देशित ग्राफ दिया G, यदि आप तय करने के लिए निम्न यादृच्छिक एल्गोरिथ्म का उपयोग कर सकते हैं G समय में सकर्मक है O(f(n)log(1δ)) और त्रुटि संभावना δ:

 1. for $O(\log{\frac{1}{\delta}})$ iterations:

   1.1. Compute a random permutation on $V$. Denote the result by $<v_1,v_2,...,v_n>$.

   1.2. Set $G'=(V,E\cup \{(v_i,v_j)|i<j\})$ (i.e. compute a random acyclic orientation).

   1.3. If $G'$ (which is acyclic) is not transitive return false.

 2. return true.

अब यह स्पष्ट है कि यदि G सकर्मक था, यह एल्गोरिथम सच है।

अब मान लीजिए Gसकर्मक नहीं था। चलोe1=(vi,vj),e2=(vj,vk)E ऐसा है कि (vi,vk)E (इस तरह के किनारों के रूप में होना चाहिए Gसकर्मक नहीं है)। संभावना है किe1,e2G है 16, इसलिए प्रत्येक पुनरावृत्ति में संभावना है कि एल्गोरिथ्म का आंकड़ा होगा G सकर्मक नहीं था 16 और बाद में O(log(δ)) विफलता की संभावना सबसे अधिक है δ


1
जवाब के लिए धन्यवाद। मान लें कि अगर कोई डीएजी सकर्मक है तो निर्णय लेने के लिए मेरे पास एक एल्गोरिथ्म हैO(f(n)) ऐसा f(n)=Ω(n2)। फिर, मैं तय कर सकता हूं कि क्या एक निर्देशित ग्राफ जी सकर्मक हैO(f(n))-जैसे; 1) दृढ़ता से जुड़े खुदाई में प्राप्त करेंO(n2)-समय। 2) जांचें कि क्या प्रत्येक घटक पूर्ण हैO(n2)-समय। 3) जाँच करें कि क्या प्रत्येक घटक, जिसके लिए घटक डिग्राफ में एक किनारे है, द्वि-पूर्ण है, कि वहाँ एक घटक के प्रत्येक शीर्ष से दूसरे घटक के प्रत्येक शीर्ष तक एक किनारे हैO(n2)-समय। 4) जाँच करें कि क्या घटक डिग्राफिबल ट्रांज़िट इनO(f(n))-समय।
ekayaaslan

1

मुझे लगता है कि यह रैखिक समय में संभव होना चाहिए, अर्थात O(n+m) कहाँ पे n कोने की संख्या और है mकिनारों की संख्या। हो सकता है कि निर्देशित सेटिंग के लिए कुछ ग्राफ ट्रैवर्सल स्कीम को अपनाने से? एक प्रारंभिक बिंदु यहां वर्णित लेक्सएफएफएस / लेक्सडीएफएस हो सकता है ; निर्देशित रेखांकन के लिए ऐसा लगता है कि हमें डीएफएस के बजाय टोपोलॉजिकल सॉर्टिंग का उपयोग करना चाहिए, इसलिए हो सकता है कि कुछ लेक्सटीएस एल्गोरिथ्म की खोज संभव हो ?


2
यह IMO होने की संभावना नहीं है, क्योंकि यह सामान्य डिग्राफ्स में परिवर्तनशीलता की जांच के लिए एक संभाव्य रेखीय समय एल्गोरिथ्म देगा, मेरा जवाब देखें।
आरबी

0

Regarding the previous answer, here's a simple way of defining such an algorithm. Assign to each vertex x an index i(x), initialized to 0. For each x, let M(x) denote the multiset of indices of its in-neighbors. We simulate a topological sorting by maintaining a set R of unexplored vertices, initialized to the entire set. At each step, we do the following:

  1. Chose a vertex xR whose multiset M(x) is minimal (in the multiset order);

  2. Update i(x) to the current loop counter and remove x from R.

Can this algorithm be used for your problem, or for some other application?


This would be more appropriate as a comment.
Suresh Venkat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.