ইউটিলিটারিয়ানিজম — AI সিদ্ধান্তে কনসিকোয়েনশিয়ালিস্ট যুক্তি
এই পাঠে যা শিখবেন
- উপযোগবাদের মূল সংজ্ঞা ও কনসিকোয়েনশিয়ালিস্ট (ফলাফল-কেন্দ্রিক) যুক্তির ধরন
- প্রত্যাশিত কল্যাণ (expected welfare) গণনা করার সূত্র ও পদ্ধতি — সম্ভাবনা × মাত্রা
- একটি বাস্তবসম্মত AI দৃশ্যকল্পে সত্যিকারের গণনা করে উপযোগবাদী-পছন্দের বিকল্প খুঁজে বের করা
- উপযোগবাদের সীমাবদ্ধতা — কেন শুধু এই একটি ফ্রেমওয়ার্কের উপর নির্ভর করা বিপজ্জনক (M2-এর পরবর্তী পাঠের প্রস্তুতি)
১ · উপযোগবাদ কী
উপযোগবাদ (Utilitarianism)উপযোগবাদএকটি কনসিকোয়েনশিয়ালিস্ট নৈতিক তত্ত্ব — কোনো কাজ/সিদ্ধান্ত নৈতিকভাবে সঠিক কি না তা তার ফলাফল দ্বারা নির্ধারিত হয়; যে বিকল্প সামগ্রিক কল্যাণ (সুখ, উপকার, ক্ষতি-হ্রাস) সর্বোচ্চ করে, সেটিই পছন্দনীয়। হলো একটি কনসিকোয়েনশিয়ালিস্ট নৈতিক তত্ত্ব — অর্থাৎ, একটি সিদ্ধান্ত নৈতিকভাবে সঠিক কি না তা নির্ধারিত হয় তার ফলাফল দ্বারা, নিয়ম বা উদ্দেশ্য দ্বারা নয়। জেরেমি বেন্থাম ও জন স্টুয়ার্ট মিলের মতো ধ্রুপদী দার্শনিকদের হাত ধরে গড়ে ওঠা এই তত্ত্বের মূল যুক্তি সহজ: প্রতিটি বিকল্পের ফলে যে সামগ্রিক "কল্যাণ" (welfare — সুখ, উপকার, ক্ষতি-হ্রাস) তৈরি হয় তা যোগ করো; যে বিকল্পের যোগফল সবচেয়ে বেশি, সেটিই নৈতিকভাবে সঠিক পছন্দ।
AI সিদ্ধান্তে এটি স্বাভাবিকভাবেই আকর্ষণীয়, কারণ একটি মডেল/নীতি সিদ্ধান্ত প্রায়ই ইতিমধ্যে সংখ্যায় প্রকাশযোগ্য (accuracy, cost, ঝুঁকি, রোগীর সংখ্যা) — তাই "কোন নীতি সামগ্রিকভাবে সবচেয়ে কম ক্ষতি/সবচেয়ে বেশি উপকার করে" প্রশ্নটি একটি গণনাযোগ্য প্রশ্নে রূপান্তরিত করা সম্ভব মনে হয়।
২ · কেন এটি AI সিদ্ধান্তে আকর্ষণীয় (এবং কোথায় ঝুঁকি)
এটি একটি বিমূর্ত নীতির বদলে একটি সুনির্দিষ্ট গণনায় রূপান্তরিত করে — কোন নীতি বেছে নিতে হবে তা স্পষ্টভাবে যুক্তিসঙ্গত করা যায়।
প্রতিটি স্টেকহোল্ডার গ্রুপের উপকার/ক্ষতি আলাদাভাবে লিখতে বাধ্য করে — কেউ যেন নীরবে উপেক্ষিত না হয়।
সম্ভাবনা ও মাত্রার অনুমান নিজেই একটি মূল্যবোধ-নির্ভর সিদ্ধান্ত — ভুল বা পক্ষপাতদুষ্ট অনুমান পুরো ফলাফল বদলে দিতে পারে।
সামগ্রিক যোগফল ইতিবাচক হলেও একটি ছোট গ্রুপ মারাত্মকভাবে ক্ষতিগ্রস্ত হতে পারে — গড় ভালো হলেও সবার জন্য ভালো নাও হতে পারে (L06-এ এর প্রতিকার হিসেবে ম্যাক্সিমিন দেখা হবে)।
৩ · দৃশ্যকল্প — হাসপাতাল ট্রায়াজ-প্রায়োরিটাইজেশন AI
ধরা যাক একটি হাসপাতালের ইমার্জেন্সি বিভাগ, চাহিদা ক্ষমতার চেয়ে বেশি হলে কোন রোগীকে আগে দেখা হবে তা নির্ধারণে একটি AI-সহায়ক ট্রায়াজ সিস্টেম বসাতে চাইছে। তিনটি প্রার্থী নীতি বিবেচনায় আছে:
- নীতি A — সময়ভিত্তিক সারি (হালকা severity সমন্বয়সহ): মূলত "যে আগে এসেছে সে আগে" নীতি, শুধু সামান্য severity-ভিত্তিক সমন্বয়সহ।
- নীতি B — শুধু severity-ওয়েটেড: সম্পূর্ণভাবে predicted medical severity/urgency স্কোরের ভিত্তিতে অগ্রাধিকার — যত গুরুতর, তত আগে।
- নীতি C — severity × প্রত্যাশিত-উপকার: severity বিবেচনা করে, কিন্তু সাথে এটাও হিসাব করে যে দ্রুত চিকিৎসা পেলে রোগীর প্রকৃতপক্ষে কতটা উপকার হবে (সালভেজেবিলিটি) — কিছু অতি-গুরুতর রোগীর ক্ষেত্রে দ্রুত চিকিৎসাও ফলাফল খুব একটা বদলাতে নাও পারে।
পাঁচটি স্টেকহোল্ডার গ্রুপ প্রতিটি নীতির দ্বারা ভিন্নভাবে প্রভাবিত হয়: গুরুতর-সালভেজেবল রোগী (দ্রুত চিকিৎসায় ভালো সাড়া দেয়), গুরুতর-লো-সালভেজ রোগী (চিকিৎসায় সাড়া দেওয়ার সম্ভাবনা কম), মাঝারি ও হালকা অবস্থার রোগী, এবং মেডিক্যাল স্টাফ (workload/stress)। প্রতিটি গ্রুপের জন্য একটি নীতির অধীনে উপকার হওয়ার সম্ভাবনা ও মাত্রা, এবং ক্ষতি হওয়ার সম্ভাবনা ও মাত্রা (ইলাস্ট্রেটিভ ইউনিটে) অনুমান করা হয়েছে — এই সংখ্যাগুলো সিন্থেটিক, বাস্তব কোনো হাসপাতালের ডেটা নয়।
প্রতিটি গ্রুপ g-এর জন্য প্রত্যাশিত নিট কল্যাণ:
$$EW(o) = \sum_{g \in G} n_g \left( p_{b,g}\, m_{b,g} \;-\; p_{h,g}\, m_{h,g} \right)$$
এখানে $o$ = নীতি বিকল্প, $G$ = স্টেকহোল্ডার গ্রুপসমূহ, $n_g$ = গ্রুপের আকার (সংখ্যা), $p_{b,g}$ ও $m_{b,g}$ = গ্রুপ $g$-এর জন্য উপকার হওয়ার সম্ভাবনা ও মাত্রা, এবং $p_{h,g}$ ও $m_{h,g}$ = ক্ষতি হওয়ার সম্ভাবনা ও মাত্রা। প্রতিটি গ্রুপের প্রত্যাশিত নিট কল্যাণকে তার গ্রুপ-আকার দিয়ে গুণ করে সব গ্রুপের উপর যোগ করলে সেই নীতির মোট প্রত্যাশিত কল্যাণ পাওয়া যায়।
# হাসপাতাল ট্রায়াজ-প্রায়োরিটাইজেশন AI -- তিনটি প্রার্থী নীতি (সিন্থেটিক, ইলাস্ট্রেটিভ সংখ্যা)
# প্রতিটি গ্রুপের জন্য: count (গ্রুপ-আকার), p_benefit/m_benefit (উপকারের সম্ভাবনা/মাত্রা),
# p_harm/m_harm (ক্ষতির সম্ভাবনা/মাত্রা)
options = {
"A. সময়ভিত্তিক সারি (হালকা severity সমন্বয়)": {
"critical_salvageable": {"count": 20, "p_benefit": 0.30, "m_benefit": 8, "p_harm": 0.50, "m_harm": 6},
"critical_low_salvage": {"count": 8, "p_benefit": 0.30, "m_benefit": 2, "p_harm": 0.40, "m_harm": 3},
"moderate": {"count": 50, "p_benefit": 0.50, "m_benefit": 3, "p_harm": 0.20, "m_harm": 2},
"mild": {"count": 100, "p_benefit": 0.70, "m_benefit": 1, "p_harm": 0.05, "m_harm": 1},
"staff": {"count": 30, "p_benefit": 0.60, "m_benefit": 2, "p_harm": 0.10, "m_harm": 1},
},
"B. শুধু severity-ওয়েটেড": {
"critical_salvageable": {"count": 20, "p_benefit": 0.90, "m_benefit": 9, "p_harm": 0.05, "m_harm": 5},
"critical_low_salvage": {"count": 8, "p_benefit": 0.85, "m_benefit": 3, "p_harm": 0.05, "m_harm": 3},
"moderate": {"count": 50, "p_benefit": 0.20, "m_benefit": 3, "p_harm": 0.60, "m_harm": 4},
"mild": {"count": 100, "p_benefit": 0.10, "m_benefit": 1, "p_harm": 0.50, "m_harm": 2},
"staff": {"count": 30, "p_benefit": 0.30, "m_benefit": 1, "p_harm": 0.40, "m_harm": 3},
},
"C. severity × প্রত্যাশিত-উপকার (সালভেজেবিলিটি বিবেচনা)": {
"critical_salvageable": {"count": 20, "p_benefit": 0.95, "m_benefit": 10, "p_harm": 0.02, "m_harm": 5},
"critical_low_salvage": {"count": 8, "p_benefit": 0.40, "m_benefit": 3, "p_harm": 0.30, "m_harm": 4},
"moderate": {"count": 50, "p_benefit": 0.60, "m_benefit": 4, "p_harm": 0.15, "m_harm": 2},
"mild": {"count": 100, "p_benefit": 0.50, "m_benefit": 1.5, "p_harm": 0.10, "m_harm": 1},
"staff": {"count": 30, "p_benefit": 0.50, "m_benefit": 2, "p_harm": 0.30, "m_harm": 2},
},
}
GROUP_LABELS = {
"critical_salvageable": "গুরুতর রোগী (দ্রুত চিকিৎসায় ভালো সাড়া দেওয়ার সম্ভাবনা বেশি)",
"critical_low_salvage": "গুরুতর রোগী (চিকিৎসায় সাড়া দেওয়ার সম্ভাবনা কম)",
"moderate": "মাঝারি অবস্থার রোগী",
"mild": "হালকা অবস্থার রোগী",
"staff": "মেডিক্যাল স্টাফ",
}
def expected_welfare(option_data):
total = 0.0
breakdown = {}
for group, d in option_data.items():
net_per_person = d["p_benefit"] * d["m_benefit"] - d["p_harm"] * d["m_harm"]
group_total = d["count"] * net_per_person
breakdown[group] = group_total
total += group_total
return total, breakdown
results = {}
for name, data in options.items():
total, breakdown = expected_welfare(data)
results[name] = total
print(f"--- {name} ---")
for group, val in breakdown.items():
print(f" {GROUP_LABELS[group]}: {val:+.1f}")
print(f" মোট প্রত্যাশিত কল্যাণ: {total:+.1f}\n")
best = max(results, key=results.get)
print("=" * 50)
print("ইউটিলিটারিয়ান-পছন্দের বিকল্প (সর্বোচ্চ মোট প্রত্যাশিত কল্যাণ):")
print(f" {best}\n -> {results[best]:+.1f}")
উপযোগবাদ একটি শক্তিশালী টুল — এটি "সবচেয়ে স্বজ্ঞাগতভাবে সঠিক মনে হওয়া" নীতি (এখানে, শুধু severity দেখা) যে বাস্তবে সামগ্রিকভাবে ক্ষতিকর হতে পারে তা দেখিয়ে দেয়। কিন্তু এর পুরো ফলাফল নির্ভর করে ইনপুট অনুমানের (সম্ভাবনা, মাত্রা) উপর — এই অনুমানগুলো কারা ঠিক করছে এবং কতটা নির্ভরযোগ্য, তা নিজেই একটি গুরুত্বপূর্ণ নৈতিক প্রশ্ন। এবং, যদি একটি নীতি সামগ্রিক যোগফল বাড়ালেও একটি ছোট গ্রুপকে মারাত্মকভাবে ক্ষতিগ্রস্ত করে, উপযোগবাদ একাই তা আটকাতে পারে না — L06-এ আমরা দেখব কীভাবে নিয়ম-ভিত্তিক (deontological) ও maximin যুক্তি এই ফাঁক পূরণ করে।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ উপরের ফলাফলে নীতি B (শুধু severity-ওয়েটেড) দুটি গুরুতর-রোগী গ্রুপে সর্বোচ্চ স্কোর পেলেও সামগ্রিক প্রত্যাশিত কল্যাণে ঋণাত্মক হলো কেন?
কারণ severity-শুধু-নির্ভর নীতি critical_low_salvage গ্রুপকেও (যাদের চিকিৎসায় সাড়া দেওয়ার সম্ভাবনা কম) সর্বোচ্চ অগ্রাধিকার দেয় — সম্পদ এমন রোগীদের জন্য ব্যয় হয় যাদের প্রকৃত প্রত্যাশিত উপকার সীমিত। এর ফলে মাঝারি ও হালকা অবস্থার রোগীরা (একসাথে ১৫০ জন, দুই গুরুতর গ্রুপের ২৮ জনের তুলনায় অনেক বেশি) মারাত্মকভাবে বিলম্বিত হয়, এবং তাদের ক্ষতি সামগ্রিক যোগফলে প্রাধান্য পায়।
প্র ০২ যদি হাসপাতাল পরে দেখে যে critical_low_salvage গ্রুপের জন্য নির্ধারিত সম্ভাবনা/মাত্রা সংখ্যাগুলো ভুল ছিল (বাস্তবে আরও বেশি রোগী উপকৃত হন), তাহলে সামগ্রিক সিদ্ধান্তে কী প্রভাব পড়তে পারে?
প্রত্যাশিত কল্যাণ সম্পূর্ণভাবে নির্ভর করে ইনপুট অনুমানের (সম্ভাবনা, মাত্রা) সঠিকতার উপর। ভুল বা পুরনো অনুমান পুরো র্যাঙ্কিং বদলে দিতে পারে — এটাই দেখায় কেন এই ধরনের গণনাকে "একবার করে ভুলে যাওয়া" উচিত নয়, বরং নিয়মিত পুনর্মূল্যায়ন ও সংবেদনশীলতা বিশ্লেষণ (sensitivity analysis) প্রয়োজন। "প্র্যাকটিস" অংশে এটি সরাসরি পরীক্ষা করা যাবে।
প্র ০৩ উপযোগবাদ অনুযায়ী, যদি কোনো নীতি একটি ছোট গ্রুপকে মারাত্মকভাবে ক্ষতিগ্রস্ত করে কিন্তু সামগ্রিক যোগফল ইতিবাচক থাকে, তাহলে কি সেই নীতি নৈতিকভাবে গ্রহণযোগ্য?
বিশুদ্ধ উপযোগবাদী গণিত অনুযায়ী — হ্যাঁ, যদি সামগ্রিক যোগফল ইতিবাচক থাকে। এটিই উপযোগবাদের সবচেয়ে পরিচিত সমালোচনা: এটি এককভাবে একটি গ্রুপের অধিকার/মর্যাদা রক্ষা করে না, শুধু যোগফল দেখে। L06-এ আমরা দেখব কীভাবে ডিওন্টোলজিকাল (নিয়ম-ভিত্তিক) ইনভায়োলেবল রুল এবং রলসিয়ান ম্যাক্সিমিন যুক্তি এই ধরনের পরিস্থিতিতে একটি প্রয়োজনীয় সীমা টেনে দেয়, যা শুধু উপযোগবাদ দিতে পারে না।
অনুশীলন
-
চিন্তা করুন: উপরের কোড সেলে নীতি C-এর
critical_low_salvageগ্রুপেরm_benefit-কে3থেকে6-এ বাড়ালে (অর্থাৎ ধরুন এই গ্রুপের রোগীরা যতটা মনে করা হয়েছিল তার চেয়ে বেশি উপকৃত হন) মোট প্রত্যাশিত কল্যাণে কী পরিবর্তন হবে বলে মনে করেন?নতুন নিট মান হবে
0.40 × 6 − 0.30 × 4 = 2.4 − 1.2 = 1.2, অর্থাৎ ৮ জনের গ্রুপে মোট8 × 1.2 = 9.6(আগে ছিল ০.০)। নীতি C-এর মোট প্রত্যাশিত কল্যাণ প্রায় ৩৭৯.৬-এ বাড়বে, তবে এটি ইতিমধ্যে সর্বোচ্চ ছিল, তাই সামগ্রিক র্যাঙ্কিং বদলাবে না — শুধু ব্যবধান আরও বাড়বে। -
পরীক্ষা করুন: উপরের কোড সেলে নীতি C-এর
critical_low_salvageগ্রুপের"m_benefit": 3-কে"m_benefit": 6-এ পরিবর্তন করে Run চেপে আপনার অনুমান যাচাই করুন।রান করলে নীতি C-এর মোট প্রত্যাশিত কল্যাণ প্রায় ৩৭৯.৬ দেখাবে (আগে ছিল ৩৭০.০) — নীতি A (১৩৬.২) ও নীতি B (−৩০.৮)-এর তুলনায় ব্যবধান আরও বেড়েছে, ফলে উপযোগবাদী-পছন্দের সিদ্ধান্তে কোনো পরিবর্তন হয়নি, তবে সিদ্ধান্তটি আরও দৃঢ়ভাবে সমর্থিত হয়েছে।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- কোর্সের সম্পূর্ণ সিলেবাস দেখুন ৫৭টি পাঠ নৈতিক ফ্রেমওয়ার্ক, বায়াস-ফেয়ারনেস, প্রাইভেসি, ট্রান্সপারেন্সি, AI অ্যালাইনমেন্ট, জেনারেটিভ AI/LLM এথিক্স, সামাজিক প্রভাব, গভর্নেন্স ও রেগুলেশন, সেক্টর-স্পেসিফিক এথিক্স ও এক্সিস্টেনশিয়াল রিস্ক বিতর্ক — বাকি পাঠগুলো শীঘ্রই যুক্ত হবে।
- Ethics in Computing & AI Safety কোর্স সহোদর কোর্স সাধারণ কম্পিউটিং এথিক্স, প্রফেশনাল এথিক্স ও সেফটি-ক্রিটিক্যাল কেস স্টাডির একটি বিস্তৃত সার্ভে — এই কোর্স সম্পূর্ণভাবে AI-তে ফোকাস করে গভীরে যায়।
- সব Courses দেখুন ABCL TECH C, C++, Python, Java, JavaScript, DSA, Machine Learning, Deep Learning, System Design, Cybersecurity, Cloud Computing & DevOps, এবং আরও অনেক কোর্স — সব এক জায়গায়।