Which one below declares a function pointer (f) pointing to a function taking an int and a float and returning a double?
A
double *f (int, float)
B
double (*f) (int, float)
C
(*double) f (int, float)
D
double f* (int, float)
উত্তরের বিবরণ
উত্তর: double (*f) (int, float)
ব্যাখ্যা: এখানে বন্ধনীর মাধ্যমে বোঝানো হয়েছে যে f একটি পয়েন্টার, যা এমন একটি ফাংশনের দিকে নির্দেশ করে, যার দুটি প্যারামিটার আছে—একটি int ও একটি float, এবং সেটি double টাইপের মান রিটার্ন করে।
যদি বন্ধনী না দেওয়া হয় যেমন double *f(int, float)
, তাহলে সেটি হবে এমন একটি ফাংশন যা double টাইপের পয়েন্টার রিটার্ন করে, কিন্তু এখানে উদ্দেশ্য ছিল ফাংশনের প্রতি পয়েন্টার ঘোষণা করা। তাই সঠিক রূপ হলো double (*f)(int, float)।

0
Updated: 1 day ago
____________algorithm requires policy.
Created: 1 day ago
A
Supervised learning
B
Fuzzy logic
C
Deep learning
D
Reinforcement learning
Reinforcement Learning (RL) হলো এক ধরনের মেশিন লার্নিং পদ্ধতি, যেখানে একটি এজেন্ট (agent) নির্দিষ্ট লক্ষ্য অর্জনের জন্য পরিবেশের (environment) সঙ্গে পর্যায়ক্রমিকভাবে মিথস্ক্রিয়া করে সিদ্ধান্ত গ্রহণের কৌশল শেখে।
-
মূল ধারণা: এজেন্ট তার প্রতিটি কর্মকাণ্ডের পর পরিবেশ থেকে পুরস্কার (reward) বা দণ্ড (penalty) পায়, এবং এই অভিজ্ঞতা থেকে শেখে কোন কাজগুলো কাঙ্ক্ষিত ফলাফল দেয়।
-
নীতিমালা (Policy): এজেন্ট একটি policy অনুসরণ করে, যা নির্দেশ করে নির্দিষ্ট অবস্থায় (state) কোন কাজ (action) করতে হবে।
-
শিক্ষণ প্রক্রিয়া: ট্রায়াল ও এরর (trial and error) পদ্ধতির মাধ্যমে এজেন্ট সময়ের সঙ্গে সঙ্গে তার কৌশল উন্নত করে, যাতে সর্বোচ্চ পুরস্কার অর্জন করা যায়।
-
উদাহরণ: রোবটকে হাঁটতে শেখানো, স্বয়ংচালিত গাড়ির সিদ্ধান্ত নেওয়া, বা গেম খেলার অ্যালগরিদমে RL ব্যবহৃত হয়।
-
উপাদান: RL-এর প্রধান উপাদান হলো agent, environment, policy, reward function, ও value function।

0
Updated: 1 day ago
Which of the following runs the fastest?
Created: 13 hours ago
A
O(log n)
B
O(n)
C
O(n log n)
D
O(√n)
অ্যালগরিদমের গতি নির্ভর করে তার time complexity–এর উপর। নিচে প্রতিটি বিকল্পের বিশ্লেষণ দেওয়া হলো—
-
ক) O(log n): এটি logarithmic time complexity, যার বৃদ্ধি হার খুব ধীর। ইনপুটের আকার বাড়লেও সময় ধীরে বাড়ে। উদাহরণ: Binary Search।
-
খ) O(n): এটি linear time complexity, যেখানে সময় ইনপুটের আকারের সঙ্গে সরাসরি অনুপাতে বৃদ্ধি পায়। উদাহরণ: Linear Search।
-
গ) O(n log n): এটি linearithmic time, যা linear-এর চেয়ে দ্রুত বৃদ্ধি পায় কিন্তু quadratic-এর চেয়ে ধীর। উদাহরণ: MergeSort, QuickSort।
-
ঘ) O(√n): এটি square root time, যা linear-এর চেয়ে ধীর কিন্তু logarithmic-এর চেয়ে দ্রুত বৃদ্ধি পায়। এটি কিছু বিশেষ সংখ্যাতত্ত্বভিত্তিক অ্যালগরিদমে দেখা যায়।
উ. ক) O(log n)
ব্যাখ্যা: Logarithmic অ্যালগরিদম সবচেয়ে দ্রুত বৃদ্ধি পাওয়া ধরণগুলোর মধ্যে সবচেয়ে ধীর (অর্থাৎ সবচেয়ে দ্রুত কর্মক্ষম)। তাই O(log n)–এর সময় জটিলতার অ্যালগরিদম সবচেয়ে দ্রুত চলে।

0
Updated: 13 hours ago
If |A| = m, |B| = n, then the number of injective functions A → B (m ≤ n) is:
Created: 1 day ago
A
P(n,m)
B
C(n,m)
C
nm
D
m
যদি |A| = m এবং |B| = n (m ≤ n) হয়, তবে A → B এর একেকটি injective (one-to-one) ফাংশনের সংখ্যা হবে P(n, m) = n! / (n − m)!। এই সূত্রটি permutation ধারণার উপর ভিত্তি করে তৈরি।
মূল ব্যাখ্যা হলো:
-
A-এর প্রথম উপাদান B-এর n উপাদানের যেকোনো একটির সাথে যুক্ত হতে পারে।
-
দ্বিতীয় উপাদানের জন্য থাকে **(n − 1)**টি বিকল্প, কারণ একই উপাদান আবার ব্যবহার করা যাবে না (injective হওয়ার কারণে)।
-
এভাবে ক্রমান্বয়ে mটি উপাদানের জন্য বিকল্পের সংখ্যা কমতে থাকে।
-
ফলে মোট ফাংশনের সংখ্যা হয়:
n × (n − 1) × (n − 2) × … × (n − m + 1) = n! / (n − m)!
অতএব, injective mapping-এর সংখ্যা = P(n, m)।

0
Updated: 1 day ago