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