এটা ভাল স্থাপন করা হয় যে matroid যে এবং কোন ওজন ফাংশন , সেখানে প্রস্থান করে একটি আলগোরিদিম যা সর্বোচ্চ ওজন ভিত্তিতে ফেরৎ । তাহলে, বিপরীত দিকটিও কি সত্য? এটি হ'ল যদি কিছু লোভী অ্যালগরিদম হয় তবে অবশ্যই কিছু ম্যাট্রয়েড কাঠামো থাকতে হবে।
এটা ভাল স্থাপন করা হয় যে matroid যে এবং কোন ওজন ফাংশন , সেখানে প্রস্থান করে একটি আলগোরিদিম যা সর্বোচ্চ ওজন ভিত্তিতে ফেরৎ । তাহলে, বিপরীত দিকটিও কি সত্য? এটি হ'ল যদি কিছু লোভী অ্যালগরিদম হয় তবে অবশ্যই কিছু ম্যাট্রয়েড কাঠামো থাকতে হবে।
উত্তর:
আসলে, লোভী অ্যালগরিদমের দ্বারা সমাধান করা যেতে পারে এমন সমস্যার সম্পূর্ণ এবং সাধারণ বিবরণ হ'ল ম্যাট্রয়েড এম্বেডিং , যা ম্যাট্রয়েড এবং গ্রিডয়েডের ধারণা উভয়কেই সাধারণীকরণ করে । উত্তর নেই-একটি সমস্যা matroid গঠন নেই একটি লোভী অ্যালগোরিদম প্রয়োজন দ্বারা সমাধেয়, কিন্তু এটা হবে একটি matroid এমবেডিং কাঠামো (যা, হায়রে, আরো অনেক কিছু জটিল) আছে।
এর মধ্যে কিছুর জন্য একটি মানসিক মডেল হতে পারে ন্যূনতম বিস্তৃত গাছগুলি খুঁজে পাওয়া। কৃসকলের অ্যালগরিদম দ্বারা ব্যবহৃত কাঠামোটি একটি ম্যাট্রয়েড, তবে এটি প্রিমের অ্যালগরিদম দ্বারা ব্যবহৃত হয়েছে (যার জন্য একটি স্টার্ট নোড প্রয়োজন) এটি নয়। (এটি অবশ্য একটি লোভযুক্ত — এবং একটি ম্যাট্রয়েড এমবেডিং))
লোভী অ্যালগরিদম, এই আনুষ্ঠানিকতার নিরিখে সংজ্ঞায়িত করা বেশ সহজ: আপনি খালি সেট দিয়ে শুরু করুন এবং আপনি কোনও ভিত্তিতে না পৌঁছা পর্যন্ত ধারাবাহিকভাবে একটি একক উপাদান যুক্ত করুন, সর্বদা নিশ্চিত করে যে (i) প্রতিটি ধাপে আপনার সেটটি সম্ভব হবে এবং ( ii) আপনি যে উপাদানটি যুক্ত করেছেন ফলাফল ফলাফলের উদ্দেশ্যমূলক কার্যকে সর্বাধিক করে তোলে t সমস্ত বিকল্প উপাদান আপনি যুক্ত করতে পারে। (এটি ধারণাগতভাবে, আপনি সমস্ত সম্ভাব্য বিকল্প যুক্ত করার চেষ্টা করুন এবং সর্বোচ্চ উদ্দেশ্য মান উপার্জনকারী একটি চয়ন করুন))
আপনি, সম্ভবত, তর্ক করতে পারেন যে লোভী অ্যালগরিদমের অন্য রূপ থাকতে পারে, তবে অ্যালগরিদম এবং সম্মিলনমূলক অপ্টিমাইজেশান সম্পর্কিত বেশ কয়েকটি পাঠ্যপুস্তক রয়েছে যা এই সেট-সিস্টেম ভিত্তিক অ্যালগরিদমকে লোভী অ্যালগরিদম হিসাবে বর্ণনা করে । এটি আপনাকে মাপসই করা এমন কিছু বর্ণনা করতে বাধা দেয় না, তবে এখনও লোভী বলা যেতে পারে I (এখনও, এই করে কিছু কভার করে যা সম্ভাব্য, উদাহরণস্বরূপ, একটি matroid গঠন হতে পারে যদিও এটা অনেক আরো সাধারণ।)
হেলম্যান এট আল। করণীয় তারা যখন বর্ণনা করে যে এই অ্যালগরিদম কখন কাজ করবে। আরো নির্দিষ্টভাবে:
তারা দেখায় যে লিনিয়ার অবজেক্টিভ ফাংশনগুলির জন্য (যেখানে বস্তুর মান উপাদান ওজনের যোগফলের সমষ্টি), লোভী অ্যালগরিদম ম্যাট্রয়েড এম্বেডিং হিসাবে তাদের যে কাঠামোটি সংজ্ঞায়িত করে ঠিক তেমনভাবে কাজ করবে;
তারা তথাকথিত বাধা বিঘ্নিত উদ্দেশ্যগুলির জন্য অনুরূপ বৈশিষ্ট্য দেয় (যেখানে কোনও সংখ্যার বস্তুর মান পৃথক উপাদান ওজনের চেয়ে সর্বনিম্নের সমান হয়); এবং
ম্যাট্রয়েড এম্বেডিংগুলিতে লোভী অ্যালগরিদম দ্বারা কোন উদ্দেশ্যমূলক ক্রিয়াকলাপগুলি (লিনিয়ারগুলি বাদে) অনুকূলিত করা হয় তার একটি সঠিক বৈশিষ্ট্য তারা দেয় They
লোভী অ্যালগরিদম কোনও আনুষ্ঠানিকভাবে সংজ্ঞায়িত ধারণা নয়। এই স্বজ্ঞাত ধারণাটি ক্যাপচার করার চেষ্টা করছে এমন বিভিন্ন মডেল রয়েছে তবে লোভী অ্যালগরিদম কী তা নিয়ে কোনও sensক্যমত্য নেই। লোভী অ্যালগরিদমের দ্বারা আপনি কী বোঝাতে চেয়েছেন সে সম্পর্কে আপনি যদি কোনও আনুষ্ঠানিক সংজ্ঞা নির্দিষ্ট না করেন তবে প্রশ্নটির উত্তর হ্যাঁ বা না হিসাবে দেওয়া যাবে না।
সেখানে একটি সাধারণীকরণ ছাড়া কিছুই না matroids নামক greedoid যা লোভী অ্যালগোরিদম কি আপনি তাকান করতে পারেন দ্বারা অনুপ্রাণিত হয়।
নিম্নলিখিত সমস্যাগুলি বিবেচনা করুন: কয়েন-চেইনিং ইউরো: 1,2,5,10 ইউরো নোটের সীমাহীন পরিমাণ দেওয়া, যতটা সম্ভব নোট ব্যবহার করে এক্স ইউরো প্রদান করুন। লোভী অ্যালগরিদম ব্যবহার করে এটি সমাধান করা যেতে পারে, এটি সম্ভবত বৃহত্তম নোট গ্রহণ করে। তবে এই সমস্যায় কোনও ম্যাট্রয়েড কাঠামো নেই।
হল কভারেজ: x_1, x_2, ..., x_n পজিশনে ছিদ্র রয়েছে। আপনার দৈর্ঘ্যের প্যাচ 10 সেমি। যতটা সম্ভব প্যাচ ব্যবহার করে গর্তগুলি প্যাচ করুন। আবার এটি লোভী ফ্যাশনে সমাধান করা যেতে পারে (কেবল প্যাচ যতটা সম্ভব ঠিক রাখুন), তবে কোনও ম্যাট্রয়েড কাঠামো নেই।