ইউনিট ১০: কৃত্রিম বুদ্ধিমত্তা (Artificial Intelligence) অধ্যায়ের আজকের পর্বে আপনাদের সকলকে স্বাগতম, এটি বেসরকারি শিক্ষক নিবন্ধন এর কম্পিউটার সাইন্স বিষয়ের লিখিত ১০ম অধ্যায়ের ১ম অংশ।
এক নজরে এই অংশের সিলেবাসটা দেখে নেয়া যাক।

কৃত্রিম বুদ্ধিমত্তা (Artificial Intelligence AI)
কম্পিউটারের মাধ্যমে মানুষের মতো চিন্তা করার প্রক্রিয়াকে বলা হয় কৃত্রিম বুদ্ধিমত্তা।
মানুষের বুদ্ধিমত্তা ও চিন্তাশক্তিকে কৃত্রিম উপায়ে প্রযুক্তি নির্ভর করে যন্ত্রের সাহায্যে বাস্তবায়ন করার মাধ্যমে যে বুদ্ধিমত্তা তৈরি করা হয় তাকে বলা হয় কৃত্রিম বুদ্ধিমত্তা বল হয়। ইংরেজিতে Artificial Intelligence বা সংক্ষেপে AI ও বলা হয়। কৃত্রিম বুদ্ধিমত্তা মূলত উচ্চ ক্ষমতাসম্পন্ন মেশিন যার চিন্তাশক্তি মানুষের মতো।
প্রকারভেদ
বিভিন্ন বিষয়ের উপর ভিত্তি করে এআই এর প্রকারভেদ বিভিন্ন রকমের হতে পারে।
তবে ডেভেলপমেন্ট এর উপর ভিত্তি করে এটি ৪ প্রকার।
- Reactive Machines (শুধুমাত্র শেখানো জিনিসের উপর নির্ভরশীল)
- Limited Memory (মডার্ন এআই লিমিটেড মেমরির হয় তবে মেশিন লার্ণিং এর মাধ্যমে এটি নতুন জিনিস শেখে)
- Theory of mind (রিসার্চ পর্যায়ে রয়েছে, মানুষের মতো তৎক্ষনাৎ সিদ্ধান্ত নিতে পারবে)
- Self Aware (নিজে নিজে চিন্তা শক্তি, যেটা থিয়োরি অফ মাইন্ড এর পর বাস্তবায়ন করা সম্ভব হবে)
উদাহরণ: স্পিচ, ইমেজ এনালিসিস, ডাটা এনালিসিস, ট্রান্সলেট ইত্যাদি
AI Programming Language
- Python
- Java
- Prolog
- Lisp
- C++
Prolog
Prolog হলো একটি শক্তিশালী প্রোগ্রামিং ল্যাঙ্গুয়েজ যা এআই ডেভেলপমেন্ট এর জন্য ব্যবহৃত হয়ে থাকে। এটির ব্যবহার শুরু হয় ১৯৭২ সাল থেকে।
Environment Types
- Fully Observable vs Partially Observable
সম্পূর্ণ পর্যবেক্ষণ vs আংশিক পর্যবেক্ষণ: সম্পূর্ণ পর্যবেক্ষণ হলো এমন পরিস্থিতি বা environment যেখানে সম্ভাব্য সকল আউটপুট হিসাব করা যায়।
যেমন, দাবা খেলা। অপরদিকে আংশিক পর্যবেক্ষণ হলো যেখানে সম্পূর্ণ কার্যক্রম বোঝা যায় না। যেমন: পোকার খেলা।
- Deterministic vs Stochastic
কোন একটি নির্দিষ্ট স্থান বা State থেকে যদি এনভায়রনমেন্ট এর ফলাফল বের করা সম্ভব হয় তাহলে সেটা deterministic. যেমন: Tic Tac Toe গেম। যদি নির্দিষ্ট State থেকে ফলাফল বের করা সম্ভব না হয় তাহলে সেটা Stochastic.
যেমন: সেলফ ড্রাইভিং গাড়ি।
- Competitive vs Collaborative
একটি কৃত্রিম বুদ্ধিমত্তা বা AI যদি অপর একটি AI এর মুখোমুখি হয় তবে সেটা হবে Competitive. যেমন: দাবা খেলা। এক্ষেত্রে ২টি এজেন্টই জিততে চায় এবং একজন আরেকজনের সাথে কম্পিটিশন বা প্রতিযোগিতা করে।
আর কোলাবোরেটিভ হলো সেখানে কেউ জিততে চায় না তবে ফলাফলের জন্য একজন আরেকজনের সাথে কোলাবোরেট করে চলে।
যেমন: অনেকগুলো সেলফ ড্রাইভিং গাড়ি যদি একসাথে রাস্তায় থাকে তাহলে তারা একে অন্যের সাথে সহযোগিতা বা Collaborate করে দুর্ঘটনা এড়িয়ে চলে।
Single-agent vs Multi-agent
সিঙ্গেল এজেন্ট হলো যেখানে সে একা থাকে এবং অন্য কোন এজেন্ট থাকে না।
মাল্টি এজেন্ট হলো একাধিক এজেন্টের সমন্বয়ে গঠিত এনভায়রনমেন্ট।
- Static vs Dynamic
পারিপার্শিক অবস্থা ক্রমান্বয়ে পরিবর্তিত হতে থাকলে তাকে বলা হয় Dynamic.
যেমন: বরফে স্কিডিং করা। এক্ষেত্রে সময় এবং জায়গার সাথে অবস্থার পরিবর্তন ঘটে।
Idle বা অপরিবর্তিত এনভায়রনমেন্ট কে বলা হয় Static. এক্ষেত্রে এনভায়রনমেন্টের পরিবর্তন ঘটে না। যেমন: একটি ফাঁকা জায়গা।
- Discrete vs Continuous
ফলাফলের জন্য কতগুলো ধাপ পার করতে হবে এটা যদি হিসাব করে বের করা যায় তবে সেই এনভায়রনমেন্ট হলো Discrete, না করা গেলে Continuous.
উদাহরণ: দাবা খেলা, সেলফ ড্রাইভিং গাড়ি।
- Episodic vs Sequential
Episodic এবং Sequential এই দুই প্রকারেই কাজ বিভিন্ন ধাপে ভাগ করা থাকে। যদি কোন একটি অবস্থার ফলাফল পরবর্তী ধাপের কাজের সাথে সামঞ্জস্যপূর্ণ না হয় তবে সেটি হবে এপিসোডিক আর যদি হয় তাহলে সেটি সিকোয়েনশিয়াল।
যেমন: RPG গেম এবং কনভেয়র বেল্ট
- Known vs Unknown
যদি কোন ক্ষেত্রে এজেন্ট এর সমস্ত সম্ভাব্য বিষয়াবলী জানা থাকে এবং শুরু থেকেই আউটপুট নির্ধারণ করা যায় সেটি হলো Known environment আর যদি অজানা বিষয়ে তাৎক্ষনিক সিদ্ধান্ত নেয়া প্রয়োজন হয় তবে সেটি হলো Unknown environment.
Agent Types in AI
- Simple Reflex Agents
Condition-action নিয়মে যে এজেন্ট কাজ করে তাকে বলা হয় Simple Reflex এজেন্ট। এতে সামনে যে ধরণের পরিস্থিতি আসে তার প্রেক্ষিতে এজেন্ট কাজ করে থাকে। এজেন্ট শুধুমাত্র শেখানো কাজ করতে পারে। অপিরিচিত এনভায়রনমেন্টে ইনফিনিট লুপ তৈরি হয়ে যেতে পারে।
- Model-Based Reflex Agents
এই ধরণের এজেন্ট আংশিক পর্যবেক্ষণযোগ্য বা Partially Observable এনভায়রনমেন্টে কাজ করতে পারে। এই এজেন্টের যে সেন্সর থাকে সেটি তার পারিপার্শিক অবস্থান সম্পর্কে ধারণা নিতে পারে এবং সে অনুযায়ী কাজ করতে পারে।
- Goal-Based Agents
Goal-Based এজেন্ট মূলত কোন একটি লক্ষ্য বা উদ্দেশ্য নিয়ে কাজ করে। যদি এর উদ্দেশ্য হয় কোন গন্তব্যে যাওয়া তার এর কাজ হবে যে কোন ভাবে তার নিজের অবস্থান থেকে তার গন্তব্যের দুরত্ব কমানো। এতে যে ধরণের পন্থা অবলম্বন করা প্রয়োজন সেটি সম্পর্কে সে অবগত থাকে।
- Utility-Based Agents
এটিকেও এক প্রকার goal based এজেন্ট বলা চলে তবে পার্থক্য হলো যে, এরা যে উদ্দেশ্য নিয়ে কাজ করে সেই লক্ষ্যমাত্রায় পৌঁছাতে যে সকল উপায় আছে, সবগুলো উপায়কে প্রথমে বিশ্লেষণ করে। এরপর যে উপায়ে করলে সময়, শ্রম কম প্রয়োজন সেই পথে আগায়।
- Learning Agent
লার্নিং এজেন্ট নিজে নিজে শিখতে পারে। সে যে ধরণের পরিস্থিতির সম্মুখীন হয় সেই পরিস্থিতিতে কি করা প্রয়োজন বা কি করেছে ইতিপূর্বে এই বিষয়গুলো সে নিজে নিজে শিখতে পারে এবং সে অনুযায়ী কাজ করে এবং পরিস্থিতির পরিবর্তনের সাথে সাথে নিজের ব্যবহারেও পরিবর্তন নিয়ে আসে।
- Multi-agent systems
যদি কোন একটি কাজ করার জন্য একাধিক এজেন্ট কাজ ভাগ করে একইসাথে কাজ করতে থাকে তবে সেই সিস্টেমকে বলা হয় মাল্টি এজেন্ট সিস্টেম।
Reactive Agents
পারিপার্শিক অবস্থার পরিবর্তনের সাথে সেই অনুযায়ী কাজ করা বা রিঅ্যাক্ট করতে পারে যে এজেন্ট তাকে বলা হয় Reactive এজেন্ট। পারিপার্শিক অবস্থানকে বলা হয় Stimulation. Reactive এজেন্টকে stimulation অনুযায়ী কাজ করতে হয়।
Neuron Biological Perception
Artificial Neuron Network (ANN) ডেভেলপমেন্টে করা হয় Neuron Biological Perception এর মাধ্যমে। Neuron Perceptron হলো বায়োলজিকাল নিউরনের এক প্রকার গাণিতিক মডেল। এর কাজ হলো ইনপুট গ্রহণ করা, সেটা প্রোসেসিং করা এবং তার উপর কাজ করে আউটপুট নির্ণয় করা। নিউরাল নেটওয়ার্কের এক স্তর থেকে অন্য স্তরে এই আউটপুট পাঠানো হয়।
প্যাটার্ণ রিকগনিশন, ক্লাসিফিকেশন টাস্ক এবং কমপ্লেক্স এআই সমস্যা সমাধানের জন্য এটি ব্যবহৃত হয়।
Artificial Perception
AI এর R&D বা Research and Development এর জন্য Artificial Perception খুবই গুরুত্বপূর্ণ। পৃথিবী সবসময় পরিবর্তনশীল। এই পরিবর্তনশীল পৃথিবীতে একটি এজেন্টকে সব ধরণের পরিস্থিতি সম্পর্কে শিখিয়ে দেয়া কখনই সম্ভব নয়। তাই এজেন্টকে তার পারিপার্শিক অবস্থান সম্পর্কে সময়ের সাথে সাথে নিজেকেই শিখতে হয় অথবা এমনভাবে ডেভেলপ করা হয় যাতে সে নিজে নিজে শিখতে পারে।
বিভিন্ন প্রকার Artificial Perception:
- Image recognition (identification)
- Speech recognition (convert speech to computer language)
- Natural language processing (understand Language, grammar, semantic)
- Object recognition (recognize physical object)
- Sensor fusion (automation)
General Search in AI
আর্টিফিসিয়াল ইন্টিলিজেন্সের মাধ্যমে জেনারেল সার্চ বলতে বোঝায় কোন একটি সমস্যা সমাধানের জন্য একাধিক সমাধানের উপায় বের করা এবং তার ভিতর থেকে একটি উপায় বেছে নেয়া। এটি যে কোন এআই এপ্লিকেশনের ফান্ডামেন্টাল টেকনিক।
জেনারেল সার্চ এলগোরিদম কোন একটি সমস্যার একদম শুরুর স্তর থেকে সম্ভাব্য সকল বাধা বিপত্তির পার করার জন্য সমাধান বের করে।
জেনারেল সার্চ করার বিভিন্ন এলগোরিদম:
- DFS (Depth first search)
- BFS (Breadth First Search)
- Best first Search
- A* Search
Local Search in AI
Local Search বলতে বোঝায় সার্চ স্পেসে সাংখ্যিক পরিবর্তন (Incremental Change) ঘটিয়ে বর্তমান সমাধানকে আরও অর্থবহ করে তোলা।
জেনারেল সার্চের ক্ষেত্র অনেক বড় হলেও লোকাল সার্চের ক্ষেত্র অনেক ছোট কারণ এটি শুধুমাত্র সমাধান নিয়ে কাজ করে।
বিভিন্ন প্রকার লোকাল সার্চ এলগোরিদম:
- Hill Climbing
যে এলগোরিদমের সাহায্যে একটি সমাধানকে এমনভাবে বিশ্লেষণ করা হয় যাতে সেই সমাধান এমন অবস্থানে পৌছায় যে তাকে আর উন্নত বা Improve করা সম্ভব না তাকে বল হয় Hill Climbing Algorithm.
- Simulated Annealing
Simulated Annealing কিছুটা Hill Climbing এর মতোই তবে মূল পার্থক্য হলো সিস্টেমের তাপমাত্রা সহনীয় রাখার জন্য কিছুটা খারাপ সমাধান গ্রহণ করে।
- Tabu Search
কোন একটি সার্চে পূর্বে সার্চ করা হয়েছে এমন সমাধানে ফেরত না গেলে সেটি Tabu Search. বিষয়টি যদি এমন হয় যে, কোন সমস্যা সমাধানের জন্য আগে দেখা হয়েছে কিন্তু সেটি অপটিমাম না তাহলে Tabu Search সেটি মনে রাখে এবং ভবিষ্যতে সেই সমস্যা সমাধানের জন্য সেই সমাধানে আর যায় না।
- Genetic Algorithm
যেই এলগোরিদমের মাধ্যমে একগুচ্ছ সমাধানের উপর জেনেটিক অপারেশন করে উৎকৃষ্ট সমাধান তৈরি করে তাকে বলা হয় Genetic Algorithm.
Constraint Satisfaction Problem (CSP)
আমরা সাধারণত কোন সমস্যার সমাধান খুজি যে কত সহজ উপায়ে এটা সমাধান করা যায়। তবে CSP এর থেকে কিছুটা ব্যতিক্রমধর্মী। এটা এমন এক ধরণের সমস্যা যেখানে সমাধানের জন্য সমস্যাগুলোর রিকোয়ারমেন্ট বা চাহিদা পূরণ করতে হয়।
এই সমস্যা বিভিন্ন রকমের হতে পারে। তবে সমাধানের জন্য একসেট ভ্যারিয়েবল ব্যবহার করতে হয় যার দ্বারা Constraint বা সীমাবদ্ধতাকে Satisfy করে সমাধান করা হয়।
Genetic Algorithm
জেনেটিক এলগোরিদম হলো এক প্রকার পরিসংখ্যান ভিত্তিক অপটিমাইজেশন প্রক্রিয়া যা প্রাকৃতিক বিবর্তনের সাথে মিল রেখে তৈরি করা হয়েছে।
প্রাকৃতিক বিবর্তন বলতে মানুষের বিবর্তন বোঝানো হয়েছে।
GA এর তিনটি ধাপ আছে
- Selection: প্রথমে একগুচ্ছ সমাধান তৈরি করা হয় এবং সেখান থেকে সেই সকল সমাধানকে সিলেক্ট করা হয় যা সমস্যাকে ভালোভাবে এবং সম্পূর্ণরূপে সঠিক উপায়ে সমাধান করতে পারে।
- Crossover: যে সকল সমাধান বাছাই করা হয় তারা নিজেদের মধ্যে সমাধানের উপায়সমূহ বিশ্লেষণ করে এবং কোন উপায়ে একত্র হয়ে আরও উৎকৃষ্ট সমাধান তৈরি করা যায় সেটা সিদ্ধান্ত নেয়।
- Mutation: মূল সমাধানের তুলনায় ব্যতিক্রম সমাধান তৈরি করে।
যে সকল জায়গা GA ব্যবহার করা হয়: ফাংশন অপটিমাইজেশন, শিডিউলিং, রাউটিং, মেশিন লার্নিং।