একটি দ্বিপক্ষীয় গ্রাফের সর্বোচ্চ স্বাধীন সেট


19

আমি একটি বিপারাইট গ্রাফের সর্বাধিক স্বতন্ত্র সেটটি সন্ধান করার চেষ্টা করছি।

"মে 13, 1998 - ওয়াশিংটন বিশ্ববিদ্যালয় - সিএসই 521 - নেটওয়ার্ক প্রবাহের অ্যাপ্লিকেশন" : কিছু নোটে আমি নিম্নলিখিতটি পেয়েছি :

সমস্যা:

দ্বিপক্ষীয় গ্রাফ দেওয়া G=(U,V,E) , একটি স্বতন্ত্র সেট যা যথাসম্ভব বড়, যেখানে এবং । সেটটির উপাদানগুলির মধ্যে প্রান্ত না থাকলে একটি সেট স্বাধীন independentUVUUVVE

সমাধান:

ছেদচিহ্ন একটি প্রবাহ গ্রাফ আঁকো । প্রতিটি প্রান্তের For এর জন্য থেকে পর্যন্ত অসীম ক্ষমতা প্রান্ত রয়েছে । প্রতিটি জন্য , থেকে পর্যন্ত একক ক্ষমতা প্রান্ত রয়েছে , এবং প্রতিটি for এর জন্য , থেকে তে এক ইউনিট ক্ষমতা প্রান্ত রয়েছে ।UV{s,t}(u,v)EuvuUsuvVvt

একটি নির্দিষ্ট ধারণক্ষমতা কাটা খুঁজুন , সঙ্গে এবং । যাক এবং । সেট স্বতন্ত্র কারণ যেহেতু কাটকে অতিক্রম করার কোনও সীমাহীন ক্ষমতা প্রান্ত নেই। কাটার আকার। এটি, স্বাধীন সেটটিকে যতটা সম্ভব বৃহত্তর করতে, আমরা কাটাটিকে যতটা সম্ভব ছোট করে তুলি।(S,T)sStTU=USV=VTUV|UU|+|VV|=|U|+|V||UV|

সুতরাং এটি গ্রাফ হিসাবে গ্রহণ করা যাক:

A - B - C
    |
D - E - F

আমরা নিম্নলিখিত হিসাবে এটি দ্বিপক্ষীয় গ্রাফে বিভক্ত করতে পারি (U,V)=({A,C,E},{B,D,F})

আমরা জোর করে অনুসন্ধানের মাধ্যমে দেখতে পারি যে একমাত্র সর্বোচ্চ স্বাধীন সেট হ'ল । উপরের সমাধানটির মাধ্যমে চেষ্টা করে কাজ করতে দেয়:A,C,D,F

সুতরাং নির্মিত ফ্লো নেটওয়ার্ক সংলগ্ন ম্যাট্রিক্স হবে:

stABCDEFs00101010t00010101A1000000B01000C1000000D0100000E10000F0100000

এখানেই আমি আটকে আছি, আমি দেখতে পেলাম ক্ষুদ্রতম সীমাবদ্ধতা ক্ষুদ্রতর: 3 ক্ষমতা সহ।(S,T)=({s},{t,A,B,C,D,E,F})

এই কাটাটি ব্যবহারের একটি ভুল সমাধানের দিকে নিয়ে যায়:

U=US={}
V=VT={B,D,F}
UV={B,D,F}

যেখানে আমরা ইউ'- expected আশা করেছি ? আমার যুক্তি / কাজকর্মের ক্ষেত্রে আমি কোথায় ভুল করেছি এমন কেউ কি স্পট করতে পারে?UV={A,C,D,F}


(এস, টি) = ({গুলি, এ, বি, সি}, {টি, ডি, ই, এফ}) এর ক্ষমতা 2

1
@ ব্রায়ান আপনার কাটা জুড়ে বি থেকে ই পর্যন্ত অসীম সক্ষমতা প্রান্তে রয়েছে তাই এটি অসীম ক্ষমতা।
অ্যান্ড্রু তোমাজোস

যদি আমি এটি সঠিকভাবে বুঝতে পারি, ব্রুট ফোর্স সলিউশনের ভিত্তিতে, আপনার এমন একটি কাটা দরকার যেখানে এস এ এবং সি থাকে এবং সেখানে ডি এবং এফ থাকে, যা আপনার কাটাটি {গুলি, এ, সি}, {টি, ডি, এফ makes করে তোলে । এখন, আপনি কাটা নির্মাণ কিভাবে?
njzk2

এছাড়াও, এটি ফোর্ড-ফুলকারসনের মতো দেখাচ্ছে, যেখানে প্রান্তগুলির একটির ক্ষমতা রয়েছে।
njzk2

হাঙ্গেরীয় অ্যালগরিদমটি দেখুন।
প্যাট্রিক ভার্সের

উত্তর:


14

সর্বাধিক স্বতন্ত্র সেটের পরিপূরক হ'ল ন্যূনতম ভার্টেক্স কভার।

দ্বিপক্ষীয় গ্রাফের ন্যূনতম প্রান্তিক কভারটি পেতে, কনিগের উপপাদ্যটি দেখুন


2
এটি (সম্ভবত) সমস্যার সমাধান করে তবে প্রশ্নের উত্তর দেয় না।
রাফেল

2
@ রাফেল: আপনি যদি "সম্ভবত" শব্দটি সরিয়ে দেন তবে আমি সম্মত। :)
Jukka Suomela

1
ওহ, আমি নিশ্চিত যে এটি সমস্যার সমাধান করে তবে আমি নিশ্চিত নই যে এটি অ্যান্ড্রুকে তার সমস্যা সমাধানে সহায়তা করে কিনা ।
রাফেল

3
আপনার পরামর্শ অনুসারে আমি এটি সমাধান করেছি: HopcroftKarp -> সর্বাধিক মিল -> কোনিগগুলি এতে -> ন্যূনতম প্রান্তিক কভার -> পরিপূরক -> সর্বাধিক স্বতন্ত্র সেট। আমার প্রশ্নে বর্ণিত প্রবাহ পদ্ধতিটি কেন কাজ করে বলে মনে হচ্ছে না তা আমি এখনও জানতে চাই।
অ্যান্ড্রু তোমাজোস

5

প্রদত্ত সমাধানটি পরিষ্কারভাবে ভুল, যেমন আপনি পাল্টা নমুনাটি প্রদর্শন করেন। নোট করুন যে গ্রাফ ইউ + ভি অসীম-ক্ষমতা প্রান্ত দ্বারা সংযুক্ত উপাদান। সুতরাং প্রতিটি বৈধ কাটতে একই পাশের এ, বি, সি, ডি, ই, এফ সমস্ত থাকতে হবে।

সমাধানটি কোথা থেকে এসেছে তা সন্ধান করার চেষ্টা করছে: http://www.cs.washington.edu/education/courses/cse521/01sp/flownotes.pdf কিছু সমস্যার জন্য অহুজা, ম্যাগনন্তী এবং অরলিনের দ্বারা নেটওয়ার্ক ফ্লোডকে উদ্ধৃত করে। এই বইটি কপিরাইটের বাইরে এবং http://archive.org/details/networkflows00ahuj থেকে ডাউনলোডযোগ্য তবে এটিতে এই সমস্যা এবং সমাধান রয়েছে বলে মনে হয় না ("দ্বিপক্ষীয়" এর প্রতিটি ঘটনা সন্ধান করা)।

দ্রষ্টব্য যে সমাধানটির ব্যাখ্যা অনুচ্ছেদে দেখায় না যে এটি তৈরি করা গ্রাফের ক্ষুদ্রতম কাটা সর্বাধিক স্বাধীন সেটের সাথে মিলে যায়। এটি কেবল একটি স্বাধীন সেট পাওয়ার উপায় দেখায় ।

এবং তবুও, আপনি দেখতে পারেন যে অ্যালগরিদম কী করার চেষ্টা করছে। প্রকৃত সর্বাধিক স্বতন্ত্র সেটটি এর টি, টি কাটারের সাথে মিল রাখে:

চিত্রলেখ

অ্যালগরিদম ভঙ্গ করে এমন অসীম-সক্ষমতা প্রান্তকে জোর দেওয়া হয়েছে।

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


2

প্রদত্ত অ্যালগরিদম সঠিক। নির্মিত ফ্লো নেটওয়ার্কটি পরিচালনা করা দরকার, এবং একটি S - T কাটের মান কেবল প্রান্তিক সেট S বাইরে চলে যাওয়া প্রান্তকে বিবেচনা করে ।


1
আমি আপনার সাথে একমত, তবে আপনি দয়া করে আরও বিশদ যুক্ত করতে পারেন, উদাহরণস্বরূপ, প্রবাহ অ্যালগরিদমের সম্পূর্ণ নির্ভুলতার প্রমাণ এবং ওপির উদাহরণে অ্যালগরিদম কীভাবে প্রযোজ্য?
xskxzr

এতে থাকা নোটটিতে সঠিকতার সংক্ষিপ্ত প্রমাণ রয়েছে। cs.washington.edu/education/courses/cse521/01sp/flownotes.pdf উদাহরণস্বরূপ, যদি আপনি উপরের এভেজেনি সার্জিভের চিত্রটি দেখুন তবে প্রান্তগুলি সমস্তই নীচের দিকে নির্দেশিত হওয়া উচিত। তারপরে এস এর বাইরে কেবল দুটি কিনারা হ'ল (গুলি, ই) এবং (বি, টি), গাed় লাল প্রান্তটি এস-এ চলেছে এবং কাটা মান হিসাবে গণনা করা উচিত নয়।
yu25x

0

কাটাটি সক্ষমতা নয়, প্রকৃত প্রবাহে হওয়া উচিত। যেহেতু s থেকে প্রবাহ সীমাবদ্ধ তাই কোনও {S, T} কাট সীমাবদ্ধ থাকবে। বাকীটি উপরে বর্ণিত।


1
তুমি কি নিশ্চিত? কাটগুলি সাধারণত ক্ষমতাতে থাকে এবং যে কোনও ক্ষেত্রে, আমরা ইতিমধ্যে জানি যে ন্যূনতম কাটা সীমাবদ্ধ তাই কাটগুলি অসীম হওয়ার কারণে সমস্যাটি বলে মনে হয় না।
ডেভিড রিচার্বি

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