लेबल किए गए ग्राफ़ के लिए ग्राफ़ आइसोमॉर्फिज़्म समस्या


11

गैर-सूचीबद्ध ग्राफ़ के मामले में, ग्राफ आइसोमॉर्फिज्म समस्या से कई एल्गोरिदम का सामना किया जा सकता है जो व्यवहार में बहुत अच्छा प्रदर्शन करते हैं। यही है, हालांकि सबसे खराब स्थिति चल रहा समय घातीय है, आमतौर पर एक बहुपद चल रहा है समय है।

मैं उम्मीद कर रहा था कि लेबल ग्राफ के मामले में स्थिति समान है। हालांकि, मेरे पास किसी भी संदर्भ को खोजने के लिए वास्तव में कठिन समय है जो "व्यावहारिक रूप से कुशल" एल्गोरिदम का प्रस्ताव करता है।

टिप्पणी: यहां, हमें आवश्यकता है कि आइसोमोर्फिज्म लेबल को संरक्षित करता है। यही है, दो परिमित ऑटोमेटा / प्रक्रिया बीजगणित शब्दों के बीच एक समरूपता का अर्थ होगा कि ऑटोमेटा / शब्द अनिवार्य रूप से "नोड्स के नामकरण के बराबर" हैं।

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

मुझे कुछ याद आ रहा है, या क्या वास्तव में यह मामला है कि कोई भी कुशल "हेयुरेटिकल" एल्गोरिदम यह तय करने के लिए नहीं है कि क्या दो लेबल ग्राफ़ आइसोमॉर्फिक हैं?

कोई संकेत या संदर्भ महान होगा।


3
विकिपीडिया लेख और आपको मिले पेपर का संदर्भ देना अच्छा होगा, ताकि हमें परेशानी से बचाया जा सके।
बबौ

1
एक आइसोमॉर्फिज्म से आपका क्या मतलब है जो "लेबल को संरक्षित करता है"? एक ऑटोमेटन के संदर्भ में, शीर्ष लेबल अलग हैं। इसलिए, कोई भी आइसोमॉर्फिज्म तुच्छ रूप से "लेबल को संरक्षित करता है" इस अर्थ में कि स्रोत के दो कोने जिनके अलग-अलग लेबल हैं, उनमें छवि में भी अलग-अलग लेबल होने चाहिए। यह समस्या साधारण ग्राफ समरूपता समस्या के समान है। यदि आपका मतलब है कि आइसोमोर्फ़िज्म को एक लेबल के साथ एक शीर्ष पर मैप करना होगा, तो एल्गोरिथ्म तुच्छ तब होता है जब वर्टेक्स लेबल हमेशा अलग होते हैं: बस जांचें कि लेबल पर पहचान मानचित्र एक आइसोमॉर्फिज़्म है।
डेविड रिचरबी

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

SSac,bd

4
g:a1,b2,c3,...)sg(s)Kg(s)) किनारे के तीर की तरफ एक अतिरिक्त नोड। परिणामी ग्राफ आइसोमॉर्फिक हैं यदि और केवल अगर मूल ऑटोमेटा आइसोमॉर्फिक हैं।
वोर

जवाबों:


5

आपको इस पत्र में रुचि हो सकती है:

एडन होगन: आइसोल्मफिज़्म को बनाए रखते हुए स्कोलमीज़िंग ब्लैंक नोड्स। WWW 2015: 430-440

इसमें RDF ग्राफ़ के आइसोमोर्फिज़्म के परीक्षण के लिए एक एल्गोरिथ्म (Nauty पर आधारित) है, जो अनिवार्य रूप से लेबल किए गए ग्राफ़ निर्देशित हैं जिनमें निश्चित लेबल शामिल हो सकते हैं। एल्गोरिथ्म खोज स्थान को संकीर्ण करने के लिए लेबल लेता है।

यदि आप RDF ग्राफ के रूप में अपने इनपुट लेबल ग्राफ का प्रतिनिधित्व कर सकते हैं, तो आप blabelisomorphism का परीक्षण करने के लिए संबंधित सॉफ़्टवेयर पैकेज " " का उपयोग करने का प्रयास कर सकते हैं ।


4

मुझे पता चला है कि एल्गोरिथ्म k- डाइमेंशन वेफिसिलर-लेहमन एल्गोरिदम की श्रेणी में आता है, और यह नियमित ग्राफ़ के साथ विफल हो जाता है। यहाँ और अधिक के लिए:

http://dabacon.org/pontiff/?p=4148

मूल पोस्ट इस प्रकार है:

वर्षों पहले, मैंने वास्तव में इस समस्या के लिए एक सरल और लचीला एल्गोरिथ्म बनाया था (लेबल के साथ ग्राफ आइसोमॉर्फिज़्म)।

मैंने इसे "पॉवरश" नाम दिया, और एल्गोरिथ्म बनाने के लिए इसे दो अंतर्दृष्टि की आवश्यकता थी। पहला शक्ति पुनरावृत्ति ग्राफ एल्गोरिथ्म है, जिसका उपयोग पेजरैंक में भी किया जाता है। दूसरा है कि हम जो कुछ भी चाहते हैं उसके साथ शक्ति पुनरावृत्ति के अंदर कदम समारोह को बदलने की क्षमता है। मैंने इसे एक फ़ंक्शन के साथ बदल दिया जो प्रत्येक पुनरावृत्ति पर निम्न कार्य करता है, और प्रत्येक नोड के लिए:

  • नोड के पड़ोसियों के हैश (पिछले पुनरावृत्ति से) को सॉर्ट करें
  • हैसनेटेड सॉर्ट किए गए हैश को हैश करें
  • नोड के हैश को नए कम्प्यूटेड हैश से बदलें

पहले कदम पर, एक नोड का हैश अपने प्रत्यक्ष पड़ोसियों से प्रभावित होता है। दूसरे चरण पर, एक नोड का हैश पड़ोस से 2-हॉप्स से प्रभावित होता है। Nth स्टेप पर आस-पास के N-hops से एक नोड का हैश प्रभावित होगा। तो आपको केवल N = graph_radius चरणों के लिए पॉवरशॉट चलाना जारी रखने की आवश्यकता है। अंत में, ग्राफ केंद्र नोड का हैश पूरे ग्राफ से प्रभावित हुआ होगा।

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

इसके बारे में अधिक जानकारी के लिए आप यहाँ मेरी पोस्ट देख सकते हैं:

https://plus.google.com/114866592715069940152/posts/fmBFhjhQcZF

उपरोक्त एल्गोरिथ्म "मैडिस" कार्यात्मक रिलेशनल डेटाबेस के अंदर लागू किया गया था। आप एल्गोरिथ्म का स्रोत कोड यहां पा सकते हैं:

https://github.com/madgik/madis/blob/master/src/functions/aggregate/graph.py


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

एल्गोरिथ्म अनुमानित है और निश्चित रूप से पूर्ण नहीं है (मैं ऐसा ब्लॉग पोस्ट में भी कहता हूं)। इसका कारण यह है कि यह जो हेज़ बनाता है, वह बहुत बड़ा होता है, इसलिए लाखों ग्राफ के डेटाबेस में भी झूठे पॉजिटिव हैश टकराने की संभावना असीम होगी। यदि आप झूठी सकारात्मक हैश टक्कर के किसी भी मामले को खोजने के लिए प्रबंधन करते हैं, तो मुझे इसके बारे में जानने में बहुत रुचि होगी। कारण (क्रिप्टोग्राफ़िक हैश का उपयोग करते समय) यह है, आप क्रिप्टोग्राफ़िक हैश फ़ंक्शन को "ब्रेक" करने में कामयाब होंगे।
एस्टामा

यह बताने के लिए कि हैश टकराव की संभावना कितनी कम है। मैं 256 बिट्स के क्रिप्टोग्राफ़िक हैश पर विचार करने के लिए पर्याप्त से अधिक होना सुनिश्चित करूंगा कि दुनिया की सभी अलग-अलग फाइलों में समान मूल्य के लिए हैश नहीं है (उदाहरण के लिए गिट SHA-1 का उपयोग करता है जो कि गारंटी देने के लिए 160 बिट है)। पॉवरश से एक हैश 128बिट * ग्राफ_नोड_काउंट (एमडी 5 हैश का उपयोग करके) होगा। तो व्यावहारिक रूप से, आप उनके बीच हैश टकराव खोजने के लिए कभी भी पर्याप्त ग्राफ़ (इस ब्रह्मांड में) नहीं बना पाएंगे।
एस्टामा

1
मेरा मतलब था कि आपका एल्गोरिथ्म कोई भी हैश टकराव मानते हुए झूठी सकारात्मकता देगा। साहित्य में ग्राफ आइसोमोर्फिज्म के लिए बहुत सारे बहुपद-काल के एल्गोरिदम प्रस्तावित किए गए हैं और ये सभी झूठी सकारात्मकता देते हैं। एक संबंधित प्रश्न यहां: cs.stackexchange.com/questions/50939/…
बुरांस

1
चर्चा के लिए धन्यवाद। कुछ और शोधों के साथ मैंने पाया है कि ऊपर दिया गया एल्गोरिथ्म k-डाइमेंशन Weisfeiler-Lehman एल्गोरिदम की श्रेणी में है, और यह नियमित ग्राफ़ के साथ विफल हो जाता है। यहाँ और अधिक के लिए: dabacon.org/pontiff/?p=4148
estama
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.