क्या किसी को धारवाड़कर-टेवेट ग्राफ आइसोमॉर्फिज्म एल्गोरिथ्म के प्रति-उदाहरण के बारे में पता है?


10

पर http://www.dharwadker.org/tevet/isomorphism/ , वहाँ का निर्धारण करता है, तो दो रेखांकन isomorphic हैं के लिए एक एल्गोरिथ्म की एक प्रस्तुति है। ए धारवाड़कर के "दिलचस्प" दावों को देखते हुए, हम यह मानने के इच्छुक नहीं हैं।

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

हालाँकि, मैं एक प्रति-उदाहरण से अवगत नहीं हूँ। इससे पहले कि मैं एल्गोरिथ्म का परीक्षण करने के लिए सॉफ्टवेयर लिखना शुरू करूं, मैंने सोचा कि मैं देखूंगा कि क्या किसी को पहले से ही काउंटर-उदाहरण के बारे में पता था।

किसी ने एल्गोरिथ्म के एक सारांश का अनुरोध किया। मैं वही करूंगा जो मैं यहां कर सकता हूं, लेकिन वास्तव में इसे समझने के लिए, आपको http://www.dharwadker.org/tevet/isomoradism/ पर जाना चाहिए ।

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

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

दूसरा चरण - सॉर्ट चरण - वह हिस्सा है जो संदिग्ध है। विशेष रूप से, मैं उम्मीद करूंगा कि यदि उनकी प्रक्रिया काम करती है, तो अन्ना लुबिव द्वारा "मैट्रिसेस के डाउली लेक्सिकल ऑर्डरिंग" प्रदान करने के लिए एल्गोरिथम विकसित किया गया है (देखें: http://dl.acm.org/citation.cfm?id=22229 ) एक ग्राफ के लिए विहित रूप को परिभाषित करने के लिए भी काम करेगा।

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


क्या आप एल्गोरिथ्म के विचार का सारांश दे सकते हैं?
मोहम्मद अल-तुर्कस्टनी

1
यह भी देखना math.stackexchange.com/questions/333633/... । यह सिर्फ दिखाता है कि प्रदान किए गए कार्यक्रम के लिए एक
प्रतिसाद

मजबूत नियमित ग्राफ एक अच्छे दांव की तरह दिखते हैं, लेकिन मुझे पीटरसन के ग्राफ, क्लेबश के ग्राफ या 4x4 बदमाश के ग्राफ के बेतरतीब ढंग से चयनित क्रमांकन के साथ कोई भाग्य नहीं था।
पीटर टेलर

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

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

जवाबों:


18

के लिए graphA.txt:

25
 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0
 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
 1 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0
 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 0 1 1 0 1 0 0 1 1 0
 1 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
 1 1 1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1
 1 0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1
 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0
 1 0 0 1 0 0 1 1 1 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1
 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0
 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0
 1 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 1
 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1
 0 1 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 0
 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1
 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 1
 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0 1 0 0
 0 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 0
 0 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0
 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1
 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0
 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1
 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1 1 0 1 0 0 1
 0 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0

और graphB.txt:

25
 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0
 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 1
 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0
 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 0
 1 1 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0
 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 1
 0 1 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 0 0
 0 0 1 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1
 0 0 1 1 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1
 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 1
 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0
 1 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 1
 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1
 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0
 0 1 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0
 1 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 1
 0 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0
 1 0 1 0 0 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 0
 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0
 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 1 1
 1 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 1
 1 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 1
 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1
 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 0
 0 1 0 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0

graphA.txt(यादृच्छिक) क्रमपरिवर्तन को लागू करने से प्राप्त किया जाता है

 22 9 24 11 15 8 5 18 13 14 2 10 23 0 3 17 4 16 6 19 7 21 12 1 20

चित्रा 6.3isororphism.cpp से C ++ प्रोग्राम ग्राफ isomorphism एल्गोरिथ्म के लिए http://www.dharwadker.org/tevet/isomorphism/ में C ++ प्रोग्राम निम्न आउटपुट देता है:

The Graph Isomorphism Algorithm
by Ashay Dharwadker and John-Tagore Tevet
http://www.dharwadker.org/tevet/isomorphism/
Copyright (c) 2009
Computing the Sign Matrix of Graph A...
Computing the Sign Matrix of Graph B...
Graph A and Graph B have the same sign frequency vectors in lexicographic order but cannot be isomorphic.
See result.txt for details.

तो हम मान सकते हैं कि यह धारवाड़कर-टेवेट ग्राफ आइसोमॉर्फिज्म एल्गोरिथ्म का एक काउंटर-उदाहरण है।

जैसा कि बिल प्रांत ने सुझाव दिया है, समस्या यह है

4.1। प्रस्ताव। यदि ग्राफ़ और हैं, तो एल्गोरिथ्म एक समरूपता पाता है।जी बीGAGB

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

प्रेरण परिकल्पना के लिए, कि पंक्तियों मान के और पूरी तरह से प्रक्रिया 3.4 से मिलान किया गया है ऐसा है कि पंक्तियों के लिए शिखर लेबल के हैं और पंक्तियों के लिए शिखर लेबल के हैं क्रमशः।बी 1 , , टी वी 1 , , वी टी 1 , , टी बी1,...,tAB1,...,tAv1,...,vt1,...,tBφ(v1)=v1,...,φ(vt)=vt

क्योंकि भले ही पंक्तियों को पूरी तरह से मिलान किया गया है, यह पालन नहीं करता है कि शिखर लेबल किसी भी समाकृतिकता द्वारा दिए गए लेबल से मिलान ।φ

क्योंकि शुद्धता प्रमाण में एक छेद की पहचान की गई थी, प्रस्तावित एल्गोरिथ्म की दावा किए गए शुद्धता का खंडन करने के लिए उपरोक्त काउंटर-उदाहरण पर्याप्त होना चाहिए।


पावती उदाहरण 8 वें ग्राफ़ जोड़े में से पहला है

http://funkybee.narod.ru/graphs.htm

ग्राफ़ में हेरफेर करने के लिए, मैंने स्क्रूबॉक्सR1160.tar से स्रोत कोड का उपयोग किया और संशोधित किया

https://people.mpi-inf.mpg.de/~pascal/software/

शुद्धता प्रमाण में छेद को समझने के लिए, एन्ड्रेसे सलामन के बारे में वेफिसिलर-लेहमन की टिप्पणी बहुत सहायक थी, जैसा कि स्पष्टीकरण था

http://users.cecs.anu.edu.au/~pascal/docs/thesis_pascal_schweitzer.pdf

इस सवाल का उपयोग करने के लिए एक अवसर के रूप में उपयोग करने के लिए जाना जाता है nauty / निशान और ग्राफ isomorphism के व्यावहारिक पहलुओं vzn द्वारा प्रदान किया गया था। ग्राफ आइसोमॉर्फिज्म के लिए कला कार्यक्रमों की स्थिति का उपयोग करने के तरीके सीखने का लाभ एक काउंटर-उदाहरण खोजने के लिए कुछ समय सिंक करने के लिए सार्थक बना (जिसे मैं दृढ़ता से अस्तित्व में माना जाता था)।


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

@BillProvince चयन मानदंड András Salamon की टिप्पणी पर आधारित था, क्योंकि इसने संकेत दिया था कि एक काई, फ़्यूरर और इमेरमैन निर्माण सफल हो सकते हैं। मैंने पहले पास्कल श्वित्ज़र से एक n = 546 उदाहरण की कोशिश की, लेकिन मूल C ++ प्रोग्राम isororphism.cpp अब> 1566 मिनट से कंप्यूटिंग कर रहा है। मैंने बेहतर डेटा संरचनाओं का उपयोग किया और> 2h के बाद सीखा कि बड़ा काउंटर-उदाहरण काम करता है। मुझे पता था कि trg787 / funkybee के पास उनके ग्राफ़ जोड़े के बीच कुछ काई, फ़्यूरर और इमरमैन के निर्माण थे, इसलिए मैंने अपनी किस्मत आज़माई। मैंने कई यादृच्छिक क्रमपरिवर्तन की कोशिश की (n = 25 उदाहरण के लिए), दूसरा काम किया।
थॉमस क्लिम्पेल

जो एक समय की बचत है, 1. एक काउंटर उदाहरण ढूंढना 2. 4.1 साबित करना गलत है।
जिम

मैंने मूल C ++ प्रोग्राम isoromorphism.cpp को n = 546 उदाहरण के लिए अब बंद कर दिया, दृष्टि में कोई समाप्ति के साथ 6200 मिनट से अधिक समय तक चलने के बाद।
थॉमस क्लिम्पेल

@ThomasKlimpel I एक पेपर लिखने की योजना बना रहा है जिसमें इस परिणाम का उल्लेख है। यदि आपके पास कोई पसंदीदा पेशेवर विशेषता है, तो आप मुझे उस ईमेल को ई-मेल कर सकते हैं जो बिलप्रोविंस@gmail.com पर है। बावजूद, मैं blog.stackexchange.com/2009/06/attribution-required पर पोस्ट किए गए एट्रिब्यूशन आवश्यकताओं का पालन करने का इरादा रखता हूं
बिल प्रांत
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.