সাবসেট যোগফল: সাধারণ ক্ষেত্রে বিশেষ হ্রাস করুন


20

উইকিপিডিয়ায় সাবসেটের সমষ্টি সমস্যাটিকে একটি প্রদত্ত বহুসংখ্যক পূর্ণসংখ্যার উপসেট সন্ধান করে বলে, যার যোগফল শূন্য। উপরন্তু এটি বলে যে, এটি যোগ সঙ্গে একটি উপসেট খোঁজার সমতূল্য কোন দেওয়া ।ss

সুতরাং আমি বিশ্বাস করি যেহেতু তারা সমতুল্য, উভয় পক্ষের অবশ্যই হ্রাস থাকতে হবে। থেকে এক শুন্যতে সেটিংস এর দ্বারা তুচ্ছ হয় । কিন্তু আমি শূন্য থেকে কমানো খোঁজার কোন ভাগ্য ছিল , IE পূর্ণসংখ্যার একটি সেট দেওয়া ইন্টিজার একটি সেট গঠন করা সমষ্টি সঙ্গে একটি উপসেট ধারণকারী (যে কোন জন্য ), যদি এবং কেবল আছে এর উপসেট যেন সঙ্গে সমষ্টি শূন্য।ss=0sABssA

আপনি আমাকে কিছু পয়েন্টার দিতে পারেন?

উত্তর:


11

আপনার কাছে ইতিমধ্যে বিশেষ থেকে সাধারণের হ্রাস রয়েছে। সেট করে আপনি মূলত বিশেষ সমস্যাটি সমাধান করতে সাধারণ অ্যালগরিদম ব্যবহার করছেন।s=0

অন্যভাবে রাউন্ডের জন্য (যেমন সাধারণ থেকে বিশেষে হ্রাস):

ধরুন আপনাকে একটি সেট এবং একটি নম্বর এবং আপনাকে নির্ধারণ করতে হবে যে কোনও উপসেট আছে যা ।S={x1,,xn}KSK

এখন আপনি এই সমস্যার সমাধান করতে চান, এমন ক্ষেত্রে একটি অ্যালগরিদম দেওয়া হয়েছে যেখানে আপনি নির্ধারণ করতে পারেন যে কোনও উপসেটের যোগফল ।0

এখন যদি : আমরা একটি সহজ হ্রাস আছে ।xi>0S={x1,x2,,xn,K}

0 এস কেS এর যোগফল এর একটি উপসেট রয়েছে যদি এর যোগফল এর একটি উপসেট থাকে ।0SK

সমস্যাটি দেখা দেয় যখন আমরা কয়েকটি এর জন্য ।xi0i

আমরা ধরে নিতে পারি (কেন?)।K>0

ধরুন ইতিবাচক এর সমষ্টি হয় ও নেতিবাচক হয় । P x i NxiPxiN

এখন একটি নতুন সেট গঠন করা যেমন যেS={y1,y2,yn}

M = P + | | এন | + কেyi=xi+M যেখানে ।M=P+|N|+K

প্রতিটি ।yi>0

এখন সেটগুলিতে শূন্য-সাবসেট-যোগ অ্যালগরিদম চালান

S{(K+M)}

S{(K+2M)}

S{(K+3M)}

S{(K+nM)}

এটা যে যদি দেখানোর জন্য সহজ সমষ্টি একটি উপসেট রয়েছে , তারপর অন্তত উপরে সেট এক সমষ্টি শূন্য এর উপসেট হয়েছে।কেSK

আমি অন্য দিকের প্রমাণটি আপনার কাছে রেখে দেব।


আপনাকে অনেক ধন্যবাদ. আমি অবাক হই, এমন কোনও হ্রাস আছে যা 0-সাবসেট-যোগের উদাহরণকে কে-সাবসেট-যোগফলের ( পরিবর্তে ) রূপান্তর করে ? n
ipsec

@ipsec: আপনি কে-সাবসেট-যোগের উদাহরণকে 0-উপসেট-যোগে রূপান্তর করতে চান? সম্ভবত উপরের সেটগুলির ইউনিয়ন গ্রহণ কাজ করবে। n
আর্যভাটা

ঠিক আছে, আমি এখন দু'বার ভাবছিলাম আমি এখনই কড়া দিকটি পেয়েছি কিনা। আমি যখন দেখাতে চাই যে কে-সাবসেট-যোগফল প্রতিটি কে-এর পক্ষে এনপি-হার্ড, 0-সাবসেট-যোগফল এনপি-হার্ড, আমি 0-সাবসেট-যোগ থেকে কে-উপসেট-যোগে হ্রাস ব্যবহার করতে পারি , যার জন্য আমার কোনও 0-দৃষ্টিকোণ থেকে কে-দৃষ্টান্তে বহু-সময়ের রূপান্তর দরকার। তবে আমি এখনই নিশ্চিত নই যে আমি আমার প্রশ্নে যা বললাম তা আসলে এটি।
আইপিস্ক

@ipsec: আপনি যখন বলতে সেট , আপনি দ্বারা NP-দৃঢ়তা দেখানোর বিষয়টি -subset-সমষ্টি শূন্য উপসেট-সমষ্টি দ্বারা NP-দৃঢ়তা দেওয়া: সাধারণ সমস্যা বিশেষ সমস্যা হিসাবে হার্ড হিসাবে অন্তত নেই। দ্রষ্টব্য যে হ্রাস শর্তাবলী, আপনি বলেছেন যে আপনি -সাবসেট- যোগে শূন্য-উপসেট-যোগফলকে হ্রাস করেছেন । এছাড়াও, খেয়াল করুন যে একটি ইনপুট । আপনি যখন "প্রতিটি প্রদত্ত " সম্পর্কে কথা বলছেন তখন আপনার সঠিক অর্থ কী? উপরের উত্তরটি দেখায় যে বিশেষ ক্ষেত্রে (শূন্য-সাবসেট-যোগ) সাধারণ ক্ষেত্রে ( -সুবসেট-যোগ, যেখানে একটি ইনপুট) হিসাবে কঠোর (এনপি-কঠোরতা অর্থে) is কে কে কে কে s=0KKKKkk
আর্যভট্ট

কিছু মনে করো না. আমি মূলত যা ভাবছিলাম তা হ'ল, যদি আমরা জানি যে 0-সাবসেট-যোগফল এনপি-হার্ড হয় তবে আমরা কি আবিষ্কার করতে পারি, যেমন 1-সাবসেট-যোগটিও কি? উইকিপিডিয়া তাই বলে, তবে আমি একটি সঠিক হ্রাস খুঁজছিলাম। তবে আমি এখন দেখছি যে আমার শব্দটি পুরোপুরি গণ্ডগোল হয়েছে এবং আমি আসলে বিপরীতটি জিজ্ঞাসা করছি। যাইহোক আপনি যে কোনও কে-সাবসেট-সমষ্টি উদাহরণ থেকে কোনও প্রদত্ত পূর্ণসংখ্যার কে এবং এল এর জন্য এল-সাবসেট-সমষ্টি উদাহরণে হ্রাস করার জন্য আমাকে যথেষ্ট ইনপুট দিয়েছেন, তাই আমার সমস্যা এখনও সমাধান হয়েছে।
ipsec

0

আর্যভট্টের উত্তরটি সঠিকভাবে ব্যবহার করে স্থির করা যেতে পারে যে আমরা কয়েকটি বৃহত দ্বারা সমস্ত সংখ্যাকে গুণিত করতে পারি , এবং তারপরে "উপস্থিতি ট্যাগ" এর মতো কাজ করার জন্য প্রত্যেককে ছোট কিছু যোগ করতে পারি, এবং তারপরে কিছু অতিরিক্ত সংখ্যা সরবরাহ করি যা অনুমতি দেয় আমাদের যদি শূন্যে পৌঁছে যায় তবে আমরা যদি ছাড়াই পেতে পারি। বিশেষত, আমরা উপস্থিতি ট্যাগ হিসাবে এবং 1 ব্যবহার করব ।cসি কে সি = 2 ( এন + 1 )cKc=2(n+1)

লক্ষ্য মান সহ সাধারণ সমস্যার একটি উদাহরণ , আমরা নির্দিষ্ট সমস্যার (টার্গেট মান 0 সহ) একটি উদাহরণ তৈরি করব যা এতে রয়েছে:(S={x1,,xn},K)K

  • Y={y1,,yn} , যেখানে ।yi=2(n+1)xi+1
  • সংখ্যাটি ।z=2K(n+1)n
  • n1"টান আপ" নাম্বার হিসাবে উল্লেখ করা 1 নম্বর, অনুলিপি।

আমি ধরে নিব আর্যভট্ট যেমন করেন যে ইতিবাচক। (যেহেতু এটি years বছর হয়ে গেছে, আমি তার অনুশীলনটির পাঠকের জন্য জবাব দেব: আমরা এটি করতে পারার কারণটি হ'ল আমরা যদি সহ সাধারণ সমস্যার কোনও পরিস্থিতিতে সমস্ত সংখ্যার লক্ষণগুলি অদলবদল করি তবে আমরা একটিটি দিয়ে বাছাই করব) নতুন, সমতুল্য সমস্যা উদাহরণস্বরূপ: এর অর্থ হ'ল ধনাত্মক- সমাধান করার জন্য একটি অ্যালগরিদম কোনও সমস্যা সমাধানের জন্য যথেষ্ট - নেতিবাচক দিয়ে একটি দৃষ্টান্ত সমাধান করার জন্য , আমরা এই সাইন-অদলব সম্পাদন করতে পারি, সেই অ্যালগরিদমটি চালাতে পারি এবং তার উত্তরটি যেমন এগিয়ে পাঠাতে পারি মূল প্রশ্নের উত্তর। এবং অবশ্যই যদি তবে আমাদের সাধারণ ক্ষেত্রে কোনও বিশেষ ক্ষেত্রে রূপান্তর করার দরকার নেই!)KKKKK=0

প্রথমে দেখা যাক যে সাধারণ সমস্যার প্রদত্ত দৃষ্টান্তের একটি হ্যাঁ উত্তরটি বিশেষ সমস্যার নির্মিত উদাহরণের একটি হ্যাঁ উত্তরকে বোঝায়। এখানে আমরা ধরে নিতে পারি যে সাধারণ সমস্যার কোনও সমাধান রয়েছে: এটি সংখ্যার এই অদম্য সংগ্রহের পরিমাণ । সুতরাং আমরা যদি নির্মান দৃষ্টান্তের জন্য আমাদের সমাধানটিতে সংশ্লিষ্ট মূল্যগুলি গ্রহণ করি তবে সেগুলি । তারপরে আমরা সমাধানে অন্তর্ভুক্ত করতে বেছে নিতে পারি , আমাদের কয়েক রেখে । যেহেতু Since , এটি সীমার মধ্যে{xj1,,xjm}mKy{yj1,,yjm}2K(n+1)+m2K(n+1)nmn1mn[n+1,0] , আমরা সফলভাবে আপ 0 টান-আপ সংখ্যার কিছু উপসেট সহ টান করতে পারে।

এখন দেখা যাক যে নির্ধারিত উদাহরণের কোনও হ্যাঁ উত্তর উত্তর প্রদত্ত দৃষ্টান্তের জন্য একটি হ্যাঁ উত্তর দেয় answer এখানেই গুণনটি গুরুত্বপূর্ণ হয়ে ওঠে - এটিই আমাদের নিশ্চিত হতে দেয় যে আমরা যে অতিরিক্ত সংখ্যা অন্তর্ভুক্ত করেছি "" খুব বেশি করতে পারে না "।2(n+1)

এখানে আমরা ধরে নিতে পারি যে কিছু সমাধান exists বিদ্যমান রয়েছে: এটি সংখ্যার অদম্য সংগ্রহ 0 এর সমষ্টি ms সমস্যাগুলির প্রয়োজনীয়তা অনুসারে, এই সমাধানটিতে কমপক্ষে একটি উপাদান থাকে। আরও, এটি অবশ্যই থেকে কমপক্ষে একটি উপাদান থাকা উচিত , যেহেতু এটি ছাড়া মোট 0 টিতে পৌঁছানো অসম্ভব: যদি কেবল টানা-আপ সংখ্যা উপস্থিত থাকে তবে অবশ্যই যোগফলটি ( ( নোট করুন যে এক্ষেত্রে কমপক্ষে একটি টানা আপ সংখ্যা অবশ্যই উপস্থিত থাকতে হবে এবং তাদের সমস্তগুলি কঠোরভাবে ইতিবাচক, সুতরাং যোগফল 0 হতে পারে না; সমাধানটি যদি কেবল এবং কিছু টানা আপ সংখ্যা সমন্বিত থাকে তবে মোটটি অগত্যা নেতিবাচক কারণ because{yj1,,yjm}mY[1,n1]zz=2K(n+1)nn এবং টান-আপ সংখ্যাগুলি যোগফলকে দ্বারা বৃদ্ধি করতে পারে ।n1

এখন বিবেচনা করুন যে দ্বন্দ্বের দিকে যে সমাধানটিতে থাকে না । প্রতিটি উপাদান দুটি পদ নিয়ে গঠিত: এর একাধিক এবং একটি +1 "উপস্থিতি ট্যাগ"। লক্ষ্য করুন যে প্রতিটি উপাদানগুলির +1 পদটি যোগফলকে 1 দ্বারা বৃদ্ধি করে যদি সেই উপাদানটি বেছে নেওয়া হয়, তবে প্রতিটি পর্যন্ত নির্বাচিত নির্বাচিত সংখ্যাগুলিও তাই এই 2 দ্বারা মোট অবদান রয়েছে যে কোনও সমাধানের উত্সগুলি হ'ল কমপক্ষে 1 (কারণ আমরা পূর্ববর্তী অনুচ্ছেদে প্রতিষ্ঠিত করেছি যে কমপক্ষে একটি উপাদান নির্বাচন করা উচিত) এবং সর্বাধিক । বিশেষত, এটি সূচিত করে যে এই দুটি সেট পদগুলির যোগফল, যখন মডুলো নেওয়া হয়zY2(n+1)nYn1Yn+n1=2n12(n+1) , ননজারো। এই ধারণার অধীনে যে সমাধানটিতে থাকে না , এই যোগফলের মধ্যে কেবলমাত্র অন্যান্য উপাদানগুলি এর নির্বাচিত সদস্যদের দ্বারা অবদান করা এর গুণক , যা মডুলো গ্রহণের সময় যোগফলের মানকে প্রভাবিত করে না । সুতরাং সমাধানের সমস্ত পদগুলির যোগফল, যখন মডিউলো , এটি ননজারো, অর্থ এটি 0 এর লক্ষ্য যোগফলের সমান হতে পারে না, যার অর্থ এটি মোটেও বৈধ সমাধান হতে পারে না: আমরা একটি বৈপরীত্য পেয়েছি অর্থাত্, এটি অবশ্যই হবে যে সর্বোপরি প্রতিটি সমাধানে উপস্থিত।z2(n+1)Y2(n+1)2(n+1)z=2K(n+1)n

সুতরাং প্রতিটি সমাধান । আমরা জানি যেz

(2K(n+1)n)+i=1m(2(n+1)xji+1)+pull-ups=0 ,

এবং আমরা শর্তাদি পুনর্বিন্যস্ত করতে পারি:

2K(n+1)+i=1m(2(n+1)xji)(n+i=1m1+pull-ups)=0

2K(n+1)+i=1m(2(n+1)xji)(n+m+pull-ups)=0

2(n+1)(K+i=1mxji)(n+m+pull-ups)=0

যেহেতু যোগফল 0, সুতরাং এটি অবশ্যই 0 টি থাকা উচিত যখন মডুলো , যা বোঝায় যে আমরা নতুন সমীকরণ পাওয়ার জন্য এর একাধিক সংবলিত সমস্ত পদ বাতিল করতে পারি2(n+1)2(n+1)

(n+m+pull-ups)=0

এটি পেতে পূর্ববর্তী সমীকরণে সরাসরি প্রতিস্থাপন করা যেতে পারে

2(n+1)(K+i=1mxji)=0

অবশেষে, উভয় পক্ষকে পাতাগুলি দিয়ে ভাগ করে নিন2(n+1)

K+i=1mxji=0 ,

যা মূল সাধারণ সমস্যার উদাহরণের জন্য সমাধান দেয়।

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