উচ্চমাধ্যমিক কম্পিউটার সায়েন্স সাজেশন | HS Computer Science Suggestion | PART-3
WBCHSE Class 12 CS Semester 4 Suggestion: AI Long Questions & PROLOG (Part 3)
এই শেষ পর্বে Artificial Intelligence (AI)-এর ৫ নম্বরের ডেসক্রিপটিভ প্রশ্ন, PROLOG প্রোগ্রামিং-এর উদাহরণ এবং পরীক্ষার জন্য কিছু বিশেষ টিপস দেওয়া হলো।
Topic: AI - Descriptive Type (5 Marks)
(পরীক্ষায় ২-৩টি ৫ নম্বরের প্রশ্ন থাকে। ডায়াগ্রাম এবং উদাহরণ দেওয়া আবশ্যিক।)
প্রশ্ন ১: Semantic Network কী? একটি উদাহরণের সাহায্যে Semantic Network চিত্রসহ ব্যাখ্যা করো।
উত্তর: Semantic Network: এটি নলেজ রিপ্রেজেন্টেশনের (Knowledge Representation) একটি পদ্ধতি যেখানে গ্রাফের মাধ্যমে জ্ঞান বা তথ্য প্রকাশ করা হয়।
এতে দুটি প্রধান অংশ থাকে:
১. Nodes (নোড): গোল বা আয়তক্ষেত্রাকার বক্স, যা কোনো বস্তু (Object) বা ধারণা (Concept) বোঝায়।
২. Arcs/Links (লিঙ্ক): তীরচিহ্নযুক্ত রেখা, যা নোডগুলোর মধ্যে সম্পর্ক (Relationship) বোঝায়।
উদাহরণ:
ধরি, আমাদের কাছে তথ্য আছে:
- "Tom is a Cat" (টম হয় একটি বিড়াল)
- "Cat is a Mammal" (বিড়াল হয় স্তন্যপায়ী)
- "Cat likes Fish" (বিড়াল মাছ পছন্দ করে)
বিবরণ (পরীক্ষায় চিত্র আঁকবে):
এখানে 'Tom', 'Cat', 'Mammal', 'Fish' হলো নোড।
'Tom' থেকে 'Cat'-এর দিকে একটি তীরচিহ্ন যাবে যার লেবেল হবে 'is-a'।
'Cat' থেকে 'Mammal'-এর দিকে তীরচিহ্ন যাবে 'is-a'।
'Cat' থেকে 'Fish'-এর দিকে তীরচিহ্ন যাবে 'likes'।
এভাবে কম্পিউটার বুঝতে পারে যে টম যেহেতু বিড়াল, তাই সে মাছ পছন্দ করে (Inheritance)।
উত্তর: Semantic Network: এটি নলেজ রিপ্রেজেন্টেশনের (Knowledge Representation) একটি পদ্ধতি যেখানে গ্রাফের মাধ্যমে জ্ঞান বা তথ্য প্রকাশ করা হয়।
এতে দুটি প্রধান অংশ থাকে:
১. Nodes (নোড): গোল বা আয়তক্ষেত্রাকার বক্স, যা কোনো বস্তু (Object) বা ধারণা (Concept) বোঝায়।
২. Arcs/Links (লিঙ্ক): তীরচিহ্নযুক্ত রেখা, যা নোডগুলোর মধ্যে সম্পর্ক (Relationship) বোঝায়।
উদাহরণ:
ধরি, আমাদের কাছে তথ্য আছে:
- "Tom is a Cat" (টম হয় একটি বিড়াল)
- "Cat is a Mammal" (বিড়াল হয় স্তন্যপায়ী)
- "Cat likes Fish" (বিড়াল মাছ পছন্দ করে)
বিবরণ (পরীক্ষায় চিত্র আঁকবে):
এখানে 'Tom', 'Cat', 'Mammal', 'Fish' হলো নোড।
'Tom' থেকে 'Cat'-এর দিকে একটি তীরচিহ্ন যাবে যার লেবেল হবে 'is-a'।
'Cat' থেকে 'Mammal'-এর দিকে তীরচিহ্ন যাবে 'is-a'।
'Cat' থেকে 'Fish'-এর দিকে তীরচিহ্ন যাবে 'likes'।
এভাবে কম্পিউটার বুঝতে পারে যে টম যেহেতু বিড়াল, তাই সে মাছ পছন্দ করে (Inheritance)।
প্রশ্ন ২: A* (A-Star) অ্যালগরিদম কীভাবে কাজ করে? এর হিউরিস্টিক ফাংশনটি লেখো।
উত্তর: A* হলো একটি জনপ্রিয় এবং শক্তিশালী সার্চ অ্যালগরিদম যা 'Best First Search'-এর উন্নত রূপ। এটি সবচেয়ে ছোট পথ (Shortest Path) খুঁজে বের করার জন্য পরিচিত।
কাজের পদ্ধতি:
A* অ্যালগরিদম প্রতিটি ধাপে একটি মূল্যায়ন ফাংশন (Evaluation Function) $ f(n) $ ব্যবহার করে পরবর্তী নোড নির্বাচন করে।
সমীকরণটি হলো:
$ f(n) = g(n) + h(n) $
যেখানে,
$ g(n) $ = প্রারম্ভিক নোড (Start Node) থেকে বর্তমান নোড n-এ আসার প্রকৃত খরচ (Actual Cost)।
$ h(n) $ = বর্তমান নোড n থেকে গন্তব্যে (Goal Node) পৌঁছানোর আনুমানিক খরচ (Heuristic Cost)।
অ্যালগরিদমটি এমন নোড বেছে নেয় যার $ f(n) $ মান সবথেকে কম। এটি 'Open List' এবং 'Closed List' ব্যবহার করে কাজ করে।
উত্তর: A* হলো একটি জনপ্রিয় এবং শক্তিশালী সার্চ অ্যালগরিদম যা 'Best First Search'-এর উন্নত রূপ। এটি সবচেয়ে ছোট পথ (Shortest Path) খুঁজে বের করার জন্য পরিচিত।
কাজের পদ্ধতি:
A* অ্যালগরিদম প্রতিটি ধাপে একটি মূল্যায়ন ফাংশন (Evaluation Function) $ f(n) $ ব্যবহার করে পরবর্তী নোড নির্বাচন করে।
সমীকরণটি হলো:
$ f(n) = g(n) + h(n) $
যেখানে,
$ g(n) $ = প্রারম্ভিক নোড (Start Node) থেকে বর্তমান নোড n-এ আসার প্রকৃত খরচ (Actual Cost)।
$ h(n) $ = বর্তমান নোড n থেকে গন্তব্যে (Goal Node) পৌঁছানোর আনুমানিক খরচ (Heuristic Cost)।
অ্যালগরিদমটি এমন নোড বেছে নেয় যার $ f(n) $ মান সবথেকে কম। এটি 'Open List' এবং 'Closed List' ব্যবহার করে কাজ করে।
প্রশ্ন ৩: Turing Test সম্পর্কে বিস্তারিত আলোচনা করো।
উত্তর: ১৯৫০ সালে বিখ্যাত গণিতবিদ অ্যালান টিউরিং "Computing Machinery and Intelligence" পেপারে একটি পরীক্ষার প্রস্তাব দেন, যা Turing Test নামে পরিচিত। এর উদ্দেশ্য হলো একটি মেশিন বুদ্ধিমান কিনা তা যাচাই করা।
পরীক্ষা পদ্ধতি (The Imitation Game):
১. তিনটি কক্ষ থাকে। একটিতে একজন বিচারক (Human Interrogator - C), অন্যটিতে একজন মানুষ (Human - B) এবং তৃতীয়টিতে একটি মেশিন বা কম্পিউটার (Machine - A)।
২. বিচারক কাউকে দেখতে পান না, শুধু কীবোর্ড ও স্ক্রিনের মাধ্যমে টেক্সট চ্যাট করে প্রশ্ন করতে পারেন।
৩. বিচারকের কাজ হলো প্রশ্ন করে বের করা কোনটি মানুষ আর কোনটি মেশিন।
৪. মেশিনের কাজ হলো বিচারককে ধোঁকা দেওয়া এবং প্রমাণ করা যে সে মানুষ।
ফলাফল: যদি নির্দিষ্ট সময় পর বিচারক সঠিক ভাবে মেশিনকে শনাক্ত করতে ব্যর্থ হন (অর্থাৎ মেশিনটি যদি মানুষের মতো উত্তর দিয়ে বিচারককে বিভ্রান্ত করতে পারে), তবে বলা হয় মেশিনটি বুদ্ধিমান এবং এটি টিউরিং টেস্ট পাস করেছে।
উত্তর: ১৯৫০ সালে বিখ্যাত গণিতবিদ অ্যালান টিউরিং "Computing Machinery and Intelligence" পেপারে একটি পরীক্ষার প্রস্তাব দেন, যা Turing Test নামে পরিচিত। এর উদ্দেশ্য হলো একটি মেশিন বুদ্ধিমান কিনা তা যাচাই করা।
পরীক্ষা পদ্ধতি (The Imitation Game):
১. তিনটি কক্ষ থাকে। একটিতে একজন বিচারক (Human Interrogator - C), অন্যটিতে একজন মানুষ (Human - B) এবং তৃতীয়টিতে একটি মেশিন বা কম্পিউটার (Machine - A)।
২. বিচারক কাউকে দেখতে পান না, শুধু কীবোর্ড ও স্ক্রিনের মাধ্যমে টেক্সট চ্যাট করে প্রশ্ন করতে পারেন।
৩. বিচারকের কাজ হলো প্রশ্ন করে বের করা কোনটি মানুষ আর কোনটি মেশিন।
৪. মেশিনের কাজ হলো বিচারককে ধোঁকা দেওয়া এবং প্রমাণ করা যে সে মানুষ।
ফলাফল: যদি নির্দিষ্ট সময় পর বিচারক সঠিক ভাবে মেশিনকে শনাক্ত করতে ব্যর্থ হন (অর্থাৎ মেশিনটি যদি মানুষের মতো উত্তর দিয়ে বিচারককে বিভ্রান্ত করতে পারে), তবে বলা হয় মেশিনটি বুদ্ধিমান এবং এটি টিউরিং টেস্ট পাস করেছে।
প্রশ্ন ৪: PROLOG-এ Knowledge Base তৈরির পদ্ধতি উদাহরণসহ লেখো (Facts & Rules)।
উত্তর: PROLOG (Programming in Logic) ভাষায় প্রোগ্রাম লেখার মূল ভিত্তি হলো Facts এবং Rules।
১. Facts (তথ্য): এটি এমন কিছু বিবৃতি যা সর্বদা সত্য। PROLOG-এ রিলেশন এবং অবজেক্ট ছোট হাতের অক্ষরে লেখা হয় এবং শেষে ফুলস্টপ (.) থাকে।
উদাহরণ:
`likes(ram, mango).` (রাম আম পছন্দ করে)
`father(dasharath, ram).` (দশরথ রামের বাবা)
২. Rules (নিয়ম): এটি শর্তসাপেক্ষ সত্য। এর গঠন: `Head :- Body.` (:- মানে if বা যদি)।
উদাহরণ: (দাদু সম্পর্ক ডিফাইন করা)
`grandfather(X, Y) :- father(X, Z), parent(Z, Y).`
এর অর্থ: X হলো Y-এর দাদু, যদি X, Z-এর বাবা হয় এবং Z, Y-এর প্যারেন্ট হয়।
(এখানে X, Y, Z হলো ভেরিয়েবল, তাই বড় হাতের অক্ষর দিয়ে শুরু হয়েছে)।
উত্তর: PROLOG (Programming in Logic) ভাষায় প্রোগ্রাম লেখার মূল ভিত্তি হলো Facts এবং Rules।
১. Facts (তথ্য): এটি এমন কিছু বিবৃতি যা সর্বদা সত্য। PROLOG-এ রিলেশন এবং অবজেক্ট ছোট হাতের অক্ষরে লেখা হয় এবং শেষে ফুলস্টপ (.) থাকে।
উদাহরণ:
`likes(ram, mango).` (রাম আম পছন্দ করে)
`father(dasharath, ram).` (দশরথ রামের বাবা)
২. Rules (নিয়ম): এটি শর্তসাপেক্ষ সত্য। এর গঠন: `Head :- Body.` (:- মানে if বা যদি)।
উদাহরণ: (দাদু সম্পর্ক ডিফাইন করা)
`grandfather(X, Y) :- father(X, Z), parent(Z, Y).`
এর অর্থ: X হলো Y-এর দাদু, যদি X, Z-এর বাবা হয় এবং Z, Y-এর প্যারেন্ট হয়।
(এখানে X, Y, Z হলো ভেরিয়েবল, তাই বড় হাতের অক্ষর দিয়ে শুরু হয়েছে)।
প্রশ্ন ৫: Hill Climbing অ্যালগরিদম বা হিল ক্লাইম্বিং সার্চ পদ্ধতি বর্ণনা করো। এর সমস্যাগুলি কী?
উত্তর: Hill Climbing হলো একটি সাধারণ হিউরিস্টিক সার্চ অ্যালগরিদম। একে অনেক সময় "Greedy Local Search" বলা হয়।
পদ্ধতি:
Imagine করো তুমি চোখ বন্ধ করে পাহাড়ের চূড়ায় ওঠার চেষ্টা করছ। তুমি শুধু তোমার চারপাশের পা ফেলার জায়গা অনুভব করতে পারছ। তুমি সবসময় সেই দিকেই পা বাড়াবে যেদিকে উচ্চতা বেশি। ততক্ষণ পর্যন্ত উপরে উঠবে যতক্ষণ না তুমি এমন জায়গায় পৌঁছাও যার সবদিকের উচ্চতা কম (চূড়া)। Hill Climbing ঠিক এভাবেই কাজ করে—সর্বোচ্চ মান (Peak) না পাওয়া পর্যন্ত এটি ভালো প্রতিবেশী নোড (Neighbor Node) বেছে নিতে থাকে।
সমস্যাসমূহ:
১. Local Maximum: এমন একটি উঁচ জায়গা যা পাহাড়ের চূড়া নয়, কিন্তু তার আশেপাশের সব বিন্দুর চেয়ে উঁচু। অ্যালগরিদম এখানে এসে আটকে যায় এবং ভাবে এটিই গন্তব্য।
২. Plateau (মালভূমি): এমন একটি সমতল এলাকা যেখানে সব প্রতিবেশীর মান সমান। অ্যালগরিদম কোনদিকে যাবে বুঝতে পারে না।
৩. Ridge (রিজ): পাহাড়ের ঢালু খাঁজ, যেখানে অ্যালগরিদম ঠিকঠাক দিক নির্ণয় করতে ব্যর্থ হয়।
উত্তর: Hill Climbing হলো একটি সাধারণ হিউরিস্টিক সার্চ অ্যালগরিদম। একে অনেক সময় "Greedy Local Search" বলা হয়।
পদ্ধতি:
Imagine করো তুমি চোখ বন্ধ করে পাহাড়ের চূড়ায় ওঠার চেষ্টা করছ। তুমি শুধু তোমার চারপাশের পা ফেলার জায়গা অনুভব করতে পারছ। তুমি সবসময় সেই দিকেই পা বাড়াবে যেদিকে উচ্চতা বেশি। ততক্ষণ পর্যন্ত উপরে উঠবে যতক্ষণ না তুমি এমন জায়গায় পৌঁছাও যার সবদিকের উচ্চতা কম (চূড়া)। Hill Climbing ঠিক এভাবেই কাজ করে—সর্বোচ্চ মান (Peak) না পাওয়া পর্যন্ত এটি ভালো প্রতিবেশী নোড (Neighbor Node) বেছে নিতে থাকে।
সমস্যাসমূহ:
১. Local Maximum: এমন একটি উঁচ জায়গা যা পাহাড়ের চূড়া নয়, কিন্তু তার আশেপাশের সব বিন্দুর চেয়ে উঁচু। অ্যালগরিদম এখানে এসে আটকে যায় এবং ভাবে এটিই গন্তব্য।
২. Plateau (মালভূমি): এমন একটি সমতল এলাকা যেখানে সব প্রতিবেশীর মান সমান। অ্যালগরিদম কোনদিকে যাবে বুঝতে পারে না।
৩. Ridge (রিজ): পাহাড়ের ঢালু খাঁজ, যেখানে অ্যালগরিদম ঠিকঠাক দিক নির্ণয় করতে ব্যর্থ হয়।
Special: Important PROLOG Examples
(পরীক্ষায় ছোট কোড স্নিপেট লিখতে আসতে পারে)
উদাহরণ ১: Family Tree Relation
/* Facts */
male(rahul).
female(riya).
parent(rahul, ankit).
parent(riya, ankit).
/* Rule for Mother */
mother(X, Y) :- parent(X, Y), female(X).
/* (X is mother of Y if X is parent of Y AND X is female) */
/* Facts */
male(rahul).
female(riya).
parent(rahul, ankit).
parent(riya, ankit).
/* Rule for Mother */
mother(X, Y) :- parent(X, Y), female(X).
/* (X is mother of Y if X is parent of Y AND X is female) */
উদাহরণ ২: Comparison
/* Rule to check if two values are equal */
is_equal(X, Y) :- X =:= Y.
/* Query (Output) */
?- is_equal(5, 5).
Output: Yes / True
/* Rule to check if two values are equal */
is_equal(X, Y) :- X =:= Y.
/* Query (Output) */
?- is_equal(5, 5).
Output: Yes / True
পরীক্ষার আগের শেষ মুহূর্তের টিপস
- SQL Syntax: SQL কুয়েরি লেখার সময় সেমিকোলন (;) দিতে ভুলবে না। কলামের নাম ও টেবিলের নাম প্রশ্নের সাথে মিলিয়ে লিখবে।
- Diagrams: ER Diagram এবং Semantic Network আঁকার সময় পেন্সিল ব্যবহার করবে। Relationship-এর জন্য ডায়মন্ড শেপ এবং Attribute-এর জন্য ওভাল শেপ ঠিকঠাক আঁকবে।
- Differentiation: পার্থক্য লেখার সময় সবসময় ছক (Table) করে লিখবে। যেমন: DBMS vs File System, BFS vs DFS।
- Steps: অ্যালগরিদম লেখার সময় (যেমন A* বা Hill Climbing) পয়েন্ট করে ধাপগুলো (Steps) লিখবে, প্যারাগ্রাফ করে লিখলে নম্বর কম আসতে পারে।
- Acronyms: পূর্ণরূপ (Full Form) গুলো ভালো করে দেখে যাবে। যেমন: SQL, DDL, DML, DBA, AI, NLP, PROLOG, BFS, DFS।
Best of Luck for Your Exam 2026!

Comments
Post a Comment