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