এই সমস্যাটি এনপি-হার্ড । এটি দেখানোর জন্য, আমি প্রথমে এই (অপ্টিমাইজেশন) সমস্যাটিকে সিদ্ধান্তের সমস্যায় রূপান্তর করব। তারপর, আমি একটি সমতুল্য এক, যা থেকে এটা থেকে কমানো পেতে মোটামুটি সহজ মধ্যে যে সমস্যা সূত্রবদ্ধ টk -coloring সমস্যা, যা কোন দ্বারা NP-কঠিন ট ≥ 3k≥3 ।
সমস্যার একটি সংক্ষিপ্ত গঠন নিম্নলিখিত:
প্রদত্ত এন ব্যক্তি এবং একটি গ্রাফ জি যা তাদের 'উপহার দেওয়ার' সম্পর্কগুলিকে এনকোড করে, সর্বনিম্ন পরিমাণের মতো ভ্রমণের সন্ধান করুন যাতে কোনও উপহার অবাক না করেই সমস্ত উপহার কেনা যায়।nG
তবে এটি একটি অপটিমাইজেশন সমস্যা। ক্লাস এনপি সাধারণত বর্ণনামূলক সমস্যাগুলির জন্য সংজ্ঞায়িত হয় (যেখানে প্রতিটি উদাহরণের উত্তর হয় হ্যাঁ বা না হয়)। এর একটি সিদ্ধান্ত বৈকল্পিক:
প্রদত্ত এন ব্যক্তি ও গ্রাফ জি যে এনকোড তাদের 'উপহার আদানপ্রদান' সম্পর্ক ও একটি পূর্ণসংখ্যা টি , সর্বাধিক করছে টন কোন চমকের বিনষ্টকারী ছাড়া সব উপহার কিনতে যথেষ্ট ভ্রমণের?nGtt
আমি খুঁজে বের করার সমস্যা সংজ্ঞায়িত সঠিক নির্দেশ টি -multicoloringt কিছু গ্রাফ জি = ( ভী , ই ) একটি খোঁজার যেমন মাল্টিকালার ফাংশন গ : ভী → পি ( সি ) যা সঠিক , যেখানে সি কিছু সেট টি 'রং' ( অর্থাত | সি | = T ) এবং পি ( সি ) শক্তি সেট সি (অর্থাত সব সাব-সেট নির্বাচন সেট সিG=(V,E) c:V→P(C)Ct|C|=tP(C)CC)। একটি বহুবিধ ফাংশন যথাযথ এবং যদি কেবল প্রতিটি প্রান্তের জন্য ( u → v ) ∈ E , আমাদের কাছে সেই সি ( ইউ ) ⊈ সি ( ভি ) থাকে ।(u→v)∈Ec(u)⊈c(v)
আমি দাবি করি যে শপিং ট্রিপ সমস্যাটি একই গ্রাফ এর নির্দেশিত মাল্টিকালারিংয়েরtt অস্তিত্ব সিদ্ধান্ত নেওয়ার সমস্যার সমান । জিG
প্রুফ : যদি জন্য আমাদের কাছে সঠিক নির্দেশিত মাল্টিকালারিং , যেখানে আমরা রঙগুলির নাম পরিবর্তন করি যেমন তবে ট্রিপগুলির অনুক্রম বিবেচনা করুন , যেখানে একটি শীর্ষস্থানীয় কেনাকাটা করতে যায় এবং যদি কেবলমাত্র । এর পরে, যে প্রান্ত জন্য , আমরা একটি ট্রিপ অস্তিত্ব আছে যে আছে যেমন যে এবং V ∉ টি আমি , যেহেতু গ ( U ) ⊈ গ (t গ জি সি = { 1 , … , টি } টি টি 1 , … , টি টি ভি টি আই আই ∈ সি ( ভি ) ( ইউ → ভি ) ∈ ই টি আমি ইউ ∈ টি আমিtcGC={1,…,t}tT1,…,TtvTii∈c(v)(u→v)∈ETiu ∈ Tআমিv ∉ Tআমিv ) । অতএব, ট্রিপস টি আমি সমস্ত উপহার কিনতে যথেষ্ট।সি ( ইউ ) ⊈ সি ( ভি )টিআমি
যদি আমাদের টি 1 , … , টি টি ট্রিপের ক্রম থাকে তবে রঙ সেট সি = { 1 , … , t } যেমন সি ( ইউ ) = { আই ∈ এন | তে বহু রঙের ফাংশন সি নির্মাণ করুন | তোমার দর্শন লগ করা ∈ টি আমি } । এর পরে, যে প্রান্ত জন্য ( U → বনাম ) ∈ ই , একটি ট্রিপ বিদ্যমান টি আমি যে এই ধরনের তোমার দর্শন লগ করা ∈টি1, … , টিটিগসি= { 1 , ... , T }c ( u ) = { i ∈ N | u ∈ Tআমি}( u → v ) ∈ ইটিআমিটি আই এবং ভি ∉ টি আই (যেহেতু আপনি কোনও ট্রিপে v এর জন্য একটি উপহার কিনতে পারেন), যার অর্থ i ∈ c ( u ) এবং i ∉ c ( v ) , তাই সি ( ইউ ) ⊈ সি ( ভি ) । ◻u ∈ Tআমিv ∉ Tআমিতোমার দর্শন লগ করাবনামআমি ∈ গ ( U )i ∉ c ( v )সি ( ইউ ) ⊈ সি ( ভি )□
সঠিক নির্দেশিত টি- মাল্টিকালারিং সন্ধান করা মূলত কে- কালারিংয়ের নির্দিষ্ট ক্ষেত্রে একটি অদ্ভুত সংস্কার । অতএব, আমি f f কালারিং সমস্যা থেকে বহুবর্ষ সময় হ্রাস দেখাতে পারি : একটি অনির্দেশিত গ্রাফ দেওয়া , প্রথমে এই গ্রাফটিকে রূপান্তর করুন নির্দেশিত গ্রাফ , যেমন এবং এবং কেবল যদি বা ( অন্য কথায়, আমরা ডায়ারেক্টেড এজগুলি দুটি নির্দেশিত প্রান্তে পরিবর্তন করি)।টিট( টি⌊ টি / 2 ⌋ ) জি'=(ভী',ই')জি=(ভী,ই)ভী=ভী'(তোমার দর্শন লগ করা→বনাম)∈ই(U,V)∈ই'(বনাম,U)∈ই'( টি⌊ টি / 2 ⌋)জি'= ( ভ', ই')জি = ( ভ, ই)ভী=V′(u→v)∈E(u,v)∈E′(v,u)∈E′
একটি বৃহত্তম সেট , যেমন , , যেমন । আকারের এর সমস্ত উপসেটের সেট , যেখানে, যেমন একটি সেট। অতএব, এই ধরনের একটি উপসেট সর্বোচ্চ আকার ।কে ⊂ পি ( সি ) একটি , খ ∈ কে একটি ≠ খ একটি ⊂ খ সি ⌊ টি / 2 ⌋ টি = | সি | ( টিK⊂P(C)a,b∈Ka≠ba⊂bC⌊t/2⌋t=|C|⌊ টি / 2 ⌋ )(t⌊t/2⌋)
যদি জন্য একটি উপযুক্ত মাল্টিকালারিং উপস্থিত থাকে , তবে সেখানে একটি সঠিক রঙিন উপস্থিত রয়েছে যা (*) এর অসম উপাদানগুলির চেয়ে বেশি ব্যবহার করে না , তাই এটি একটি বৈধ জন্য -coloring ।t G ( ttG⌊ টি / 2 ⌋ ) পি(সি) ( টন(t⌊t/2⌋) P(C) ⌊ টি / 2 ⌋ ) জি'(t⌊t/2⌋)G′
যদি একটি যথাযথ c -রোলিং জন্য বিদ্যমান থাকে , তবে সেখানে একটি সেট th , , যেমন এবং , কোনও exist বিদ্যমান নেই , যেমন । সুতরাং, এর সঠিক নির্দেশিত মাল্টিকালারিং রয়েছে।( টি⌊ টি / 2 ⌋ ) জি'কে⊂পি(সি)| সি| =টি| কে| ≥ ( টি(t⌊t/2⌋)G′K⊂P(C)|C|=t⌊ টি / 2 ⌋ ) একটি,খ∈কেএকটি≠খএকটি⊂খজিটি|K|≥(t⌊t/2⌋)a,b∈Ka≠ba⊂bGt
অতএব, এই থেকে একটি বৈধ বহুপদী সময় কমানো সঙ্গে উপস্থিত শপিং সমস্যার -coloring ভ্রমণের, যা বর্তমানে শপিং সমস্যা মানে দ্বারা NP-কঠিন। নোট করুন যে বর্তমান শপিংয়ের সমস্যাটি এনপি-সম্পূর্ণ, যেহেতু আমরা খুব সহজেই যাচাই করতে পারি যদি বেশিরভাগ ট্রিপের একটি প্রদত্ত তালিকা আমাদের অবাক না করে সমস্ত উপহার কিনতে দেয় to( টি⌊ টি / 2 ⌋ ) টিটি(t⌊t/2⌋)tt
(*): যদি কিছু মাল্টি-কালারিং সর্বাধিক 'নন-সাবসেট' মাল্টি-কালারিং চেয়ে বেশি রঙিন সেট ব্যবহার করে , তবে আমরা 'পুনরায় নামকরণ' যেমন করতে পারি এটি । যথাযথ থাকে, কারণ থেকে কোনও উপাদানই থেকে আলাদা উপাদানের সাথে সংযুক্ত না হওয়া একটি সমস্যা এবং রঙ- একে অপরের সাথে সংলগ্ন ছিল না in মূল । সুতরাং, সাধারণত্ব ক্ষতি ছাড়া, আমরা অনুমান করতে পারেন ।C C ∗ C C ∗ C C ∗ C ∗ C C ∗ ⊂ CCC∗CC∗CC∗C∗CC∗। সি
তারপর, নোট যে 'পুনঃনামকরনের' কোন উপসেট থেকে রঙ-সেট নোডের মধ্যে প্রান্ত নষ্ট না , যেহেতু তে এমন কোনও উপাদান নেই যা অন্যটির উপসেট হয়। কেবলমাত্র যে জিনিসটি বাকি রয়েছে তা হ'ল এবং মধ্যবর্তী প্রান্তগুলি রঙিন 'নষ্ট' না করে তা নিশ্চিত করা।C ∖ C ∗ C ∗ C ∖ C ∗ C ∗ C ∖ C ∗ C ∗C∖C*C*C∖C*C*C∖C∗C∗
নিম্নলিখিত সম্পর্ক বিবেচনা করুন রঙের-সেটে : দুই রং-সেট এবং করছে সংযুক্ত যদি এবং কেবল যদি সেখানে ছেদচিহ্ন একজোড়া বিদ্যমান যেমন যে রঙ-সেট করা আছে এবং রঙ সেট এবং । এই সম্পর্কটি অনির্দেশিত গ্রাফ দ্বারা উপস্থাপন করা যেতে পারে ।আর সি ∪ সি * একটি বি একটি , খ একটি একটি খ বি ( একটি , খ ) ∈ ই জি = ( সি ∪ সি * , আর )RC∪C∗ABa,baAbB(a,b)∈EG=(C∪C∗,R)
প্রথমত, আমরা একক রঙ-সেট দ্বারা কোনও প্রান্ত নেই এমন যে কোনও জোড়া প্রতিস্থাপন করে 'হ্রাস' করতে পারি । রঙটি যথাযথভাবে থেকে যায়, যেহেতু দুটি রঙিনেট যা একেবারে একই রঙের সাথে সংযুক্ত নয় পরিবর্তনগুলি কোনও অবৈধ প্রান্তকে প্রবর্তন করে না। ফলস্বরূপ, আমরা একটি সম্পূর্ণ গ্রাফে হ্রাস করেছি ।সি ∖ সি ∗ জি জিC∖C∗GG
এর অর্থ হ'ল যদি এর কম বা সমান পরিমাণ রঙ-সেট হিসাবে থাকে, প্রয়োজনীয় রঙ বিদ্যমান। অন্যথায়, উপযুক্ত কোনও মাল্টি-কালারিংয়ের অস্তিত্ব নেই, যেহেতু একটি বৃহত্তম 'নন-সাবসেট' সেট, তাই আমরা এই চক্রটিকে রঙ করতে পারছি না। অতএব, প্রয়োজনীয় মাল্টি-কালারিং অগত্যা উপস্থিত রয়েছে।জি | সি ∗ | সি *G|C∗|C∗
সম্পূর্ণ গ্রাফ হিসাবে নোড যদি এবং কেবল যদি আমরা অন্তত আছে রঙ-সক্ষম হয় রং, আমরা আছে মানুষ একে অপরের জন্য কেনাকাটা উপহার যেতে পারেন মধ্যে ভ্রমণের যদি এবং কেবল যদি । এর অর্থ হল বিশেষত, যদি কেবল ট্রিপ করা যথেষ্ট। যদি কিনতে কম উপহার থাকে তবে আরও বেশি ট্রিপের প্রয়োজন হবে না, সুতরাং এটি প্রতিটি সমাধানের উপর একটি সাধারণ উপরের আবদ্ধ।n কে এন এন এন টি ( টিnKnnnt⌊ টি / 2 ⌋ ) ≥এনএন≤1287016(t⌊t/2⌋)≥nn≤1287016
নীচে আমার পূর্ববর্তী 'উত্তর' দেওয়া আছে, যা একটি হিউরিস্টিক অ্যালগরিদম দেয় যা সর্বোত্তম হওয়ার গ্যারান্টি দেয় না, তবে বহুবারের মধ্যে গণনা করা যায়।
এই সমস্যাটি গঠনের আরেকটি উপায় নোডের সাথে কিছু নির্দেশিত গ্রাফ জন্য পার্টিশনগুলিতে গ্রাফের যেমন পার্টিশনের পরিমাণ (যেমন ট্রিপস), এখানে , সর্বনিম্ন।সি = { ( এস 1 , টি 1 ) , … , ( এস এম , টি এম ) } ( এস আই , টি আই ) জি এন এমC={(S1,T1),…,(Sm,Tm)}(Si,Ti)Gnm
প্রথমে কিছু পর্যবেক্ষণ, আংশিকভাবে অন্যান্য উত্তরগুলি থেকে:
- লোভী কৌশল, যেখানে আমরা একটি দ্বিপক্ষীয় গ্রাফ সহ একটি বাছাই করি যেখানে সাথে মিলিত প্রান্তের পরিমাণ সর্বাধিক হয় সেখানে অনুকূল সমাধানের দিকে পরিচালিত হয় না (একটি শক্তিশালী পাল্টা উদাহরণ নোড সহ পুরো গ্রাফ , যেখানে এই কৌশলটি ব্যর্থ হয়, সর্বাধিক দ্বিপক্ষীয় গ্রাফটি বেছে নেওয়া উচিত নয়))।( এস আই , টি আই ) জি 6(Si,Ti)G6
- লোভী কৌশলটি স্বেচ্ছাচারী অ্যাসাইক্লিক গ্রাফগুলির জন্য অনুকূল নয় , নিম্নলিখিত গ্রাফটি বিবেচনা করুন:
এবং
Both Both উভয়ের জন্য দ্বিপক্ষীয় গ্রাফটি কিনারা সরিয়ে ফেলে তবে কেবল অনুকূল।এস আমি = { 3 , 5 , 6 } S আমি = { 1 , 3 , 6 } 4 { 3 , 5 , 6 }Si={3,5,6}Si={1,3,6}4{3,5,6}
- যে কোনও (অনুকূল) লোভী অ্যালগরিদম পার্টিশনের দ্বারা চক্রের পরিমাণ ( কোনও আকারের) 'অপসারণ' পরিমাণের চেয়ে বেশি পার্টিশনের আকারকে পছন্দ করতে পারে না । এই দেখার জন্য, সঙ্গে গ্রাফ বিবেচনা নোড, যেখানে এক চক্র আছে নোড এবং চক্র প্রতিটি নোডের হয়েছে দিকে অতিরিক্ত বিদায়ী প্রান্ত অতিরিক্ত নোড , যা কোন বহির্গামী প্রান্ত আছে (জন্য নীচের চিত্রে দেখুন উদাহরণ যেখানে )। একটি লোভী পছন্দ যা দৈর্ঘ্য চক্রের উপরে প্রান্তের পরিমাণকে সর্বাধিক করতে পছন্দ করে, প্রথম ট্রিপে চক্রের সমস্ত শীর্ষকে প্রেরণ করবে। এটি সাবঅপটিমাল, কারণ এটি চক্রের কোনও প্রান্ত অপসারণ করে না এবং কেবল উপেক্ষা করেএন + 2 এন 2 2 এ , বি এন = 4 এন এ , বি এ , বিn+2n22A,Bn=4nA,Bএবং চক্র থেকে সমস্ত প্রান্ত অপসারণ করা সমস্ত প্রান্তও সরিয়ে দেয় । সুতরাং যে কোনও লোভী পছন্দ যা একটি চক্র অপসারণের চেয়ে পার্টিশনের আকারকে পছন্দ করে তা অনুকূল নয়।A,B
এই পর্যবেক্ষণের উপর ভিত্তি করে, আমি নিম্নলিখিত লোভী পছন্দ উত্থাপন করা: চয়ন করুন যেমন, যে চক্র যে পরিমাণ এই ট্রিপ থেকে 'দূর করে দেন সঙ্গে সর্বোচ্চ ওভারল্যাপ সঙ্গে একটি পার্টিশন সর্বোচ্চ এবং বন্ধন ক্ষেত্রে হয়, পছন্দ করে মধ্যে সেগুলি (যেমন চক্র নয় প্রান্তগুলি দেখুন)।( এস আই , টি আই ) জি জি(Si,Ti)GG
যেহেতু এই অ্যালগরিদমটি অ্যাসাইক্লিক গ্রাফগুলিতে 'বেসিক' লোভী কৌশল থেকে পৃথক নয় (প্রতিটি ট্রিপে সর্বাধিক পরিমাণে প্রান্তগুলি সরিয়ে ফেলছেন), তাই এই লোভী অ্যালগরিদম অনুকূল নয়। যাইহোক, চক্র অপসারণের অন্তর্দৃষ্টি এখনও বোধগম্য এবং এটি মৌলিক লোভী কৌশলটির চেয়ে উন্নতি, সুতরাং এটি একটি শালীন হিউরিস্টিক হতে পারে।