অ্যালগরিদমের কৌশল

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