মিশ্র গ্রাফ অ্যাকসিলেসিটি টেস্টিং অ্যালগরিদমের জন্য রেফারেন্স?


16

একটি মিশ্র গ্রাফ এমন একটি গ্রাফ যা উভয় দিকনির্দেশিত এবং পুনর্নির্দেশিত প্রান্ত থাকতে পারে। এটির অন্তর্নিহিত অনির্দেশিত গ্রাফটি নির্দেশিত প্রান্তগুলির প্রাচ্যকে ভুলে গিয়ে প্রাপ্ত হয় এবং অন্য দিকে প্রতিটি অপরিবর্তিত প্রান্তকে একটি নির্দেশ বরাদ্দ করে একটি মিশ্র গ্রাফের একটি প্রাচুর্য প্রাপ্ত হয়। প্রান্তগুলির একটি সেট একটি মিশ্র গ্রাফে একটি চক্র গঠন করে যদি এটি একটি নির্দেশিত চক্র গঠনের দিকে লক্ষ্য করা যায়। একটি মিশ্র গ্রাফ অ্যাসাইক্লিক হয় এবং কেবল যদি এর কোনও চক্র থাকে না।

এটি সমস্ত স্ট্যান্ডার্ড এবং অ্যাসাইক্লিক মিশ্র গ্রাফের উল্লেখ করে প্রচুর প্রকাশিত কাগজপত্র রয়েছে। সুতরাং মিশ্র গ্রাফের অ্যাক্সিলিকটিটি পরীক্ষা করার জন্য নিম্নলিখিত অ্যালগরিদমটি অবশ্যই জানা উচিত:

নিম্নলিখিত পদক্ষেপগুলি পুনরাবৃত্তি করুন:

  • কোনও আসন্ন নির্দেশিত প্রান্ত নেই এবং কোনও ঘটনা পুনর্নির্দেশিত প্রান্ত নেই এমন কোনও ভার্টেক্স সরান, কারণ এটি কোনও চক্রের অংশ হতে পারে না।
  • যদি কোনও ভার্টেক্সের কোনও আগত নির্দেশিত প্রান্ত না থাকে তবে এর ঠিক একটি ঘটনা অনির্দেশিত প্রান্ত থাকে তবে ডায়রেক্টরেক্ট প্রান্ত ব্যবহার করে যে কোনও চক্র অবশ্যই সেই প্রান্তে আসতে হবে। আসন্ন নির্দেশিত প্রান্ত দ্বারা পুনর্নির্দেশিত প্রান্তটি প্রতিস্থাপন করুন।

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

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


যখন একটি শীর্ষবিন্দুতে দুটি ঘটনা পুনর্নির্দেশিত প্রান্ত রয়েছে এবং অন্য কোন প্রান্ত থাকবে তখন কী হবে? উদাহরণস্বরূপ একটি অপরিবর্তিত ত্রিভুজ মানে উপরের নিয়মগুলি কি এই কেসটি কভার করে?
ম্যাটিউস ডি অলিভিরা অলিভিরা

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

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

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

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

উত্তর:


1

মিশ্র গ্রাফে মিশ্র চক্র সন্ধান করা সংশ্লিষ্ট নির্দেশিত গ্রাফের প্রাথমিক নির্দেশিত চক্র (দৈর্ঘ্যের> = 3) সন্ধানের সমতুল্য। বিপরীত দিক নির্দেশিত দুটি নির্দেশিত প্রান্ত দ্বারা প্রতিটি নির্দেশিত প্রান্ত প্রতিস্থাপিত করে সংশ্লিষ্ট নির্দেশিত গ্রাফটি মিশ্র গ্রাফ থেকে প্রাপ্ত হয়। প্রুফ: (1) ডিগ্রাফের প্রতিটি প্রাথমিক নির্দেশিত চক্র (দৈর্ঘ্যের> = 3) মিশ্র গ্রাফের একটি মিশ্র চক্রের সাথে সরাসরি মিল। (২) মিশ্র গ্রাফের প্রতিটি মিশ্র চক্রের দৈর্ঘ্যের একটি প্রাথমিক মিশ্র চক্র থাকে> = 3 এবং এই জাতীয় প্রতিটি চক্র সরাসরি নির্দেশিত গ্রাফের সাথে একটি প্রাথমিক নির্দেশিত চক্র (দৈর্ঘ্যের> = 3) এর সাথে মিলে যায়। (1) এবং (2) একসাথে বিবৃতি উভয় দিক প্রমাণিত, Qed। সুতরাং আমরা একটি নির্দেশিত গ্রাফে প্রাথমিক চক্র (দৈর্ঘ্যের> = 3) গণনা কীভাবে রেফারেন্স সন্ধান করছি।

মন্তব্যগুলি ইঙ্গিত করে যে সিএস.স্ট্যাকেক্সেঞ্জারে এই প্রশ্নের কিছু উত্তর রয়েছে তবে সংক্ষিপ্ত উত্তরে কীভাবে ফলাফলগুলি সংগঠিত করা যায় তা স্পষ্ট নয়। এই ব্লগ পোস্টটি (সবচেয়ে?) গুরুত্বপূর্ণ উল্লেখগুলি খুব সুন্দরভাবে সংক্ষেপে বলে মনে হচ্ছে:

আর টার্জন রচিত অ্যালগরিদম

আমি অন্তর্ভুক্ত প্রাথমিকতম অ্যালগরিদমটি 1973 সালে আর টারজান দ্বারা প্রকাশিত হয়েছিল।

Enumeration of the elementary circuits of a directed graph
R. Tarjan, SIAM Journal on Computing, 2 (1973), pp. 211-216
http://dx.doi.org/10.1137/0202017

ডিবি জনসনের লেখা অ্যালগরিদম

1975 সাল থেকে ডিবি জনসনের অ্যালগরিদম তাররনের জটিলতায় টারজানের অ্যালগরিদমকে উন্নত করে।

Finding all the elementary circuits of a directed graph.
D. B. Johnson, SIAM Journal on Computing 4, no. 1, 77-84, 1975.
http://dx.doi.org/10.1137/0204007

সবচেয়ে খারাপ ক্ষেত্রে, টার্জনের অ্যালগোরিদমে ও (N complexe (c + 1)) এর একটি সময়ের জটিলতা রয়েছে যেখানে জনসনের অ্যালগরিদম সম্ভবত O ((n + e) ​​(c + 1)) এ থাকার ব্যবস্থা করে যেখানে n এর সংখ্যা উল্লম্ব, e হ'ল প্রান্তের সংখ্যা এবং সি গ্রাফের চক্রের সংখ্যা।

কেএ হক এবং এইচএ জেমস দ্বারা অ্যালগরিদম

২০০৩ সাল থেকে কেএ হক এবং এইচএ জেমসের অ্যালগরিদম জনসনের অ্যালগরিদমকে আরও উন্নত করে এবং এর সীমাবদ্ধতাগুলি সরিয়ে দেয়।

Enumerating Circuits and Loops in Graphs with Self-Arcs and Multiple-Arcs.
Hawick and H.A. James, In Proceedings of FCS. 2008, 14-20
www.massey.ac.nz/~kahawick/cstn/013/cstn-013.pdf
http://complexity.massey.ac.nz/cstn/013/cstn-013.pdf

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

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

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


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

@ ডেভিডেপস্টেইন একটি মিশ্র গ্রাফে মিশ্র চক্র সন্ধান করা সংশ্লিষ্ট নির্দেশিত গ্রাফের প্রাথমিক চক্র (দৈর্ঘ্যের> = 3) সন্ধানের সমতুল্য। এই বিবৃতিটির জন্য একটি রেফারেন্স সন্ধান করা চ্যালেঞ্জ হতে পারে তবে এই বক্তব্য প্রমাণ করা সহজ। আমি এখন উত্তরে বিবৃতি এবং এর প্রমাণ যুক্ত করেছি। (প্রমান ছাড়াই একটি মন্তব্যও যুক্ত করেছেন যে ব্লক-কাট গাছের গণনা করা প্রাথমিক চক্রগুলিকে প্রভাবিত না করে মুছতে পারে এমন প্রতিটি সম্ভাব্য
প্রান্তকে

ঠিক আছে, তবে তারা এখনও রৈখিক-সময় নয়।
ডেভিড এপস্টিন

@ ডেভিড এপস্টেস্টিন অ্যাকসিলেসিটির পরীক্ষা নিজেই লিনিয়ার সময়ে করা হয়। তবে আপনি ঠিক বলেছেন, যে কোনও সময় আলগোরিদিমগুলির প্রথম প্রাথমিক সার্কিট (দৈর্ঘ্যের> = 3) সন্ধান করা দরকার সময় লিনিয়ার নয় (সবচেয়ে খারাপ ক্ষেত্রে)। সবচেয়ে খারাপ, জনসনের অ্যালগরিদমের সর্বাধিক উপলভ্য প্রয়োগগুলি একক নির্দেশিত বৃত্তে প্রয়োগ করা হলে (এন শীর্ষে, ই = এন প্রান্ত এবং সি = 1 প্রাথমিকের সাথে ও ((এন + ই) (সি + 1)) সময়ের বেশি ব্যবহার করবে বলে মনে হয় চক্র)। তবুও, এটি একটি সঠিক উত্তর হিসাবে চিহ্নিত করা হয়েছিল, কারণ জনসনের কাগজটি "প্রাথমিক সার্কিটগুলি সন্ধান করার" জন্য সর্বাধিক উদ্ধৃত রেফারেন্স বলে মনে হচ্ছে।
থমাস ক্লিম্পেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.