फास्ट ट्रेविद एल्गोरिदम


18

मैं एक ग्राफ के treewidth की गणना करना चाहूंगा । उदाहरण के लिए igraph में उपलब्ध कोड के साथ अन्य एनपी-हार्ड ग्राफ की समस्याओं के लिए वास्तव में अच्छे उप-लक्षण समरूपता के लिए VF2 जैसे हैं। मैंने उन्हें अपने ग्राफ़ पर आज़माया है और मुझे लगता है कि वे अपने डेटा के लिए बहुत तेज़ दौड़ते हैं।

क्या समान नस में ट्रेविद गणना के लिए कोई तेज़ एल्गोरिदम हैं?


1
FIE हाल ही में treewidth को FOCS में Gaspers / Szeider द्वारा SAT कठोरता से जोड़ा गया है , उस चैट / चर्चा में दूसरों से सुनने की उम्मीद है
vzn

जवाबों:


19

जहां तक ​​मुझे पता है, कला की स्थिति वह है जो रिपोर्ट की जाती है

हंस एल। बोडलेंडर, फेडर वी। फोमिन, एरी एमसीए कोस्टर, डाइटर्स क्रैट्स, और दिमित्रीओस एम। थिलिकोस (2012), "ट्रेविद के लिए सटीक एल्गोरिदम पर", एल्गोरिथ्म 9 (1), एसी 12, डीओआई: 10.1145 / 2390176.2390101.2010133 पर एसी ट्रांसफॉर्मर

वहाँ वर्णित विधियों में कुछ हेयुरिस्टिक अनुकूलन के साथ एक कार्यान्वित एल्गोरिदम शामिल है, जो इसे अभ्यास में तेज बनाता है।हे*(2n)


2
धन्यवाद। संदर्भ २, bound और १५ जो ऊपरी और निचली बाउंड हेरास्टिक्स देते हैं व्यवहार में उस कागज से सबसे अधिक उपयोगी हो सकते हैं।
फेलिक्स

10

मैंने आईसीएटीआई 2011 में ए फास्ट पैरेलल ब्रांच और बाउंड अल्गोरिद्म फॉर ट्रेविदथ नामक एक पेपर लिखा था। यह मल्टी-कोर में ट्रेविथ की गणना कर सकता है । मैंने बहुत सारी सांख्यिकी का उपयोग किया और कार्यक्रम को परिष्कृत करने में बहुत समय बिताया।

मैं चीन में एक यादृच्छिक स्नातक छात्र था और इसे एक अच्छे सम्मेलन में नहीं लाया। लेकिन मेरे प्रयोग परिणामों के आधार पर, मुझे लगता है कि मेरा कार्यक्रम बहुत तेज है। मैंने ट्रेविदथ लिब में कई अनसुलझे बेंचमार्क हल किए, और मेरा कार्यक्रम आईजेसीएआई 09 में झोउ और हेन्सन द्वारा प्रस्तावित एल्गोरिथ्म से 40 गुना तेज था।

मैं इस विषय पर और काम नहीं कर रहा हूँ। लेकिन अगर मेरा पिछला काम मददगार है, तो आप http://www.callowbird.com/under स्नातक-stuff.html से मेरा प्रोग्राम (src और exe) डाउनलोड कर सकते हैं , और एक कोशिश कर सकते हैं। (फिर भी, यह थोड़ा बड़े उदाहरण पर बहुत धीमा है)



5

ट्रेविद की गणना के लिए एल्गोरिदम पर दो सर्वेक्षण यहां दिए गए हैं जो सहायक हो सकते हैं। पहले एक में अनुभवजन्य तुलनाएं हैं, और इसमें जावा लाइब्रेरी के रूप में विविध एल्गोरिदम लागू हैं।

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

ट्रेविदथ कई दिलचस्प सैद्धांतिक और व्यावहारिक अनुप्रयोगों के साथ एक ग्राफ़ पैरामीटर है। यह सर्वेक्षण दिए गए ग्राफ़ के ट्रेविद को निर्धारित करने और छोटी चौड़ाई के पेड़ के अपघटन का पता लगाने पर एल्गोरिदम के परिणामों की समीक्षा करता है। दोनों सैद्धांतिक परिणाम, समस्या के असममित कम्प्यूटेशनल जटिलता की स्थापना, हेरास्टिक पर प्रायोगिक कार्य (दोनों ऊपरी सीमा के लिए निचले सीमा के रूप में), प्रीप्रोसेसिंग, सटीक एल्गोरिदम और पोस्टप्रोसेसिंग पर चर्चा की जाती है।


3

ऋषि को यह पता नहीं है कि वास्तव में त्रिभुज की गणना कैसे की जाती है लेकिन यह आपको छोटे रेखांकन का मार्ग दिखा सकता है।

http://www.sagemath.org/doc/reference/graphs/sage/graphs/graph_decompositions/vertex_separation.html

मुझे यह जानकर खुशी होगी कि ट्री-डीकंपोज़र की गणना करने के लिए कुछ भी कार्यान्वित और सार्वजनिक है, हालांकि यह जानने में खुशी होगी :-)

Nathann


1
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.