ন্যূনতম পদক্ষেপের সাথে বিনগুলি পূরণ করা কি এনপি-হার্ড?


33

আছে bins এবং বল প্রকার। তম বিন লেবেল হয়েছে জন্য , এটা ধরনের বাজে কথা প্রত্যাশিত নম্বর nmiai,j1jmj

আপনি bj বলের সাথে শুরু করেন jj টাইপের প্রতিটি বলের ওজন wj এবং বলগুলিকে এমনভাবে বিনের মধ্যে রাখতে চান যাতে i ওজন ci । আগের শর্তটি এমন বলগুলির বিতরণকে একটি সম্ভাব্য সমাধান বলে।

সঙ্গে একটি সম্ভবপর সমাধান বিবেচনা xi,j ধরনের বাজে কথা j বিন মধ্যে i , তারপর খরচ i=1nj=1m|ai,jxi,j|। আমরা একটি সর্বনিম্ন ব্যয়ের সম্ভাব্য সমাধান খুঁজে পেতে চাই।

যদি সেখানে কোন সীমাবদ্ধতা নেই এই সমস্যা পরিষ্কারভাবে দ্বারা NP-কঠিন {wj} । উপসেট যোগ সমস্যাটি একটি সম্ভাব্য সমাধানের অস্তিত্বকে হ্রাস করে।

তবে, আমরা যদি এই শর্তটি যুক্ত করি যে wj প্রতিটি জেতে ডাব্লু_ wj+1ides বিভক্ত করে , তবে সাবসেটের যোগফলটি আর কাজ করে না, ফলে ফলাফলটি এনপি-হার্ড থেকে যায় কিনা তা স্পষ্ট নয়। একটি সম্ভাব্য সমাধানের অস্তিত্বের জন্য অনুসন্ধান করতে কেবল ও (এন \, এম) সময় লাগে ( প্রশ্নের শেষে সংযুক্ত), তবে এটি আমাদের ন্যূনতম-ব্যয়ের সম্ভাব্য সমাধান দেয় না solutionjO(nm)

সমস্যাটির সমতুল্য সংখ্যার প্রোগ্রাম গঠন রয়েছে। প্রদত্ত জন্য 1 \ LEQ আমি \ LEQ এন, 1 \ LEQ ঞ \ LEQ মি : \ শুরু {সারিবদ্ধ *} \ টেক্সট {ছোট করুন:} এবং \ sum_ {i = 1} ^ n \ যোগ_ {জ = 1} ^ এম | আ_ {আই, জে} -x_ {i, জে} | \ \ পাঠ্য to সাপেক্ষে:} & \ যোগ_ {জ = 1} ^ এম x_ {i, জে} ডাব্লু_জ = সি_আই \ পাঠ্য all সমস্ত} 1 \ লেক আই q লেক এন \\ & \ যোগ_ {i = 1 } ^ n x_ {i, j} q লেক বি_জে \ পাঠ্য {সকলের জন্য} 1 \ লেক জে q লেক এম \\ এবং x_ {i, জে} \ গিগ 0 \ পাঠ্য {সকল} 1 \ লেক আই q লেক এন , 1 \ লেক জে \ লেক এম \\ \ শেষ {প্রান্তিককরণ *}ai,j,ci,bj,wj1in,1jm

Minimize:i=1nj=1m|ai,jxi,j|subject to:j=1mxi,jwj=ci for all 1ini=1nxi,jbj for all 1jmxi,j0 for all 1in,1jm

আমার প্রশ্ন হ'ল,

উপরোক্ত পূর্ণসংখ্যা প্রোগ্রামটি কি এনপি-হার্ড থাকে যখন wj সমস্ত জে জন্য wj+1 ভাগ করে দেয় ?j

O(nm) সময়ে কোনও সম্ভাব্য সমাধান আছে কিনা তা সিদ্ধান্ত নেওয়ার জন্য একটি অ্যালগরিদম :

নির্ধারণ wm+1=wm(maxjcj+1) এবং dj=wj+1/wj । যাক a%b remainer হতে যখন a দ্বারা ভাগ করা হয় b

  1. যদি এমন কোনও ci উপস্থিত থাকে যা ডাব্লু_1 দ্বারা বিভাজ্য নয় , তবে "কোনও সম্ভাব্য সমাধান নেই" ফিরে w1 । ( ci বিভক্ত wj সর্বদা নিম্নলিখিত লুপে বজায় থাকবে)
  2. জন্য j থেকে 1 থেকে m :

    1. ki=1n(ci/wj)%dj । (ওজন সর্বনিম্ন বলেরwj প্রয়োজন)
    2. যদি bj<k , "সম্ভাব্য সমাধান নেই" ফিরে আসুন
    3. cici((ci/wj)%dj) সকলের জন্য । (ওজন এর প্রয়োজনীয় ন্যূনতম সংখ্যা সরিয়ে ফেলুন )iwj
    4. bj+1(bjk)/dj । (একটি বৃহত্তর বল মধ্যে ছোট বল গ্রুপ)
  3. "একটি সম্ভাব্য সমাধান আছে" ফিরে।

এবং এর শক্তি বিশেষ ক্ষেত্রে একটি বহুপদী সময় সমাধানn=1wj2

এটি জানা যায় যে যদি এবং সমস্ত এর শক্তি হয় তবে এই বিশেষ বহুপদী সময়ে সমাধান করা যেতে পারে। n=1wj2

Minimize:j=1m|ajxj|subject to:j=1mwjxj=c0xjbj for all 1jm

সমাধানটি ইযুউ গু দ্বারা ইঙ্গিত করা হয়েছিল এবং একটি লিখন আপ এখানে পাওয়া যেতে পারে ।

উত্তর:


0

কিছু পটভূমি। উপরের সমস্যাটি সীমাবদ্ধতার সাথে ন্যাপস্যাকের সমস্যা। সীমাবদ্ধতা ছাড়াই বা ছাড়াই সর্বাধিক দক্ষ ন্যাপস্যাক সমস্যার সমাধান সিউডোপলিনোমিয়াল সময়ে সমাধান করা যায়, এখনও এনপি-হার্ড। কিছু পরিবর্তনের জন্য https://en.wikedia.org/wiki/Knapsack_problem# ডেফিনিশন দেখুন। এই প্রকরণের প্রথম সীমাবদ্ধতা হ'ল ন্যাপস্যাক (বিনগুলি) স্থাপন করার জন্য আইটেমগুলির (বল) মানটি কিছু যায় আসে না। সমস্যাটি তখন ন্যাপস্যাকের মধ্যে আইটেমগুলি রাখতে যে পরিমাণ সময় লাগে তা সীমাবদ্ধ থাকে। আসল সমস্যাটির জন্য সর্বাধিক মূল্যবান আইটেমগুলি যতটা সম্ভব অল্প সময়ের মধ্যে রাখা দরকার। এই সংস্করণটির সাথে আর একটি বিধিনিষেধ হ'ল ওজন এবং অন্যান্য সমস্ত যুক্তি পূর্ণসংখ্যা। এবং আগ্রহের সীমাবদ্ধতাওজনwjসমস্ত জন্য divide ভাগ করুন । দ্রষ্টব্য: ভগ্নাংশ ন্যাপস্যাক সমস্যা বহুপদী সময়ে সমাধান করা যেতে পারে, তবে মূল সমস্যার সবচেয়ে কার্যকর সমাধান উপস্থাপন করে না। এই সমস্যাটি পূর্ণসংখ্যার ব্যবহার করে যা সমানভাবে বিভক্ত হয় (কোনও যৌক্তিক সমাধান নেই)। সম্ভবত দেখুন ন্যাপস্যাক সমস্যাটির সাথে বড় চুক্তিটি কী? wj+1j

সম্ভবত প্রধান প্রশ্নটি হওয়া উচিত "এই সমস্যাটি কি এখনও এনপি-হার্ড হওয়া উচিত যখন সাথে সম্পর্কিত একটি বহুবচন দ্বারা হয় কারণ এটি যখন আবদ্ধ থাকে তখন সমস্যাটি কম জটিল ( ) হয়? কারণ আমি এটি বলার কারণ কারণ সমস্যাটি পারে যখন পি হতে প্রদর্শন করা বেষ্টিত এবং দ্বারা NP-কঠিন যখন অগত্যা ভাগ নেইwjiwjwjwj+1সমানভাবে (ওজনগুলি কেবল এলোমেলোভাবে), সমস্ত বিধিনিষেধ এই দুটি জটিল অবস্থার মধ্যে এই সমস্যার জটিলতা সীমাবদ্ধ করে। এই শর্তগুলি (১. আইটেম-মান সীমাবদ্ধতা ছাড়াই এলোমেলো ওজন ন্যাপস্যাক সমস্যা এবং আইটেম-মান সীমাবদ্ধতা ছাড়াই বিভাজনযোগ্য ওজন ন্যাপস্যাক সমস্যা) জটিলতা হ্রাস করার ক্ষেত্রে একে অপরকে উপেক্ষা করুন, কারণ ওজনের অংশের অংশটি এলোমেলো হতে পারে ( বিশেষত যখন আনবাউন্ডেড না হয়), তেমনি ঘনঘনকারী সময় গণনার চাপিয়ে দেওয়া (এটি নীচের উদাহরণে প্রদর্শিত হবে)। অতিরিক্তভাবে, যেহেতু বিভক্ত করে , প্রতিটি জন্য আকারে বৃদ্ধি পায়wjwj+1wjj। কারণ এলোমেলো ওজনযুক্ত আইটেমগুলি (বলগুলির ইউনিট ওজন সবগুলি 100 বা 50 বা 10 কম ইউনিট ওজনের মধ্যে সীমাবদ্ধ থাকতে পারে) ব্যবহার না করে, সীমাবদ্ধতার পরিবর্তে সময়ের জটিলতা সংখ্যার উপর নির্ভর করে , একই হিসাবে ট্রায়াল বিভাগ, যা তাত্পর্যপূর্ণ।wj

তাই হ্যাঁ, উপরে পূর্ণসংখ্যা প্রোগ্রাম দ্বারা NP-হার্ড রয়ে এমনকি যখন ভাগ সকলের জন্য । wjwj+1j এবং এটি সহজেই লক্ষ করা যায়।

উদাহরণ 1: আসুনএবংশক্তি হতে পারে। ধ্রুবক দুটির কারণে, পুরো উদাহরণটি চতুর্ভুজ সময়ে সমাধান করা হবে, যেমন আপনার উদাহরণ দেখায়। ওজন এলোমেলো নয় এবং তাই গণনাটি দক্ষতার সাথে সমাধান করা হয়।n=1wp

উদাহরণ 2: আসুনহিসাবে সংজ্ঞায়িত, যেখানেহলসাথে সম্পর্কিত মূল সংখ্যা, যেমন। এটি প্রযোজ্য, যেহেতুসমস্তজন্যভাগ করে। আমরা একে পেতেপর্যন্ত সব মৌলিক সংখ্যার পণ্য। ইউনিট ওজন মান যেমন বৃদ্ধি:। যেহেতু একটি সীমাবদ্ধ রয়েছে (~wj+1wjppjp=2,j=1:p=3,j=2,p=5,j=3,p=7,j=4,...,P,Jwjwj+1jwjj1,2,6,30,210,2310,30030,...pjjlog(j)মূল সংখ্যাটির উপপাদ্যটির মাধ্যমে), ভাগফলগুলি সমস্ত প্রাইম হওয়ায় আমরা জটিলতা এনপি-ইন্টারমিডিয়েট পাই।

উদাহরণস্বরূপ 3: আসুনহিসাবে সংজ্ঞায়িত করা, যেখানেদুটি থেকে অনন্তের এলোমেলোভাবে নির্বাচিত প্রধান সংখ্যা,। এটি এই সমস্যার ক্ষেত্রে প্রযোজ্য, যেহেতুসমস্তজন্যভাগ করে। হিসাবে আমরা প্রথম 5 কোটিটিয়াস (এলোমেলোভাবে দুটি থেকে অনন্ত হয়ে পড়ছি) পাই। আমরা দেখতে পাচ্ছি যে 5 তম বলের ওজনেরও এগারটি সংখ্যা রয়েছে। ভাগ্যক্রমে, পঞ্চম ভাগ দুটি ছিল এবংবা এর চেয়ে বড়ক্রমের প্রধান নয়। wj+1wjRpRpjwjwj+1j101,2657,7,3169,210100

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


1
তবে প্রধান উপাদানকে এনপি-হার্ড হিসাবে বিবেচনা করা হয় না। এটি এনপি-ইন্ডিরিমেড হিসাবে বিবেচিত হয়।
rus9384

2
আমি এখানে কোনও হ্রাস দেখছি না। আসল হ্রাস কি? প্রাইম ফ্যাক্টেরাইজেশনের ইনপুট নেওয়া, এবং কোনওভাবে পূর্ণসংখ্যার প্রোগ্রামটির সমাধান ব্যবহার করে ফ্যাক্টরাইজেশন আউটপুট করা হয়।
চাও Xu

2
আপনি কি "উপরের পূর্ণসংখ্যা প্রোগ্রামটি এনপি-হার্ড" বলতে চান? একটি পৃথক প্রোগ্রাম এনপি-হার্ড হতে পারে না।
যুবাল ফিল্মাস

1
প্রকৃতপক্ষে প্রাথমিক গুণাবলী । সুতরাং, এটি এন পি- হার্ড যদি এন পি = সি এন পিNPcoNPNPNP=coNP
rus9384

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