হয়তো এটি বেশ সহজ তবে এই হ্রাস পেতে আমার কিছুটা সমস্যা আছে। আমি কমাতে চান উপসেট যোগফল থেকে দেশভাগের কিন্তু এই সময়ে আমি সম্পর্ক মনে হল না!
লেভিন হ্রাস ব্যবহার করে কি এই সমস্যাটি হ্রাস করা সম্ভব?
বুঝতে না পারলে স্পষ্টতার জন্য লিখুন!
হয়তো এটি বেশ সহজ তবে এই হ্রাস পেতে আমার কিছুটা সমস্যা আছে। আমি কমাতে চান উপসেট যোগফল থেকে দেশভাগের কিন্তু এই সময়ে আমি সম্পর্ক মনে হল না!
লেভিন হ্রাস ব্যবহার করে কি এই সমস্যাটি হ্রাস করা সম্ভব?
বুঝতে না পারলে স্পষ্টতার জন্য লিখুন!
উত্তর:
আসুন উপসেটের যোগফলের একটি উদাহরণ হতে হবে, যেখানে এল সংখ্যার একটি তালিকা (মাল্টিসেট), এবং বি লক্ষ্যফলের যোগফল। যাক এস = Σ এল । যাক এল ' যোগ করে গঠিত তালিকা হতে এস + + বি , 2 এস - বি থেকে এল ।
(1) যদি একটি sublist হয় করার সামিং বি , তারপর এল ' দুটি সমান ভাগে বিভক্ত করা যেতে পারে: এম ∪ { 2 এস - বি } এবং এল ∖ এম ∪ { এস + + বি } । প্রকৃতপক্ষে, এর প্রথম অংশ অঙ্কের বি + + ( 2 এস - বি ) = 2 এস , আর দ্বিতীয় ( এস - বি ) + + ( এস + + বি ।
(2) যদি দুটি সমান ভাগে বিভক্ত করা যেতে পারে পি 1 , পি 2 , তারপর সেখানে একটি sublist হয় এল করার summing বি । প্রকৃতপক্ষে, ( এস + বি ) + ( ২ এস - বি ) = ৩ এস এবং প্রতিটি অংশের পরিমাণ 2 এস হয় , তাই দুটি উপাদান বিভিন্ন অংশের অন্তর্ভুক্ত। সাধারণতার ক্ষতি ছাড়াই, 2 এস - বি ∈ পি 1 । পি 1 এর বাকি উপাদানগুলি অন্তর্ভুক্ত এবং সমষ্টি খ ।
@ ইউভাল ফিল্মাস দ্বারা উল্লিখিত উত্তরটি ভুল (কোনও নেতিবাচক পূর্ণসংখ্যা না থাকলে এটি কেবল সঠিক)। নিম্নলিখিত মাল্টিসেট বিবেচনা করুন:
এবং লক্ষ্য যোগফল । আমরা জানি যে কোনও উপসেট নেই। এখন, আমরা পার্টিশন সমস্যার জন্য উদাহরণটি তৈরি করি। যুক্ত হওয়া দুটি নতুন উপাদান হ'ল 2 σ - t = 12 এবং σ + t = 3 । মাল্টিসেটটি এখন: { - 5 , 2 , 2 , 2 , 2 , 2 , 3 , 12 } এবং মোট যোগফল 20 হয় ।
পার্টিশন সমস্যাটি সাবসেটটি giving দিয়ে উত্তরটি সমাধান করে } এখানে, 2 টি নতুন উপাদান একই উপসেটে রয়েছে (অর্ধের যোগফলের বিভাজনের কোনও উপায় নেই)। সুতরাং, এটি একটি পাল্টা উদাহরণ। সঠিক উত্তরটি নিম্নরূপ:
একটি উপাদান যার মান যোগ করুন । মাল্টিসেটের মোট যোগফল এখন 2 টি । পার্টিশন সমস্যা যা সমষ্টি 2 সাব-সেট নির্বাচন দিতে হবে সমাধান টন । পার্টিশনের একটিতে নতুন উপাদান থাকবে। আমরা অন্য পার্টিশনটি নির্বাচন করি যার সমষ্টি টি এবং আমরা এটি একটি পার্টিশনের সমস্যায় হ্রাস করে সাবসেট সমস্যা সমাধান করেছি। লিঙ্কটি এটিই ব্যাখ্যা করে।
এখানে একটি সহজ প্রমাণ:
এটি দেখতে সহজ যে সেট-পার্টিশনটি বহুবর্ষের সময় যাচাই করা যেতে পারে; পার্টিশন কেবল দুটি সংখ্যার সমষ্টি করে তা যাচাই করুন যে তাদের যোগফলগুলি একে অপরের সমান, যা স্পষ্টতই বহুবচনীয় সময় যাচাইকরণ (কারণ সংক্ষেপণ একটি বহুপদী ক্রিয়াকলাপ এবং আমরা কেবলমাত্র সর্বাধিক বহু সংক্ষেপণ সম্পাদন করছি )।
প্রমাণের মূলটি হ'ল SUBSETSUM কে পার্টিশনে হ্রাস করা; যে শেষে দেওয়া সেটে এবং একটি মান (উপসেট সমষ্টি ক্যোয়ারী) আমরা একটি নতুন সেট গঠন যেখানে । এটি হ্রাস হচ্ছে তা দেখতে:
() ধরে নিন যে এখানে কিছু রয়েছে যা পরে আমাদের সেই
() ধরুন একটি পার্টিশন নেই এর যেমন যে । লক্ষ্য করুন যে, এই সংঘটিত একটি প্রাকৃতিক পার্টিশন এবং এর যেমন যে WLOG আমরা আছে
Hence from a solution we can form a parition , and conversely from a partition we can form a soltuion and therefore the mapping is a reduction (because is in the language/set SUBSETSUM is in the language/set PARTITION) and it is clear to see that the transformation was done in polynomial time.
Subset Sum:
Input: {a1,a2,...,am} s.t M={1..m} and ai are non negative integer and S⊆{1..k} and Σai(i∈S) = t
Partition:
Input: {a1,a2,...,am} and S⊆ {1,· · ·,m} s.t Σai(i∈S) = Σaj(j∉S)
Partition Np Proof: if prover provides a partitions(P1,P2) for verifier, verifier can easily calculate the sum of P1 and P2 and check if the result is 0 in linear time.
NP_Hard: SubsetSum ≤p PARTITION
Let x be input of SubsetSum and x=〈a1,a2,...,am,t〉 and Σai(i from 1 to m) = a
Case1: 2t >= a:
Let f(x)=〈a1,a2,...,am,am+1〉 where am+1= 2t−a
We want to show that x∈SubsetSum ⇔ f(x)∈PARTITION
so there exist S⊆ {1,...,m} s.t T = {1..m} - S and Σai(i∈T) = a-t
and Let T' = {1...m,m+1} - S so Σaj(j∈T') = a-t+2t-a = t
which is exactly Σai(i∈S)= t and it shows f(x)∈PARTITION
now We also will show that f(x)∈PARTITION ⇔ x∈SubsetSum
so there exist S⊆ {1,...,m,m+1} s.t T = {1,...,m,m+1} - S and Σai (i∈T)= [a+(2t-a)-t]=t
and it shows Σai(i∈T) = Σaj(j∈S) so m+1∈T and S⊆ {1,· · ·,m} and Σai(i∈S)= t
so x∈SubsetSum
Case 2: 2t =< a :
we can check same but just this time am+1 is a−2t
this link has a good description of both reductions, partition to subset-sum and subset-sum to partition. I think it is more obvious than YUVAL's answer. useful link