একটি নির্দিষ্ট আকারের সমস্ত অ-isomorphic গ্রাফ গণনা করুন


30

আমি আকারের সব undirected গ্রাফ গনা চাই , কিন্তু আমি শুধুমাত্র এক উদাহরণ হিসেবে বলা যায় প্রয়োজন প্রতিটি isomorphism বর্গ । অন্য কথায়, আমি সমস্ত অ-isomorphic (পুনর্নির্দেশিত) গ্রাফগুলিকে শীর্ষে অঙ্ক করতে চাই। কিভাবে আমি এটি করতে পারব?nn

আরো সঠিকভাবে, আমি একটি অ্যালগরিদম যে undirected গ্রাফ একটি ক্রম উত্পন্ন করবে চান , নিম্নলিখিত সম্পত্তি সঙ্গে: প্রতিবার undirected গ্রাফের জন্য উপর ছেদচিহ্ন, একটি সূচক বিদ্যমান যেমন যে করার isomorphic হয় । আমি চাই যে অ্যালগরিদম যথাসম্ভব দক্ষ হোক; অন্য কথায়, আমি যে মেট্রিকটির বিষয়ে যত্নশীল তা হ'ল গ্রাফের এই তালিকাটি তৈরি এবং পুনরাবৃত্তি করার চলমান সময়। একটি গৌণ লক্ষ্য হ'ল অ্যালগরিদম বাস্তবায়নের জন্য খুব জটিল না হলে এটি ভাল হবে। জি এন আই জি জি iG1,G2,,GkGniGGi

লক্ষ্য করুন যে আমার প্রতিটি আইসোমরফিজম ক্লাস থেকে কমপক্ষে একটি গ্রাফ থাকা দরকার, তবে যদি অ্যালগোরিদম একাধিক উদাহরণ তৈরি করে তবে তা ঠিক। বিশেষত, যদি আউটপুট ক্রমটিতে দুটি আইসোমরফিক গ্রাফ অন্তর্ভুক্ত থাকে তবে এটি ঠিক আছে, যদি এটি এ জাতীয় অ্যালগরিদম সন্ধান করতে আরও সহজ করে বা আরও কার্যকর অ্যালগরিদম সক্ষম করে, যতক্ষণ না এটি সমস্ত সম্ভাব্য গ্রাফগুলি আবৃত করে।

আমার অ্যাপ্লিকেশনটি নিম্নরূপ: আমার একটি প্রোগ্রাম রয়েছে যা আমি এর সমস্ত গ্রাফে পরীক্ষা করতে চাই । আমি জানি যে দুটি গ্রাফ যদি আইসোমরফিক হয় তবে আমার প্রোগ্রাম দুটির ক্ষেত্রে একই রকম আচরণ করবে (এটি উভয় ক্ষেত্রেই সঠিক হবে, বা উভয় ক্ষেত্রেই ভুল হবে), তাই প্রতিটি আইসোমরফিজম শ্রেণির কমপক্ষে একজন প্রতিনিধি গণনা করা যথেষ্ট, এবং তারপরে পরীক্ষা যারা ইনপুট উপর প্রোগ্রাম। আমার আবেদনে, মোটামুটি ছোট।এনnn

আমি বিবেচনা করেছি কিছু প্রার্থী অ্যালগরিদম:

  • আমি সমস্ত সম্ভাব্য সংলগ্ন ম্যাট্রিক্সগুলি গণনা করতে পারি, অর্থাত্, সমস্ত প্রতিসাম্য 0-বা -1 ম্যাট্রিকগুলি যেগুলি 0 টির ত্রিভুজগুলিতে রয়েছে। তবে এর জন্য ম্যাট্রিক্সের গণনা করা দরকার requires এই ম্যাট্রিকগুলির মধ্যে অনেকগুলি আইসোমরফিক গ্রাফগুলি উপস্থাপন করবে, সুতরাং এটি অনেক প্রচেষ্টা নষ্ট করছে বলে মনে হচ্ছে।2 n ( n - 1 ) / 2n×n2n(n1)/2

  • আমি সমস্ত সম্ভাব্য সংলগ্ন ম্যাট্রিক্সগুলি গণনা করতে পারতাম এবং প্রত্যেকটির জন্য, আমি পরীক্ষা করেছিলাম যে এটি পূর্ববর্তী আউটপুটগুলির কোনওরকম গ্রাফের জন্য আইসমোর্ফিক কিনা; যদি এটি আগে আউটপুট কোনও কিছুর কাছে বিস্ময়কর না হয় তবে আউটপুট করুন। এটি আউটপুট তালিকাকে ছোট করে তুলবে, তবে এর জন্য কমপক্ষে কমপক্ষে পদক্ষেপের প্রয়োজন (এমনকি আমরা গ্রাফ আইসোমর্ফিজম চেকটি সুপার-দ্রুত ধরে নিচ্ছি), সুতরাং এটি আরও ভাল নয় আমার মেট্রিক2n(n1)/2

  • সংলগ্ন ম্যাট্রিক্সের একটি উপসেট গণনা করা সম্ভব। বিশেষ করে, যদি উপর একটি গ্রাফ হয় ছেদচিহ্ন , সাধারণত্ব ক্ষতি ছাড়া আমি অনুমান করতে পারে ছেদচিহ্ন বিন্যস্ত যে যে । অন্য কথায়, প্রতিটি গ্রাফ এমন একের কাছে বিস্মৃত যেখানে অনুপাতগুলি অ-হ্রাসমান ডিগ্রির জন্য সাজানো থাকে। সুতরাং, এই সম্পত্তিটি কেবল সংলগ্ন ম্যাট্রিকগুলির গণনা করা যথেষ্ট। আমি ঠিক কতজন এমন অন্তিক ম্যাট্রিক্স আছে জানি না, কিন্তু এটা অনেক কম , এবং তারা চেয়ে অনেক কম সঙ্গে গণিত করা যেতে পারে 2 ^ {এন (ঢ -1 ) / 2}GnV={v1,,vn}degv1degv2degvn2n(n1)/22n(n1)/2গণনার পদক্ষেপ। যাইহোক, এটি এখনও প্রচুর অপ্রয়োজনীয়তা ফেলেছে: অনেকগুলি আইসোমরফিজম ক্লাস এখনও অনেকবার আচ্ছাদিত হবে, তাই আমি সন্দেহ করি এটি অনুকূল।

আমরা কি আরও ভাল করতে পারি? আমি যদি সঠিকভাবে বুঝতে পারি তবে প্রায়অ-isomorphic গ্রাফ সমতুল্য ক্লাস। আমরা কি এমন একটি অ্যালগরিদম খুঁজে পেতে পারি যার চলমান সময়টি উপরের অ্যালগরিদমের চেয়ে ভাল? আমরা কত কাছে যেতে পারিনিম্ন সীমা? আমি ছোট tractability সম্পর্কে প্রাথমিকভাবে পরোয়া (বলুন, বা তাই; ছোট যথেষ্ট যে এক -এর সম্ভাব্য সমাপ্তির যেমন একটি অ্যালগরিদম চালানোর পারে), তাই অনেক না বৃহৎ জন্য asymptotics সম্পর্কে ।2 এন ( এন - 1 ) / 2 / এন ! n n = 5 এন2n(n1)/2/n!2n(n1)/2/n!nn=5n=8n

সম্পর্কিত: অসম বাইনারি ম্যাট্রিক্স তৈরি করা (দুর্ভাগ্যক্রমে যে এটির কোনও বৈধ উত্তর পাওয়া যায় বলে মনে হচ্ছে না)।


1
আমি যতদূর জানি, এমনকি আকারের গ্রাফ সংখ্যা তাই আমি মনে করি এটি এতই একটা (অ-বলপূর্বক) অ্যালগরিদম অসম্ভাব্য আপ isomorphism চাই, অজানা। আপনার প্রার্থী অ্যালগরিদম সম্পর্কে, মনে রাখবেন যে গ্রাফ আইসোমর্ফিিজম (আফাইক) পরীক্ষা করার জন্য আমরা বহু-কালীন অ্যালগরিদম জানি না, সুতরাং ( | আউটপুট | ) এ চালানোর জন্য যে কোনও অ্যালগরিদম আইসোমরফিজম পরীক্ষা করা উচিত নয় ( প্রায়ই / dumbly)। (এছাড়াও, | আউটপুট | = Ω ( | শ্রেণীর | ) ।)nO(|output|)|output|=Ω(n|classes|)
রাফায়েল

@Raphael, (1) আমি আমরা আকারের গ্রাফ সঠিক সংখ্যা জানি না জানি isomorphism পর্যন্ত, কিন্তু এই সমস্যা অগত্যা জেনে প্রয়োজন হয় না (যেমন, কারণ আসলে আমি পুনরাবৃত্তির ঠিক না)। আমি জানি না যে কেন এটি বোঝাবে যে আমি দিয়েছি তার চেয়ে ভাল অ্যালগরিদম আর নেই is (2) হ্যাঁ, আমি জানি কোন পরিচিত গ্রাফ isomorphism জন্য বহুপদী সময় এলগরিদম, কিন্তু আমরা মান বিষয়ে কথা হবে এন মত এন = 6 এখানে তা বিদ্যমান আলগোরিদিম সম্ভবত হতে হবে দ্রুত - এবং যাহাই হউক না কেন, আমি শুধুমাত্র উল্লিখিত এটি প্রত্যাখ্যান করার জন্য প্রার্থী অ্যালগরিদম, সুতরাং এটি যাইহোক। nnn=6
DW

জন্য সবচেয়ে 6, আমি বিশ্বাস করি যে পরে ছেদচিহ্ন সংখ্যা এবং প্রান্ত সংখ্যা, পছন্দ করেছেন এবং ডিগ্রী দ্বারা প্রান্তবিন্দু লেবেল আদেশ অ decreasingly আপনার প্রস্তাবিত হিসাবে থাকার, তারপর খুব কম সম্ভব isomorphism শ্রেণীর হবে। এই মুহুর্তে এটি ব্রুট-ফোর্স আইসোমরফিজম চেক দ্বারা উদাহরণস্বরূপ নটি বা ব্লাইএসএস ব্যবহার করে বাকী কেসগুলি বাছাই করা সম্ভবপর হতে পারে। n
সাইমন

উত্তর:


19

ছোট্ট ভার্টেক্স গণনাগুলির জন্য সমস্ত অ-isomorphic গ্রাফ গণনা করার সম্ভবত সবচেয়ে সহজ উপায় হ'ল ব্রেন্ডন ম্যাকের সংগ্রহ থেকে তাদের ডাউনলোড করা । গণনার অ্যালগরিদম ম্যাকের [1] এর কাগজে বর্ণিত হয়েছে এবং এন -1 আকারের অ-সমকোণগুলি সমস্ত সম্ভাব্য উপায়ে প্রসারিত করে এবং নতুন ভারটিেক্সটি নীতিগত ছিল কিনা তা খতিয়ে দেখে কাজ করে। এটি gengম্যাকের গ্রাফ আইসোমরফিজম পরীক্ষক হিসাবে কার্যকর করা হয়েছে nauty

[1]: বিডি ম্যাককে, লেবেলযুক্ত গণনার জন্য একটি প্রযুক্তির অ্যাপ্লিকেশন , কংগ্রেস সংখ্যা, 40 (1983) 207-221।


আমার একটা সমস্যা আছে. আমি আকারের একটি গ্রাফ গ্রহণ করছি n-1এবং আপনি যেমনটি বলেছিলেন তেমন সমস্ত সম্ভাব্য উপায়ে একটি শীর্ষবিন্দু দ্বারা এটি প্রসারিত করছি। তারপরে আমি পরীক্ষা করে যাচ্ছি যে ভারটিেক্সের ক্যানোনিকাল লেবেল রয়েছে, বলুন 1(ক্যানোনিকাল ভার্টেক্স ?!)। যাইহোক, গ্রাফটি কেবলমাত্র স্বতন্ত্র আকারে এবং শীর্ষবিন্দুটির আলাদা লেবেল থাকলে কী হবে? লেবেলযুক্ত ভার্টেক্স 1একই কক্ষপথে রয়েছে কিনা তা দেখার জন্য আমি অটোমোরফিজমগুলি যাচাই করার চেষ্টা করেছি , তবে তারপরে আমি আমার তালিকাতে দুবার গ্রাফটি দিয়ে শেষ করব। কাগজ সত্যিই আমাকে সাহায্য করে না। এছাড়াও, জিনের উত্স কোডটি সেই সমস্ত বাইনারি অপ্টিমাইজেশান এবং সবেমাত্র কোনও মন্তব্যের কারণে অপঠনযোগ্য।
অ্যালেক্স

1
@ অ্যালেক্স আপনি অবশ্যই চেকটির সংস্করণটি চান যা এটি নির্ধারণ করে যে নতুন ভার্টেক্সটি ১ হিসাবে একই কক্ষপথে রয়েছে কিনা আপনি কি একটি উদাহরণ দিতে পারেন যেখানে এটি দুটি আইসোমরফিক গ্রাফ তৈরি করে? নতুন প্রশ্ন হিসাবে এটি আরও ভাল হতে পারে।
ডেভিড আইজেনস্ট্যাট

ঠিক আছে, আপনাকে অনেক ধন্যবাদ! আমি অনুমান করি সেই ক্ষেত্রে "সমস্ত সম্ভাব্য উপায়ে প্রসারিত" একরকমভাবে উল্লম্বগুলি সহ গ্রাফের অটোমরফিজমগুলি বিবেচনা করা দরকার n-1? যেমন এন = 3 এবং আমার পূর্বের গ্রাফটি ছিল পি 2। তারপরে যে দুটি ক্ষেত্রে আমি পূর্বের একটিকে একটি তৃতীয় শীর্ষকে যুক্ত করব অবশ্যই অবশ্যই একই গ্রাফ পি 3 এর ফলাফল হবে। কীভাবে সঠিকভাবে "সমস্ত সম্ভাব্য উপায়ে প্রসারিত" কীভাবে আপনি তা দ্রুত ব্যাখ্যা করতে পারেন বা আমাকে অন্য প্রশ্ন হিসাবে জিজ্ঞাসা করা উচিত? (এছাড়াও, কখনও কখনও আমি যা ঘটে তা নিয়ে বিভ্রান্ত হয়ে পড়েছি, কারণ আমার প্রোগ্রামটিতে একটি বিশেষ ধরণের গ্রাফের অ-আইসোমর্ফিজমগুলি খুঁজে নেওয়া দরকার যা জিনিসগুলি আরও জটিল করে তোলে)
অ্যালেক্স

@ অ্যালেক্স হ্যাঁ, দেখে মনে হচ্ছে এক্সটেনশনটি নিজেই ক্যানোনিকাল হওয়া দরকার। সম্ভবত একটি নতুন প্রশ্ন মূল্যবান, যেহেতু এটি আমার মাথার উপরের অংশটি কীভাবে কাজ করে তা আমার মনে নেই।
ডেভিড আইজেনস্ট্যাট

1
ন্যাটি হোম পৃষ্ঠা
গাই কোডার

4

আমি আপনার তৃতীয় ধারণার উন্নতির প্রস্তাব করছি: সারি দ্বারা সংলগ্ন ম্যাট্রিক্স সারিটি পূরণ করুন, পূর্বে ভরাটুলম্বের সাথে তার ডিগ্রি এবং সংলগ্নতার সমতুল্য উলম্বের খোঁজ রাখুন। সুতরাং প্রাথমিকভাবে সমতুল্য ক্লাসগুলি একই ডিগ্রি সহ সমস্ত নোড নিয়ে গঠিত।
যখন একটি নতুন পূর্ণ ভেরিটেক্স কেবল কিছু সমতুল্য নোডের সাথে সংলগ্ন থাকে, কোনও পছন্দ একই আইসোমরফিজম ক্লাসের প্রতিনিধিদের দিকে নিয়ে যায়। সুতরাং আমরা কেবলমাত্র অ্যাসাইনমেন্টটি বিবেচনা করি, যেখানে বর্তমানে ভরাট ভার্টেক্সটি সর্বাধিক সংখ্যার (এবং বাকী প্রক্রিয়াটির জন্য সমতুল্য শ্রেণিকে দুটি ভাগে ভাগ করে) সমতুল্য কোণে সংলগ্ন।

আমি মনে করি (কিন্তু প্রমাণ করতে চেষ্টা করিনি) যে এই পদ্ধতির কভার জন্য সব isomorphisms । বৃহত্তর গ্রাফের জন্য, আমরা প্রান্তের ( 1 , 2 ) এবং ( 3 , 4 ) (এবং অন্য কোনও নয় ) সহ একটি সাবগ্রাফের ভিত্তিতে আইসোমর্ফিজমগুলি পেতে পারি, তবে এটি দুটি দ্বারা উলম্বের সমতুল্য গোষ্ঠী রয়েছে, তবে এটি ট্র্যাক করা হয়নি isn't অভিগমন. (এটি অবশ্যই প্রসারিত হতে পারে তবে আমি সন্দেহ করি যে এই প্রচেষ্টাটি মূল্যবান, যদি আপনি কেবল এন = 6 এর জন্য লক্ষ্য করে থাকেন ))n<6
(1,2)(3,4)n=6

এই অ্যালগরিদমের একটি নিষ্পাপ বাস্তবায়ন মৃত প্রান্তে চলে যাবে, যেখানে দেখা যাচ্ছে যে ডিগ্রি এবং পূর্ববর্তী কার্যাদি নির্ধারিত সেট অনুসারে সংলগ্ন ম্যাট্রিক্স পূরণ করা যাবে না। এগুলি প্রাথমিকভাবে সনাক্ত / ফিল্টার করার জন্য কিছুটা চেষ্টা করা উচিত। কিছু ধারণা:

  • ডিগ্রির যোগফল যদি বিজোড় হয় তবে এগুলি কখনই গ্রাফ তৈরি করে না
  • শিখুনের জন্য উল্লিখিতগুলি পূরণ করুন যা অবিলম্বে সমস্ত অবশিষ্ট / কারও সাথে সংযুক্ত হওয়া প্রয়োজন।

3

এই কাগজপত্রগুলি আগ্রহী হতে পারে।

"গ্রাফের সংলগ্ন উপস্থাপনার উপর", গির্জি তুরান, বিচ্ছিন্ন প্রয়োগিত গণিত, খণ্ড 8, ইস্যু 3, জুলাই 1984, পৃষ্ঠা 289-294 http: //www.sज्ञानdirect.com/science/article/pii/0166218X84901264

"সাধারণ অ লেবেলযুক্ত গ্রাফের সুসংগত প্রতিনিধিত্ব", মনি নওর, বিচ্ছিন্ন প্রয়োগিত গণিত, খণ্ড ২৮, সংখ্যা 3, সেপ্টেম্বর 1990, পিপি 303-307 http: //www.sज्ञानdirect.com/sज्ञान / article / pii / 0166218X9090011Z

তারা একটি ভার্টেক্স-লেবেলযুক্ত গ্রাফ এনকোডিংয়ের জন্য এনকোডিং এবং ডিকোডিং ফাংশন উপস্থাপন করে যাতে এই জাতীয় দুটি গ্রাফ একই কোডওয়ার্ডে ম্যাপ করে এবং যদি কেবল অন্যটির ভার্টেক্স লেবেলগুলির অনুমতি দেওয়া থেকে ফলাফল আসে।

তবুও এটি প্রমাণিত যে এনকোডিং এবং ডিকোডিং ফাংশনগুলি দক্ষ।

প্রথম কাগজ প্ল্যানার গ্রাফ নিয়ে কাজ করে। দ্বিতীয় কাগজে, পরিকল্পনার সীমাবদ্ধতা সরানো হয়।

সম্পাদনা: এই কাগজটি প্রাসঙ্গিক হতে পারে:

কোফ-পলিনোমিয়াল টাইমে গ্রাফ ইসমোরফিজম, শিকাগো বিশ্ববিদ্যালয় লাস্লোলো বাবাই, আরএক্সিব-এ প্রিপ্রিন্ট, 9 ই ডিসেম্বর 2015 http://arxiv.org/pdf/1512.03547v1.pdf

বাবাই তার ফলাফল ঘোষণার মাধ্যমে এই খবরটি প্রকাশিত হয়েছে: https ://www.sज्ञानnews.org/article/new-algorithm-cracks-راف- সমস্যা

তবে সম্ভবত আমি এই তিনটি কাগজপত্রের সাথে ওপিএসের প্রশ্নটি ভুল করতে ভুল করছি? ওপি নন-আইসোমরফিক গ্রাফগুলি গণনা করতে চায় তবে দুটি গ্রাফ আইসোমরফিক যখন হয় তখন তা নির্ধারণের জন্য দক্ষ পদ্ধতিগুলি পাওয়া এখনও কার্যকর হতে পারে?


আমি এই চিন্তার প্রশংসা করি, তবে আমি ভয় করি যে আমি দুটি গ্রাফ আইসোমোরফিক কিনা তা নির্ধারণ করার জন্য জিজ্ঞাসা করছি না। আমি সত্যিই জিজ্ঞাসা করছি যে নন-আইসোমরফিক গ্রাফগুলি কীভাবে গণনা করা যায়। দুটি গ্রাফ isomorphic কিনা তা পরীক্ষার জন্য অ্যালগরিদমগুলি বর্ণনা করা সত্যই আমাকে সহায়তা করে না, আমি ভয় করি - চেষ্টা করার জন্য ধন্যবাদ, যদিও!
ডিডাব্লিউ

তুরান এবং নাওর (আমি উপরে উল্লিখিত কাগজপত্রগুলিতে) আপনি বর্ণিত ধরণের ফাংশনগুলি রচনা করেন, অর্থাত্ কোন গ্রাফটি সেই সমতুল্য শ্রেণির একটি নীতিগত প্রতিনিধি হিসাবে ম্যাপ করে। যদি আপনি এই আধ্যাত্মিক প্রতিনিধিদের গণনা করতে পারেন, তবে মনে হয় এটি আপনার সমস্যার সমাধান করবে।
সাইমন


1

ঠিক এই প্রশ্নের মোকাবিলা করে নব্বইয়ের দশকের গোড়ার দিকে একটি কাগজ রয়েছে:

লেসলি গোল্ডবার্গের লেবেলিবিহীন গ্রাফগুলির তালিকা দেওয়ার জন্য দক্ষ অ্যালগরিদম

পদ্ধতির গ্যারান্টি দেয় যে প্রতিটি আইসোমরফিজম শ্রেণির ঠিক একজন প্রতিনিধি গণিত হয় এবং পরবর্তী দুটি গ্রাফ তৈরির মধ্যে কেবল বহুবর্ষীয় বিলম্ব হয়।

এন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.