কিছু শর্ত সাপেক্ষে একটি নির্ধারিত সংখ্যক বিভক্ত সাবটাইটে একটি সেট কীভাবে বিভাজন করবেন?


11

আমি একটি সেট দেওয়া করছি , একটি পূর্ণসংখ্যা , এবং অ-নেগেটিভ পূর্ণসংখ্যার a_ {IJ} । আমার সমস্যা খুঁজে পেতে গুলি অসংলগ্ন করা সাব-সেট নির্বাচন S_j এর \ {1, \ ldots, K \} যেমন যে:A{1,,k}skaijsSj{1,,k}

  1. j=1sSj=A ; এবং
  2. | এস_জে | _ লেকস্ল্যান্ট এ_ j আইজে }|Sj|aij সকল ক্ষেত্রে iSj এবং জে = 1, d এলডটস , এসj=1,,s

এই সমস্যার সমাধান কিভাবে? সম্ভাব্য সমাধান খুঁজে পাওয়া কি কঠিন?

আমি মনে করি সমস্যাটি সমাধান করা সহজ নয় কারণ আমি এমন কিছু প্রক্রিয়া চেষ্টা করেছি যা কিছু জে by \ {1, \ ldots, n \ by দ্বারা শুরু হয়েছিল j{1,,n}এবং i{1,,k} পর্যন্ত অ্যাসাইন করেছিলাম এর i নির্ধারিত j তার চেয়ে অনেক বেশী হয় aij কিছু i নির্ধারিত হয়। কিন্তু এই সঠিক কারণ আমি কিছু বাম যেতে পারে নয় i যে কোনো নির্ধারিত করতে পারা যায় নি j (তাদের কারণে aij যা সন্তুষ্ট করা যায়নি)।

পাশব বল পদ্ধতি, যখন আমি সব সাব-সেট নির্বাচন তৈরি করার মত A প্রতিটি এক এবং পরীক্ষা (আমার জন্য কাজ করে k=8,n=3 ) কিন্তু খুব অদক্ষ।


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

উত্তর:


10

এই সমস্যাটি ভার্টেক্স কভার থেকে হ্রাস দ্বারা এনপি-হার্ড।

প্রান্তবিন্দু কভার সমস্যা, আমরা গ্রাফ দেওয়া হয় এবং একটি সংখ্যা , এবং আমাদের কাজের নির্ধারণ কিনা কিছু উপসেট সর্বাধিক এর থেকে ছেদচিহ্ন যেমন যে প্রতিটি প্রান্ত ঘটনা তে কমপক্ষে একটি ভার্টেক্সে । (সমতুল্য: প্রতিটি প্রান্তকে বেশিরভাগ কোণে মোছার মাধ্যমে হত্যা করা কি সম্ভব ?)আর ইউG=(V,E)rUV E U G rrVEUGr

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

ভার্টেক্স কভারের একটি উদাহরণ থেকে আপনার সমস্যার একটি উদাহরণ তৈরি করতে :( জি , আর )(A,a,s)(G,r)

  1. তে সেট করুনআর একটি উপাদান তৈরি মধ্যে প্রতিটি প্রান্ত জন্য মধ্যে । (এই জোড়গুলি পূর্ণসংখ্যা হিসাবে ভাবা যেতে পারে ; এগুলির মধ্যে যে কোনও দ্বিপক্ষীয় কাজ করবে))| E | ( i , j ) ভি আই ভি জে1 , , কেk|E|(i,j)AvivjE1,,k
  2. সেট থেকেযদি বা ; অন্যথায়, থেকে 1 সেট করুন। | E | d = b d = c a ( b , c ) , da(b,c),d|E|d=bd=ca(b,c),d
  3. সেট ।s=r

যদি শুধু লেবেল বাছাই: প্রান্তবিন্দু কভার হ্যা-উদাহরণস্বরূপ, তারপর এটি দেখতে যে আপনার সমস্যা মাত্র-নির্মাণ উদাহরণস্বরূপ একটি হ্যা-উদাহরণস্বরূপ হয় সহজ ছেদচিহ্ন সংশ্লিষ্ট কোন সমাধান , এবং প্রান্তে প্রতিটি প্রান্তের এর সাথে সংশ্লিষ্ট উপাদান নির্ধারণ করুন যে কোনও একটিতে বা লেবেল বাছাই করা হয়েছিল (উভয় লেবেল যদি নেওয়া হয় তবে নির্বিচারে চয়ন করুন)। এই সমাধানটি সাবসেটগুলি ব্যবহার করে এবং এটি বৈধ কারণ একমাত্র force এর সাথে সংশ্লিষ্ট forS বনাম ইউ বনাম বনাম ( , ) একজন এস এস গুলি একটি আমি | E |(G,r)SjvjUvbvcE(b,c)ASbScsaij চেয়ে বেশি প্রতিরোধের (অ-) প্রভাব রয়েছে এমন লেবেলগুলি প্রান্তগুলি একই লেবেল বরাদ্দ করা হচ্ছে।|E|

এটি এখনও রয়ে গেছে যে আপনার সমস্যার একটি ইয়েস-উদাহরণ বোঝায় যে মূল ভার্টেক্স কভারের ইয়েস-উদাহরণ। এটি কিছুটা জটিল, যেহেতু থেকে পর্যন্ত একটি বৈধ সমাধান সাধারণভাবে একটি প্রান্ত নির্ধারণ করতে পারে একটি অ- সহকারী লেবেল , অর্থাত্, , যার অর্থ আমরা পারব না অগত্যা একটি বৈধ সমাধান থেকে একটি বৈধ প্রান্তের কভার "পঠিত" ।( জি , আর ) ওয়াই এক্স ( আই , ) এস এম এম { আই , জে } ইউ ওয়াইX=(A,a,s)(G,r)YX(i,j)Smm{i,j}UY

যাইহোক, অ-সঙ্গতিপূর্ণ লেবেল নির্ধারণের ক্ষেত্রে উচ্চ ব্যয় থাকে যা সমাধানের কাঠামোটিকে মারাত্মকভাবে সীমাবদ্ধ করে: যখনই একটি প্রান্ত এমন একটি লেবেল বরাদ্দ করা হয় , , সত্য সহ যে নিশ্চিত করে যে এটি অবশ্যই এই লেবেলটি নির্ধারিত একমাত্র প্রান্ত হতে হবে । সুতরাং, যেকোন সমাধানে যেমন একটি অ-অনুসারে-লেবেলযুক্ত প্রান্ত , আমরা বিকল্প সমাধান করতে পারি :এস এম এম { আমি , } একটি ( আমি , ) , মি = 1 ওয়াই ( আমি , ) এস এম ওয়াই '(i,j)Smm{i,j}a(i,j),m=1Y(i,j)SmY

  1. ইচ্ছামত নতুন লেবেল চয়ন জন্য পারেন হতে বা । ( আই , ) এস আই এস জেSz(i,j)SiSj
  2. এই নতুন লেবেলটি বরাদ্দ করুনযদি এটি একটি অবৈধ সমাধানের ফলাফল করে তবে এটি অবশ্যই কারণ অন্য এক প্রান্ত , already ইতোমধ্যে লেবেলটি । যে ক্ষেত্রে, সেট ইন এবং ধাপে 1 এ যান।( i , j ) z { i , j } S z ( i , j ) = ( i , j )(i,j)(i,j)z{i,j}Sz(i,j)=(i,j)

উপরের অ্যালগরিদমটি দুটি উপায়ে একটিতে শেষ করতে হবে: হয় একটি নতুন লেবেল পাওয়া যায় যা কোনও বৈপরীত্যের পরিচয় দেয় না, বা একটি শীর্ষ চক্রের সন্ধান পাওয়া যায়। পূর্ববর্তী ক্ষেত্রে, সেট সহ একটি বৈধ নতুন সমাধান পাওয়া যায়, তবে পরবর্তী ক্ষেত্রে সেটগুলির সাথে একটি বৈধ নতুন সমাধান পাওয়া যায়; যে কোনও উপায়ে, আমরা সংশ্লিষ্ট লেবেলে অন্তত আরও একটি প্রান্ত নির্ধারিত একটি বৈধ নতুন সমাধান তৈরি করেছি । এই সম্পূর্ণ প্রক্রিয়াটি পুনরাবৃত্তি করার পরেবার, আমরা একটি কার্যকর সমাধান নেই উত্পাদিত হবে যা থেকে মূল প্রান্তবিন্দু কভার সমস্যার একটি সমাধান করতে বন্ধ পড়তে হবে। এস - 1 এস | E | ওয়াই "Szs1s|E|Y

এই নির্মাণটি স্পষ্টত বহু বহু সময়ের, সুতরাং এটি অনুসরণ করে যে আপনার সমস্যা এনপি-হার্ড।


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

ঠিক আছে, এটি প্রত্যাশিত যে কোনও লোভী দৃষ্টিভঙ্গি কখনও কখনও একটি সম্ভাব্য সমাধান আউটপুট করতে ব্যর্থ হয়, যেহেতু এটি সর্বদা করা হয়, আপনি বহু-সময়ের মধ্যে একটি এনপি-হার্ড সমস্যা সমাধান করবেন ;-) মনে রাখবেন যে এটি অকারণে না পারলে অগত্যা ভুল হয় না একটি সমাধান সন্ধান করুন: এটি ভাল হতে পারে যে কোনও কার্যকর সমাধানের অস্তিত্ব নেই।
j_random_hacker

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

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

... উপাদানটির খারাপতা হতে পারি, উদাহরণস্বরূপ, সমস্ত ন্যূনতম ,, দ্বিতীয় ন্যূনতম দ্বারা সম্পর্ক ছিন্ন করা, তৃতীয়-ন্যূনতম ইত্যাদি ough মোটামুটিভাবে বলতে গেলে, "সবচেয়ে খারাপ" উপাদানটি হবে এটি যে কোনও সেটকে যুক্ত করা হয়েছে তা সবচেয়ে মারাত্মকভাবে সীমাবদ্ধ করে। অনুসন্ধান গাছে গভীরতার তে প্রতিটি নোডে , আপনার একটি আংশিক সমাধান হবে যার মধ্যে প্রথম (এবং এইভাবে "সবচেয়ে খারাপ") উপাদানগুলি ইতিমধ্যে সেটগুলিতে নির্ধারিত করা হয়েছে; আপনাকে তম উপাদানটি নির্ধারণ করতে সেটগুলির মধ্যে কোনটি বেছে নিতে হবে : এটি হল আপনার পুনরাবৃত্ত কলগুলি প্রয়োজন। ("আপ" কারণ আশা করি আমাদের আছে, ...a i j j d d n ( d + 1 ) niaijjddn(d+1)n
j_random_hacker
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.