সর্বনিম্ন संचयी সেট যোগফল


17

এই সমস্যাটি বিবেচনা করুন: সসীম সেটগুলির একটি তালিকা দেওয়া হয়েছে, একটি অর্ডারিং যা ন্যূনতম করুন ।| এস 1 | + | s 1s 2 | | + | s 1s 2s 3 | + s1,s2,s3,|s1|+|s1s2|+|s1s2s3|+

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


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

আমি ইতিমধ্যে প্রমাণ লোভী অ্যালগোরিদম এন জন্য কাজ করে না 3. Counterexample: একটি = {0, 1} বি = সি = {2,3,4}। সন্তোষজনক সমাধান বি, সি, খরচ 11 সঙ্গে একটি হল, লোভী অ্যালগোরিদম খরচ 12. সঙ্গে এ, বি, সি দেয় এ পর্যন্ত সেরা আমি সঙ্গে আসা পর্যন্ত থাকেন অনুপাত সঙ্গে একটি পড়তা আলগোরিদিম n+23 , যা বেশ খারাপ।
অ্যান্টিমনি 16

একটি O(2npoly(n)) -কালীন গতিশীল প্রোগ্রাম রয়েছে, যেখানে n সেটগুলির সংখ্যা।

1
সম্ভবত এটি সিস্টেরির পক্ষে আরও উপযুক্ত।
যুবাল ফিল্মাস

5
যখন কেউ বিশেষ কেস সমাধান করতে পারে |si|=2 ?
ডোমোটরপ

উত্তর:


6

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

ন্যূনতম সংখ্যাসূচক সমস্যা থেকে প্রবণতা সীমিত সময়সূচী সমস্যা থেকে হ্রাস: প্রতিটি উপাদানের জন্য পি = 1, ডব্লু = 0. দিয়ে একটি চাকরি তৈরি করুন এছাড়াও প্রতিটি সেটের জন্য পি = 0, ডব্লু = 1 দিয়ে একটি কাজ তৈরি করুন, যেমন অগ্রাধিকারের গ্রাফ তৈরি করুন, যেমন উপাদান যদি , তারপর সামনে নির্ধারিত করতে হবে এস । আমি মনে করি শিডিউলিং সমস্যার এই বিশেষ কেসটিও এনপি-হার্ড।eSeS

নিম্নলিখিত লিঙ্কগুলি দেখুন,

1) http://www.win.tue.nl/~gwoegi/papers/precsum.pdf

2) http://web.engr.illinois.edu/~chekuri/papers/dam_sched.ps


সময়সূচী সমস্যার জন্য উন্নত সীমা, বিশেষ ক্ষেত্রে এবং কঠোরতার ফলাফলের জন্য আমি নীচের কাগজটিও সুপারিশ করব। people.idsia.ch/~monaldo/papers/MOR-schedprec-11.pdf । বনসাল এবং খোট win.tue.nl/~nikhil/pubs/focs-09-version.pdf- র অনন্য গেমগুলির বিভিন্ন রূপের অধীনে 2- \ এপসিলন কঠোরতার কাগজটিও দেখুন
চন্দ্র চেকুরি

ক্রমহ্রাসমান সমস্যাটি এনপি হার্ড বলে প্রমাণ করার জন্য কি হ্রাসকে অন্য দিকে যেতে হবে না?
এন্টিমোনি

কিছু মনে করি না, আমি মনে করি আমি কীভাবে হ্রাস উভয় পথে চলে।
এন্টিমোনি

1

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

একটি সম্পত্তি যা জিনিসগুলিকে সহজ করে তা হ'ল যদি ছেলের নীচে সেটগুলির তালিকা বন্ধ থাকে। যদি , তবে, এখানে একটি অনুকূল ক্রম রয়েছে যার মধ্যে s 1 এস 2 এর আগে আসে । আমরা ডাব্লুএইচএলজি ধরে নিতে পারি যে সর্বোত্তম ক্রম হ'ল সাবসেট অন্তর্ভুক্তি দ্বারা প্রদত্ত আংশিক ক্রমের লিনিয়ার বর্ধন।s1s2s1s2

যেহেতু কোনও সেটের সমস্ত উপসর্গ ক্রমের সামনে উপস্থিত হয়, এর অর্থ এই যে কোনও নির্দিষ্ট সেট দ্বারা চলমান যোগে যোগ করা পরিমাণ নির্ধারিত হয়, তা যেখানেই প্রদর্শিত হোক না কেন appears যদি সেট তালিকা, তারপর একটি সেটের ক্রমবর্ধমান খরচ গুলি করে s এর কোনো উপসেট যে প্রদর্শিত হবে না থাকা উপাদানের সংখ্যা এস । যদি একই সেট এস এ একাধিকবার উপস্থিত হয় , আমরা প্রথমে প্রথমে যাওয়ার জন্য নির্বিচারে একটি চয়ন করতে পারি এবং অন্যকে 0 দিতে হবে।SSS

এর অর্থ হ'ল সমস্যাটি অগ্রাধিকারের সীমাবদ্ধতার সাথে একক মেশিনের শিড্যুলিংয়ে সর্বনিম্ন ওজন সমাপ্তির সময় সমস্যার সমান। এই সমস্যা, ওজন সঙ্গে কাজ একটি সেট দেওয়া এবং বার টন , এবং কাজ উপর একটি আংশিক অর্ডার পি , আমরা কাজ একজন ক্রম যে ভরযুক্ত মোট সমাপ্তির সময় ছোট, অর্থাত্ এটি করতে ইচ্ছুকwjtjP

i=1nwji(k=1itjk)

প্রাধান্য সীমাবদ্ধতা সাপেক্ষে । ছেদকৃত বন্ধ সেটগুলির সাথে সংক্ষিপ্ত সংক্ষিপ্ত সেট সমস্যাটি প্রতিটি সেটের জন্য একটি জব তৈরি করে এটিকে রূপান্তরিত করা যেতে পারে, যেখানে প্রতিটি কাজের ওজন 1, উপরে বর্ণিত বর্ধিত ব্যয়ের সমান সময় এবং পি সাবসেট অন্তর্ভুক্তির দ্বারা প্রদত্ত আদেশ।PP

দেখা যাচ্ছে যে সাধারণ জন্যও এই সমস্যাটি এনপি-হার্ড । যাইহোক, পি এর নির্দিষ্ট কিছু বিশেষ ফর্মগুলি বহুপদী সময়ে সমাধান করা যেতে পারে।PP

এই কাগজটি সিরিজের সমান্তরাল আদেশ পি (যা গাছের গুরুত্বপূর্ণ ক্ষেত্রেও অন্তর্ভুক্ত করে ) এর ক্ষেত্রে একটি অ্যালগরিদম দেয় । দুর্ভাগ্যক্রমে, আমি সেই কাগজটি অ্যাক্সেস করতে পারিনি, তাই আমি স্বাধীনভাবে এটি পুনরুদ্ধার করার চেষ্টা করার সিদ্ধান্ত নিয়েছি। আমি যা নিয়ে এসেছি তা এখানে।O(nlogn)P

এই সমস্যাটি সমাধান করার জন্য, বেশ কয়েকটি পর্যবেক্ষণ প্রয়োজন।

প্রথমত, কোনও অগ্রগতির সীমাবদ্ধতার অভাবে, সর্বোত্তম সমাধানটি হ'ল টি জে র ক্রম অনুসারে কাজগুলি বাছাই করা simply । সরলতার জন্য, আমি এটিকে কাজের মান, সংক্ষেপিতভি(জে)হিসাবে উল্লেখ করব। মনে রাখবেন যেহেতু বাছাই করাO(nlogn), তাই এই জটিলতার চেয়ে ভাল করা অসম্ভব।tjwjv(j)O(nlogn)

রুল 1 যাক এবং কাজ যেমন যে হতে একটি < পি ও b কভার ক। যদি ভি ( ) < ভি ( বি ) হয় , তবে আমরা অনুকূল ক্রম বা উদ্দেশ্য মানকে প্রভাবিত না করেই একটি < b> সীমাবদ্ধতা ফেলে দিতে পারি ।aba<bPv(a)<v(b)a<b

ধরা যাক শিথিল সমস্যাটির সর্বোত্তম ক্রমে একটি উপস্থিত হওয়ার আগে । যেহেতু খ একটি প্রাথমিকভাবে আচ্ছাদন করেছে, এর অর্থ হ'ল নতুন ক্রমে খ এবং ক এর মধ্যে থাকা সমস্ত চাকরি a এবং b এর সাথে তুলনামূলক উপযুক্ত। তবে যেহেতু খ এর চেয়ে একটি এর চেয়ে বেশি মান রয়েছে, তাই আমরা বি ও এ, বৈপরীত্যের অদলবদলের মাধ্যমে উদ্দেশ্য মানকে হ্রাস করতে পারি।ba

তেমনি, আমরা ক্ষেত্রে সীমাবদ্ধতা বাদ দিতে পারি যতক্ষণ না আমরা নিশ্চিত করি যে যতক্ষণ মান অনুসারে বাছাই করার পরে, আমরা মূল (সরল) সমস্যার অগ্রাধিকারের সম্পর্কের সাথে পরামর্শ করে বন্ধনগুলি ভেঙে ফেলি। এটি নিশ্চিত করে যে শিথিল সমস্যার জন্য পাওয়া সর্বোত্তম সমাধানটিও মূল সমস্যার সর্বোত্তম সমাধান।v(a)=v(b)

অতএব, যখনই খ a এবং কভার করে , আমরা একটি < b> সীমাবদ্ধতা ফেলে সমস্যাটিকে সহজ করতে পারি ।v(a)v(b)a<b

বিধি 2 মনে করুন যে আমরা জানি যে খ একটি অনুকূল সমাধানের সাথে সাথে অনুসরণ করে। আমরা a ও b দিয়ে একটি নতুন নোড গ মধ্যে একত্রীকরণ করতে এবং টি = T একটি + + T , যখন poset চুক্তিবদ্ধ পি উপযুক্তভাবে।wc=wa+wbtc=ta+tbP

নতুন সমস্যার সর্বোত্তম উদ্দেশ্য মানটি মূল অবজেক্ট মান থেকে একটি ধ্রুবক দ্বারা পৃথক হয় (বিশেষত ) তবে এই ধ্রুবকটি অর্ডিংয়ের উপর নির্ভর করে না এবং তাই সর্বোত্তম অর্ডারিং প্রভাবিত হয় না। আমরা নতুন সমস্যার কোনো সন্তোষজনক সমাধান গ্রহণ এবং প্রতিস্থাপন পুরাতন সমস্যার কোনো সন্তোষজনক সমাধান পুনরুদ্ধার করতে পারেন সঙ্গে একটি watbcab

বিধি 3 ধরুন যে সমস্যার উদাহরণের সর্বোত্তম সমাধানে, এবং ভি ( ) > ভি ( বি ) এর আগেই আসে । এখন ধরা যাক আমরা সিরিজের সাথে সমান্তরাল রচনা বা সমান্তরাল রচনা দিয়ে তৈরি নতুন পোসেটের সাথে নতুন কাজ যুক্ত করে একটি বৃহত্তর সমস্যা উদাহরণ তৈরি করি। সবসময় বড় সমস্যা যেখানে একটি সন্তোষজনক সমাধান হবে একটি সামনে অবিলম্বে আসে abv(a)>v(b)ab

Suppose otherwise. Let the optimal solution contain a,x1,x2,,b. Since P was formed by series parallel composition, we know that all xis are incomparable to a and b. Merge all the xi nodes into a new node x using rule 2. Now consider v(x). If v(x)v(a) then we can swap x and a without increasing objective value. Likewise, if v(x)v(b), we can swap x and b. Therefore, v(a)<v(x)<v(b). But v(a)>v(b), a contradiction.

Using rule 2 and rule 3, we can already get a simple but suboptimal O(n2) algorithm. Since P is a series parallel order, assume the input contains a tree representation of P where each node represents series composition or parallel composition, and the leaves are individual jobs. We can find an optimal solution with preorder traversal of the tree by maintaining the invariant that the optimal solution to each subproblem is a chain in increasing value order.

Suppose P is the series composition of subproblems with posets P1 and P2. Let the optimal solutions be ordering C1 and C2. The optimal solution to P is clearly the concatenation of these chains. However, it is possible that the first job in C2 has lower value than the last job in C1. In order to maintain the invariant that the solution is a sorted chain, we use rule 3 + rule 2 to merge the endpoints as long as they aren't in sorted order.

If P is instead a parallel composition, we simply take the sorted chains S1 and S2 and merge them into a new sorted chain. Thanks to the invariant, this is valid.

Unfortunately, this algorithm is O(n2). In order to get an O(nlogn) algorithm, we need to compute the chains lazily using rule 1.

Specifically, if a subproblem contains only nodes where the precedence constraints are the same as the order of values, then we can forget the precedence constraints completely and only look at the values. This is ensured by the same invariant that ensured the solutions are sorted chains in the previous algorithm.

Instead of computing a sorted chain for each subproblem, we represent the optimal solution to a subproblem as a pair of Fibonacci heaps, one a min heap, and one a max heap, both containing all the jobs in the subproblem. This means that we can pop off the minimum or maximum element of the solution in logarithmic time.

As before, we do a preorder traversal. Where P is a series composition, we examine the maximum job of the first heap pair and the minimum job of the second heap pair. If their values are out of order, we pop them off and merge them using rule 2 and 3. Then we compare the newly created job to the new endpoints and continue popping and merging as long as they are out of order. Once the endpoints no longer have out of order values, we can safely forget the series precedence restriction thanks to rule 1. Then we just push the newly created jobs if any onto a heap, then merge the heaps to create the heap pair representing the solution to P itself.

একটি সমান্তরাল রচনার জন্য, আমরা কেবল হিপ জোড়গুলিকে একত্রিত করি। নতুন মিনি হিপ হ'ল প্রতিটি সাব-প্রব্লেম থেকে মিনি হ্যাপের একত্রীকরণ এবং তেমনিভাবে সর্বোচ্চ গাদা দিয়ে ap নোট করুন যে ফিবোনাচি হ্যাপগুলি স্থির সময়ে মার্জ হয়।

একবার আমাদের কাছে একটি হিপ জুটি পুরো সমস্যার সমাধান উপস্থাপন করার পরে, আমরা নূন্যতম হিপটি খালি না করে পপিং করে আসল সমাধান ক্রমটি পেতে পারি। এর পরে আমরা আসল সমস্যার সমাধান পেতে সমস্ত নিয়ম 2 বিকল্পগুলি পূর্বাবস্থায় ফিরিয়ে আনি।

O(nlogn)

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