অধ্যায় 5 · সম্ভাবনা
সম্ভাবনা: মৌলিক নিয়ম
- পৃষ্ঠা 13 / 17
- 3 মিনিট পড়া
AI সিস্টেম স্বভাবতই অনিশ্চিত: একটা ক্লাসিফায়ার বলে "৯০% সম্ভাবনা স্প্যাম", একটা ল্যাঙ্গুয়েজ মডেল সম্ভাবনা ধরে শব্দ বাছে, একটা এজেন্টের ধাপ বেশিরভাগ সময় সফল হয়। এই অনিশ্চয়তার ভাষাই সম্ভাবনা। সম্ভাবনা হলো ০ (অসম্ভব) থেকে ১ (নিশ্চিত) পর্যন্ত একটা সংখ্যা, প্রায়ই শতাংশে লেখা।
তিনটা নিয়ম
| নিয়ম | সূত্র | ছক্কার উদাহরণ |
|---|---|---|
| না | P(not A) = 1 − P(A) | P(ছয় না) = ১ − ১/৬ = ৫/৬ |
| এবং (স্বাধীন ঘটনা) | P(A and B) = P(A) × P(B) | পরপর দুটো ছয় = ১/৬ × ১/৬ = ১/৩৬ |
| অথবা | P(A or B) = P(A) + P(B) − P(A and B) | জোড় অথবা ৪-এর বেশি: ৩/৬ + ২/৬ − ১/৬ = ৪/৬ |
শেষ নিয়মে মিলে যাওয়া অংশ বিয়োগ করা হয় (৬ জোড়ও, ৪-এর বেশিও), যাতে সেটা দুবার গোনা না হয়। স্বাধীন মানে একটা ঘটনা অন্যটার সম্ভাবনা বদলায় না — দুটো ছক্কার ক্ষেত্রে সত্য, "মেঘলা" আর "বৃষ্টি"-র ক্ষেত্রে নয়।
সিমুলেশন করে যাচাই
কোনো সম্ভাবনা হিসাব করা কঠিন হলে সিমুলেট করুন: এলোমেলো সংখ্যা দিয়ে পরীক্ষাটা বহুবার করুন আর গুনুন। NumPy-তে এটা কয়েক লাইনের কাজ:
import numpy as np
rng = np.random.default_rng(5)
rolls = rng.integers(1, 7, size=600_000) # একটা নিরপেক্ষ ছক্কা, ৬,০০,০০০ বার ছোড়া
print("P(six) ≈", np.mean(rolls == 6).round(3), " exact", round(1 / 6, 3))
print("P(not six) ≈", np.mean(rolls != 6).round(3), " exact", round(5 / 6, 3))
print("P(even or > 4) ≈", np.mean((rolls % 2 == 0) | (rolls > 4)).round(3), " exact", round(4 / 6, 3))P(six) ≈ 0.167 exact 0.167
P(not six) ≈ 0.833 exact 0.833
P(even or > 4) ≈ 0.666 exact 0.667লম্বা এজেন্ট-শিকল কেন ব্যর্থ হয়
ভ্রমণ বুক করা একটা AI এজেন্ট হয়তো খোঁজে, তুলনা করে, ফর্ম পূরণ করে, টাকা দেয় আর নিশ্চিত করে। প্রতিটা ধাপ সফল হতে হলে "এবং" নিয়ম সম্ভাবনাগুলো গুণ করে:
# এজেন্ট কাজ শেষ করে শুধু তখনই, যখন প্রতিটা ধাপ সফল
for p_step in [0.99, 0.95, 0.90]:
row = [f"{p_step ** n:.0%}" for n in [1, 5, 10, 20]]
print(f"each step {p_step:.0%} reliable -> 1, 5, 10, 20 steps: {', '.join(row)}")each step 99% reliable -> 1, 5, 10, 20 steps: 99%, 95%, 90%, 82%
each step 95% reliable -> 1, 5, 10, 20 steps: 95%, 77%, 60%, 36%
each step 90% reliable -> 1, 5, 10, 20 steps: 90%, 59%, 35%, 12%প্রতিটা ধাপ ৯৫% নির্ভরযোগ্য হলেও ২০ ধাপের কাজ সফল হয় মোটে এক-তৃতীয়াংশ সময়। এজেন্ট ইঞ্জিনিয়ারিংয়ে এটা সবচেয়ে গুরুত্বপূর্ণ সংখ্যাগুলোর একটা। এই কারণেই ভালো এজেন্ট শিকল ছোট রাখে, নিজের ফলাফল যাচাই করে, ব্যর্থ ধাপ আবার চেষ্টা করে, আর নিশ্চিত না হলে মানুষকে জিজ্ঞেস করে।
এক্সপেক্টেড ভ্যালু
এক্সপেক্টেড ভ্যালু হলো বহুবার পুনরাবৃত্তির গড় ফলাফল: প্রতিটা ফলাফলকে তার সম্ভাবনা দিয়ে গুণ করে যোগ করুন। একটা AI ফিচারের চলমান খরচ এভাবেই আন্দাজ করা হয়:
# একটা সাপোর্ট প্রশ্নে গড়ে কত খরচ?
outcomes = [
# (সম্ভাবনা, খরচ মার্কিন সেন্টে)
(0.70, 0.2), # ছোট, সস্তা মডেল উত্তর দিয়েছে
(0.25, 1.5), # বড় মডেলে পাঠানো হয়েছে
(0.05, 40.0), # মানুষ এজেন্টের কাছে দেওয়া হয়েছে
]
expected = sum(p * cost for p, cost in outcomes)
print(f"expected cost: {expected:.3f} cents per question")
print(f"for 100,000 questions a month: ${expected * 100_000 / 100:,.0f}")expected cost: 2.515 cents per question
for 100,000 questions a month: $2,515বিরল মানুষ-হস্তান্তর (৫% প্রশ্ন) খরচের ৮০% — আড়াই সেন্টের মধ্যে ২ সেন্ট। এক্সপেক্টেড ভ্যালু দেখায় আগে কোথায় অপ্টিমাইজ করতে হবে।
নিজে চেষ্টা করুন
- চারবার ছুড়লে অন্তত একটা ছয় পড়ার সম্ভাবনা কত? (ইঙ্গিত: ১ − P(চারবারে একটাও ছয় না)।) সিমুলেশন করে যাচাই করুন।
- ১০ ধাপের একটা এজেন্ট ৯০% সময় সফল হতে প্রতিটা ধাপ কতটা নির্ভরযোগ্য হতে হবে?
- মানুষ-হস্তান্তর কমে ২% হলে নতুন এক্সপেক্টেড খরচ কত?