অ্যালগরিদম কি (what is algorithm in Bengali): বন্ধুরা, আমাদের আজকের আর্টিকেলের টাইটেল দেখেই হয়তো আপনারা বুঝতে পেরেছেন যে, আজকের আমাদের আলোচনার বিষয় হলো, “এলগরিদম কি বা কাকে বলে“, “অ্যালগরিদম বলতে কি বুঝায়“, “অ্যালগরিদম এর বৈশিষ্ট্য” এবং “কাজ” কি।
বর্তমানের আধুনিক সময়ে এলগরিদম নামটি হয়তো আপনারা প্রত্যেকেই শুনেছেন,
তবে নাম শুনে থাকলেও, আসলে এই algorithm বিষয়টি কি সেটা নিয়ে বেশিরভাগ লোকেদের কোনো স্পষ্ট ধারণা নেই বললে আমি ভুল হবোনা।
প্রত্যেক দিন সকালে ঘুম থেকে উঠার পর থেকেই আমরা নানান রকমের কাজ গুলো করে থাকি।
আর যেকোনো কাজ করার ক্ষেত্রে শুরু থেকে শেষ পর্যন্ত আমাদের কিছু স্টেপ (steps) অনুসরণ করতে হয়।
যেকোনো কাজ কিন্তু আমাদের জন্য এক ধরণের সমস্যার (problem) মতোই এবং কাজ এর মাধ্যমেই বা কাজ করেই আমরা যেকোনো সমস্যার সমাধান বের করে থাকি।
কাজের মাধ্যমে সমস্যার সমাধান বের করার ক্ষেত্রে আমরা কিছু ক্রম নির্ধারিত করে থাকি।
একটি উদাহরণ দিয়ে বিষয়টি বুঝিয়ে দিচ্ছি,
ধরুন আপনাকে চা বানাতে বলা হলো, এখন চা বানানোর ক্ষেত্রে আপনাকে কিছু স্টেপ বা একটি ক্রম অনুসরণ করে কাজটি করতে হবে।
সেভাবেই, যদি আপনি ভাত বানাচ্ছেন, তাহলেও আপনাকে কিছু স্টেপ (steps) বা একটি ক্রম হিসেবেই কাজটি সম্পূর্ণ করতে হবে।
চা বানানোর জন্য আমাদের কি কি করতে হবে –
- সবচে প্রথমে একটি পাত্রতে জল নিয়ে সেটাকে গরম করতে হবে।
- এবার জলে চাপাতা, চিনি এবং দুধ ঢালতে হবে।
- চা ফুটন্ত অবস্থায় যাওয়া পর্যন্ত অপেক্ষা করতে হবে।
- এবার গ্যাস বন্ধ করে পাত্র থেকে তৈরি হওয়া চা গ্লাস বা কাপ এর মধ্যে ছেকে ঢালতে হবে।
- এখন আপনি তৈরি করা চা খেতে পারবেন।
ওপরে দেওয়া এই উদাহরণ টিকে আমরা algorithm হিসেবে বুঝে নিতে পারি।
কারণ, চা তৈরি করার প্রক্রিয়াটিতে কিছু গুরুত্বপূর্ণ স্টেপ বা একটি ক্রম অনুসরণ করা হয়েছে, এবং যদি এই ক্রম উল্টোপাল্টা হয়ে গেলে চা তৈরি করা যাবেনা।
এতক্ষনে হয়তো আপনারা কিছুটা আন্দাজ পেয়েই গেছেন যে এই algorithm আসলে কি।
চলুন, নিচে আমরা algorithm কি (about algorithm in Bangla) এই বিষয়ে বিস্তারিত ভাবে জেনেনেই।
অ্যালগরিদম কি – (What is algorithm)
Computer এর কাজ করার ক্ষেত্রে computer programs গুলো লিখা হয়।
এই কম্পিউটার প্রোগ্রাম গুলোতে বিভিন্ন ধরণের steps গুলো লিখে থাকি যেগুলো অনুসরণ করে একটি কম্পিউটার কিছু বিশেষ কাজ গুলো করতে পারে।
যখন আপনি কম্পিউটারকে কোনো কাজ দিয়ে থাকেন, তখন আপনাকে এটাও ভাবতে হয় যে কিভাবে কম্পিউটার আপনার দেওয়া কাজ গুলো করতে পারবে।
আর এই কারণেই আমরা ব্যবহার করে থাকি, “Computer Algorithm” গুলোর।
সোজা এবং সরল ভাবে বললে, অ্যালগরিদম (algorithm) হলো এমন কিছু বিশেষ নির্দেশাবলীর সেট বা ক্রম যার মাধ্যমে কোনো বিশেষ সমস্যার সমাধান করা যেতে পারে।
অ্যালগরিদম এর সংজ্ঞা – (Definition)
Algorithm হলো একটি প্রক্রিয়া (Step by Step Process) বা একটি ফর্মুলা (formula) যার মাধ্যমে একটি সমস্যার সমাধান পাওয়া যেতে পারে।
এটা মূলত এমন একটি পদ্ধতি (Procedure), যেখানে কিছু সীমিত নিয়ম থেকে থাকে যেগুলো নির্দেশ (Instruction) বলে বলা হয়।
প্রত্যেকটি নিয়ম বা নির্দেশ গুলোকে একটির পর একটি ক্রমাগত ভাবে লিখা হয় আর প্রত্যেকটি নিয়ম (steps) কোনো না কোনো বিশেষ অপারেশন গুলো করার উদ্দেশ্যে তৈরি করা হয়।
আর প্রত্যেকটি নিয়ম সঠিক ভাবে পালন করে এগিয়ে যাওয়ার ফলস্বরূপ শেষে গিয়ে সমস্যার সমাধান পাওয়া যায়।
সোজা ভাবে বললে, এই নিয়ম গুলোর ফলে problem এর solution পাওয়া সম্ভব।
তাহলে আমরা যদি একেবারে সরল ভাবে এলগরিদম (algorithm) এর বিষয়ে বুঝতে চেষ্টা করি তাহলে এভাবে বুঝা যাবে,
“Algorithm হলো যেকোনো সমস্যা বা প্রব্লেম (problem) এর সমাধান বের করার একটি স্টেপ বাই স্টেপ প্রক্রিয়া“.
এখন যদি আরো সরল ভাবে বলা হয় তাহলে,
Algorithm এর মধ্যে কিছু steps গুলো রয়েছে যেখানে প্রত্যেকটি step একটি বিশেষ ক্রিয়াকলাপ (operation) এর জন্যে তৈরি করা হয়েছে।
একটি পদক্ষেপ (step) এর মাধ্যমে শুরু করা হয় এবং শেষে গিয়ে একটি মাত্র step থেকে যায় যার মাধ্যমে কাজটি শেষ করা হয়।
আর এই দুটো step এর মধ্যে অন্যান্য আলাদা আলাদা steps গুলো রয়েছে যেগুলোর আবার আলাদা আলাদা কাজ গুলো করে থাকে।
তাহলে আশা করছি, অ্যালগরিদম মানে কি বা অ্যালগরিদম বলতে কি বুঝায় ? এই প্রশ্নের উত্তর আপনারা অবশই পেয়েছেন।
অ্যালগরিদমের ব্যবহার / গুরুত্ব
এমনিতে programming এর ক্ষেত্রে algorithm এর ব্যবহার প্রচুর পরিমানে করা হয়।
মূলত, IT Industry, Business Model, Programming ইত্যাদির ক্ষেত্রে algorithm এর ব্যবহার প্রচুর পরিমানে করা হয়।
চলুন নিচে আমরা বিস্তারিত ভাবে জেনেনেই, কিভাবে এবং কোন কোন জায়গাতে এদের ব্যবহার হয়ে থাকে।
Computer Programming
কম্পিউটার প্রোগ্রামিং এর ক্ষেত্রে একটি প্রোগ্রাম লিখার আগে তার algorithm লিখা হয়।
যেকোনো প্রোগ্রাম যদি আপনি চিন্তা ভাবনা না করেই লিখা শুরু করে দিচ্ছে, তাহলে সেখানে প্রচুর ভুল (error) চলে আসার সম্ভাবনা থাকবে।
তাই, যদি প্রোগ্রাম তৈরি করার আগেই আপনি একটি algorithm তৈরি করে নিতে পারেন তাহলে Errors গুলো কম করা যেতে পারে।
Flowchart
Flowchart বানানোর আগেও Algorithm লিখা হয়। এনাহলে, ভুল হওয়ার সম্ভাবনা প্রচুর বেড়ে যেতে পারে।
Computer Scientist এবং Software Engineer
Computer Scientist এবং Software Engineer রা অবশই বিভিন্ন algorithm গুলো ব্যবহার করে থাকেন।
এর ব্যবহারের ফলে তাদের সময় বাঁচে এবং পরিশ্রম অনেক বেশি পরিমানে কমে যায়।
ধরুন, এখন একটি software company আছে যাকে একটি bank এর জন্যে app তৈরি করতে বলা হলো।
এখন এটা সেই software company বা software Engineer এর জন্যে একটি সমস্যা যেটার সমাধান স্টেপ বাই স্টেপ ক্রম হিসেবেই করা যাবে।
এতে যদি কোনো ভুল বা সমস্যা হয়ে থাকে তাহলে সেখানেই সেগুলোকে ঠিক করে নেওয়া সম্ভব।
আর তাই, এর মাধ্যমে Application Develop করতে অনেক সুবিধা হয়ে থাকে।
Mathematical Problem Solve
Mathematical Problem গুলোর সমাধান করার ক্ষেত্রে এর ব্যবহার করা হয়।
উদাহরণ স্বরূপে, যদি আপনি জানতে চাইছেন যে একটি সংখ্যা –ve নাকি +ve ?
এক্ষেত্রে, আপনি – এবং + চিহ্ন দেখেই বলে দিতে পারবেন।
আপনি বুজেছেন যদিও কিন্তু কম্পিউটার এই বিষয়ে কেমনে বুঝতে পারবেন ?
আর এজন্য আপনাকে লিখতে হবে একটি algorithm.
যদি কোনো সংখ্যা 0 থেকে বড় তাহলে সেটা +ve Number এবং যদি কোনো সংখ্যা 0 থেকে ছোট তাহলে সেই সংখ্যা –ve number হবে।
AI, space research
AI, space research, robotics ইত্যাদি এই প্রয়েত্তেকটি ক্ষেত্রে এর প্রচুর ব্যবহার হয়ে থাকে।
অ্যালগরিদম এর বৈশিষ্ট্য – (Characteristics Of Algorithm)
আমরা আগেই আলোচনা করেছি যে, algorithm হলো একটি step by step প্রক্রিয়া।
চলুন, এবার আমরা জেনেনেই অ্যালগরিদম এর বৈশিষ্ট্য গুলোর বিষয়ে।
১. Unambiguous – যেই অ্যালগরিদম গুলো আপনি লিখবেন সেগুলো স্পষ্ট এবং সঠিক হওয়াটা জরুরি। প্রত্যেক স্টেপ বা লাইন এর কিছু মিনিং হওয়াটা জরুরি।
২. Finiteness – প্রত্যেক Algorithm কিছু সীমিত steps এর মধ্যে শেষ হয়ে যেতে লাগে। আর প্রত্যেকটি step সীমিত পরিমানে রিপিট (repeat) হতে লাগে।
৩. Input – প্রত্যেকটি algorithm এর মধ্যে O যা O থেকে অধিক সঠিক steps হতে লাগে।
৪. Output – যেভাবে algorithm এর input step হয়ে থাকে, ঠিক সেভাবেই এর output step হওয়া জরুরি। তবে, output অবশই সেটাই আসা জরুরি যার জন্যে আমরা অ্যালগরিদম লিখছি।
৫. Effectiveness – Time এবং space এর মাধ্যমে কার্যকারিতার (Effectiveness) অনুমান লাগানো সম্ভব। যদি algorithm কম time এবং space এর মধ্যে লিখা হয়েছে বা কম সময়ে এক্সিকিউট হয়েছে এবং কম স্পেসে রান হয়ে থাকে, এটাকেই এর Effectiveness বলা হবে।
আমাদের শেষ কথা,,
তাহলে বন্ধুরা, অ্যালগরিদম নিয়ে লিখা আমাদের আজকের আর্টিকেল যদি আপনার ভালো লেগে থাকে, তাহলে আর্টিকেলটি শেয়ার অবশই করবেন। এছাড়া, আর্টিকেলের সাথে জড়িত কোনো ধরণের প্রশ্ন বা পরামর্শ থাকলে নিচে কমেন্ট করে অবশই জানাবেন।