অ্যালগরিদম কি? অ্যালগরিদমের শর্ত ও সুবিধা। What is Algorithm?

কোনাে কাজ করার পূর্বে আমরা কাজটির পরিকল্পনা করে থাকি। পরিকল্পনামাফিক কাজে অগ্রসর হলে কাজটি সুষ্ঠুভাবে সম্পন্ন হয়। অ্যালগরিদম অর্থ ধাপে ধাপে সমস্যা সমাধান। অর্থাৎ একটি সমস্যাকে কয়েকটি ধাপে ভেঙ্গে প্রত্যেকটি ধাপ পরপর সমাধান করে সমগ্র সমস্যার সমাধান করা। অ্যালগরিদম শব্দটি আরব দেশের গণিতবিদ আল খারিজমী এর নাম থেকে উৎপত্তি হয়েছে। তিনি তার গণিত বইতে অ্যালগরিদম শব্দটির ব্যাখ্যা দেন নিম্নরূপে: “অ্যালগরিদম হচ্ছে একটি নির্দিষ্ট সমস্যা সমাধান করার জন্য একটা বিশেষ পন্থা।”

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

অ্যালগরিদম তৈরির শর্ত বা নিয়ম
১. অ্যালগরিদমটি সহজবােধ্য হবে।
২. প্রত্যেকটি ধাপ স্পষ্ট হতে হবে যাতে সহজে বুঝা যায়।
৩. সসীম সংখ্যক ধাপে সমস্যার সমাধান হতে হবে।
৪. অ্যালগরিদম ব্যাপকভাবে প্রয়ােগ করার উপযােগী হতে হবে।

 

অ্যালগরিদমের সুবিধা
১. সহজে প্রােগ্রামের উদ্দেশ্যে বােঝা যায়।
২. সহজে প্রােগ্রামের ভুল নির্ণয় করা যায়।
৩. প্রােগ্রামের প্রবাহের দিক বুঝা যায়।
৪. জটিল প্রােগ্রাম সহজে রচনা করা যায়।
৫. প্রােগ্রাম পরিবর্তন ও পরিবর্ধনে সহায়তা করে।

উদাহরণ: তিনটি সংখ্যার যােগফল ও গড় নির্ণয়ের অ্যালগরিদম নিম্নে দেয়া হলাে-
ধাপ- ১: কাজ শুরু করতে হবে।
ধাপ- ২: সংখ্যা ৩টি পড়তে হবে।
ধাপ- ৩: সংখ্যা ৩টির যােগফল বের করতে বলা হবে।
ধাপ- ৪: যােগফলকে ৩ দ্বারা ভাগ করে গড় নির্ণয় করতে হবে।
ধাপ- ৫: যােগফল এবং গড় ছাপায়।
ধাপ- ৬: কাজ শেষ করি

Algorithm এর ইতিহাস:

অ্যালগরিদমের ধারণাটি প্রাচিনকাল থেকে রয়েছে, ১৫৫০ খ্রিস্টপূর্বাব্দ ব্যবিলনীয় গণিতবীদরা অ্যালগরিদম ব্যবহার করতেন। এরও আগে ২৪০ খ্রিস্টপূর্বাব্দে গ্রীক গণিতবিদরা মৌলিক সংখ্যা খুঁজে বেড় করতে ও দুটি সংখ্যার সর্বশ্রেষ্ঠ সাধারণ ভাজক খুঁজে বের করার জন্য ইউক্লিডীয় পদ্ধতিতে অ্যালগরিদম ব্যবহার করতেন।

ফ্রিকোয়েন্সি বিশ্লেষণের ভিত্তিতে কোড-ব্রেকিংয়ের জন্য ৯ম শতাব্দীর শ্রেষ্ঠ আরবি গণিতবিদ আল-কিন্দির ক্রিপ্টোগ্রাফিক অ্যালগরিদম ব্যবহার করতেন। এ থেকে বুঝা যায় অ্যালগরিদম শব্দটি অনেক পুরনো ও পূর্ব থেকে পরিচিত একটি নাম। অনেক আগে থেকেই বিভিন্ন পদ্ধতিতে হিসেব করার জন্য অ্যালগরিদম ব্যবহার করা হতো।

Algorithm কিভাবে কাজ করে:

আমরা উপরের লেখাগুলো পড়ে ইতোমধ্যে হয়তো কিছুটা হলেও বুজতে পেরেছে অ্যালগরিদম কি? এবার জানবো এটি কিভাবে কাজ করে। Algorithm এর ব্যবহার প্রচুর পরিমানে হয় IT Industry, Business Model Analysis, Programming and Development সার্ভিস প্রদান করে এমন প্রতিষ্টানগুলোতে।

আর এর ব্যবহারের কারণ হচ্ছে অ্যালগরিদম দিয়ে সঠিক ও নির্ভূলভাবে যে কোন কিছুর সমাধান করা সম্ভব। সাধারণত অ্যালগরিদম কিছু শর্ত ও পর্যায় বা ধাপ অনুস্বরণ করেই তৈরি করা হয়ে থাকে।

প্রতিটি ধাপ বা পর্যায় হতে হয় সু-স্পষ্ট ও নির্ভূল। আমরা উদাহরণ হিসেবে যদি একটি প্রোগ্রামের সমস্যা অথবা নতুন করে প্রোগ্রাম লিখতে যাই তা হলে অ্যালগরিদম কিভাবে লিখতে হবে:-

প্রোগ্রামের সমস্যা নির্দিষ্ট করতে হবে:

প্রথমে আপনাকে প্রোগ্রামের কি ধরনের সমস্যা রয়েছে তা চিহ্নিত করতে হবে ও সমস্যার একটি নাম ব্যবহার করতে হবে। অথবা নতুন প্রোগ্রাম লেখার ক্ষেত্রে সমস্যার বা প্রোগ্রামের একটি শিরোনাম দিতে হবে। যাতে করে পরবর্তীতে শিরোনাম দেখেই প্রোগ্রামের বিষয় সম্পর্কে ধারণা পাওয়া যায়।

সমস্যার বিশ্লেষণ:

আপনি যে সমস্যার বা প্রোগ্রামের ত্রুটি সমাধান করতে চাচ্ছেন সেটির বিশ্লেষণ করতে হবে। নতুন কিছু করার ক্ষেত্রে আপনি কেন, কি কারণে এই ধরনের প্রোগ্রাম লিখতে চাচ্ছেন ও এর কি ধরনের প্রয়োজন আছে কিভাবে এর সমাধান করা যাবে এই সমস্ত বিষয়ে তথ্য সংগ্রহ করতে হবে। আপনি যে ত্রুটি বা বিষয় নিয়ে কাজ করছেন সেই সম্পর্কে পর্যাপ্ত পরিমানে তথ্য সংগ্রহ করতে হবে।

উপায় বা পদ্ধতি নির্ধারন অথবা প্রোগ্রাম ডিজাইন:

আপনার প্রোগ্রামের সমস্যা বিশ্লেষণ করার পর কিভাবে বা কোন কোন উপায়গুলি ব্যবহার করে এর সমধান করা সম্ভব তা নির্ধারন করতে হবে। কার্যক্রমের বা প্রোগ্রামের একটি খসরা ডকুমেন্ট বা পদ্ধতি তৈরি করে নিতে পারেন।

যাতে করে উদ্দেশ্য ও বিভিন্ন উপায়গুলো সুস্পষ্ট করা যায়। উপায় বা পদ্ধতিগুলো এমনভাবে তৈরি করতে হবে যাতে পরবর্তীতে তা উন্নয়নের সময় আপনি সহজেই সবকিছু বুঝতে পারেন।

প্রোগ্রাম বাস্তবায়ন বা সমাধানের কার্যক্রম:

প্রোগ্রামের ম্যাথট বা ফাংশন ঠিক করা হয়ে গেলে এবার অ্যালগরিদমের নিয়ম ও শর্ত মেনে প্রোগ্রাম লেখা শুরু করে দিতে হবে। প্রোগ্রাম লেখার ক্ষেত্রে প্রোগ্রাম হাই-লেভেল এর মেশিন ভাষা ব্যবহার করে সঠিক ও স্পষ্টভাবে লিখতে হবে। যাতে করে প্রোগ্রাম রান করার পর কোথাও কোন ত্রুটি হলে তা সহজে বুজতে পারা যায় ও সমাধান করা যায়।

ফলাফল নির্ধারণ বা বিশ্লেষণ:

প্রতিটা বিষয়েরই ফলাফল মূল্যায়ন করা হলে যে কোন কাজ সঠিক ও নির্ভূলভাবে করা সম্ভব। তাই আপনি যে কার্যক্রম নিয়ে কাজ করছেন তা অবশ্যই মূল্যায়ন করতে হবে। কাজটি কতটুকু আপনার অনুকুলে হবে বা হতে হবে তা নির্ধারন করতে হবে।

প্রোগ্রাম লেখার ক্ষেত্রে প্রোগ্রামটির কোন ত্রুটি আছে কিনা প্রোগ্রাম হ্যাকিং হওয়ার সম্ভাবনা আছে কিনা ইত্যাদি বিষয় যাচাই করতে হবে। আপনি যে প্রোগ্রামটি তৈরি করেছেন সেটি আসলে কতটুকু আপনার কাজে আসছে সেটির সম্ভাব্যতা যাচাই করতে হবে।

কেন আমরা Algorithm শিখব!

আমরা ইতোমধ্যে অ্যালগরিদম সম্পর্কে বিস্তারিত কিছুটা হলেও বুঝতে পেরেছি। আপনি যেই Programing Language এই ব্যবহার করেন না কেন আপনি যদি ভালো মানের অ্যালগরিদম লিখতে বা সাজাতে না পাড়েন, তা হলে আপনার জন্য ভালো মানের প্রোগ্রাম লেখা কষ্টকর হয়ে যাবে।

আমরা জানি যে কোন সমস্যা সমাধানে সু-সংগত ও কার্যকরী উপায়েই হলো অ্যালগরিদম, তাই আপনাকে একজন ভালো মানের প্রোগ্রামার বা ডেভেলোপার হতে হলে ভালোভাবে অ্যালগরিদম শিখতে হবে ও জানতে হবে।

বর্তমানে সারা বিশ্বে প্রযুক্তির ব্যবহার বেড়েই চলছে, সেই সাথে মেকানিক্যাল বিষয়ের চেয়ে সফটওয়্যার ভিত্তিক বিভিন্ন প্রযুক্তিগত বিষয়ের উদ্ভব হচ্ছে। আধুনিক বিশ্বে প্রযুক্তির বাজারের আপনাকে টিকতে হলে অ্যালগরিদমের গুরুত্ব অনেক বেশি।

তাই আমরা মনে করি আপনি একজন ভালো মানের প্রোগ্রামার ও ডেভলোপার হতে চাইলে অ্যালগরিদম আপনাকে অবশ্যই শিখতে হবে বা জানতে হবে।

 

ত্রিভুজের ক্ষেত্রফল নির্ণয়ের অ্যালগরিদম ও সি প্রোগ্রাম।
ত্রিভুজের ক্ষেত্রফল বের করার জন্য প্রথমে ত্রিভুজের ভূমি ও উচ্চতা নিতে হবে। তারপর ক্ষেত্রফলের সূত্র ১/২ × ভূমি × উচ্চতা নির্ণয় করতে হবে। তাহলে আর দেরি না করে চলুন জেনে নেই –
ত্রিভুজের ক্ষেত্রফল নির্ণয় করার অ্যালগরিদম
Algorithm:
Step – 01 : Start
Step – 02 : Input b,h
Step – 03 : Area = ½ * b*h
Step – 04 :Print ,Area
Step – 05 : End
ত্রিভুজের ক্ষেত্রফল নির্ণয় করার সি প্রোগ্রাম
C-Program:
# include <stdio.h>
void main ( )
{
float b,h,Area;
scanf(%f%f’;&b,&h);
Area = ½*b*h
printf (“%2f”,Area);
}