Thursday, February 14, 2013

ကွန်ပျူတာသိပ္ပံ ဖြစ်နိုင်ခြေသီအိုရီ နှင့် ကျပမ်းဖြစ်စဉ်

မေရရာမႈ၏အတိုင္းအတာ (သို ့မဟုတ္) ျဖစ္ႏိုင္ေျခ
၁၇ ရာစုမွာ သခၤ်ာပညာရပ္ရဲ့ ကိုင္းခြဲတစ္ခုအျဖစ္ စတင္ေပၚေပါက္ခဲ့ျပီး ၂၀ ရာစုမွာ သူ ့ ရဲ့အေရးပါမႈ တဟုန္ထိုး တိုးတက္လာခဲ့တဲ့ ျဖစ္ႏိုင္ေျခသီအိုရီ (Probability Theory) ဟာ အခုခါမွာကြန္ျပဴတာသိပၸံအပါအ၀င္ တျခားပညာရပ္ေတြမွာပါ အဓိက အခန္းကဏၭက ပါ၀င္လာပါတယ္။ ဘာလို ့လဲဆိုေတာ့ ပညာရပ္ဆိုင္ရာ နယ္ပယ္အသီးသီးမွာ ရွိေနတဲ့  မေသခ်ာ မေရရာမႈျပႆနာ (uncertainty problem) ေတြနဲ ့၊ ျပႆနာေျဖရွင္းပံု နည္းလမ္းအဆင့္ဆင့္ (algorithm) ေတြမွာ က်ပမ္းျဖစ္စဥ္ (randomization) ေတြ ပါ၀င္ေနလို ့ျဖစ္ျပီး၊ အဲဒီ (uncertainty problem နဲ ့ ramdomization ေတြ) မွာ သံုးစြဲထားတဲ့၊ ဒါမွမဟုတ္ အဲဒီက ရရွိလာမယ့္ ကိန္းဂဏန္းေတြ ရလာဒ္ေတြရဲ့ “တိက်ေသခ်ာမႈ” သို ့မဟုတ္ “မတိက် မေသခ်ာမႈ” ကို စံုစမ္းစစ္ေဆးဖို ့၊ တိုင္းတာ အကဲျဖတ္ဖို ့အတြက္  ျဖစ္ႏိုင္ေျခသီအိုရီကို ပဲ သံုးရမွာကိုး။
ျဖစ္ႏိုင္ေျခႏွင့္ အသံုးခ်နယ္ပယ္မ်ား
ကၽြန္ေတာ္တို ့ကေတာ့ ‘ျဖစ္ႏိုင္ေျခ’ လို ့ ေျပာလိုက္တာနဲ ့ ေခါင္းပန္းလွန္တာ၊ အန္စာတံုးလွိမ့္တာ နဲ ့ ဖဲထုပ္ထဲက လိုခ်င္တဲ့ ဖဲခ်ပ္ဆြဲထုတ္တာ ေလာက္ပဲ ေျပးျမင္မိပါတယ္။ “ေခါင္းပန္းလွန္မယ္ေဟ့ ေခါင္း က်ႏိုင္ေျခ ဘယ္ေလာက္ လဲ။ ပန္းက်ႏိုင္ေျခဘယ္ေလာက္လဲ။”  ဆိုတဲ့အခါ “ေခါင္းနဲ ့ပန္း ႏွစ္မ်ိဳးတည္းရွိတာဆိုေတာ့ ျဖစ္ႏိုင္ေျခက တ၀က္ တ၀က္ စီ half  half, ဒါေၾကာင့္ ေခါင္းက်ႏိုင္ေျခ ေရာ ပန္းက်ႏိုင္ေျခေရာ 0.5 (50%) စီေပါ့ကြ။” ဆိုတာေလာက္နဲ ့ပဲ ျပီးသြားေလ့ရွိပါတယ္။ တကယ္ေတာ့ ဒီထက္ အမ်ားၾကီးပိုတဲ့ တကယ့္ အသံုးခ်နယ္ပယ္ေတြရွိပါေသးတယ္။ ဥပမာေျပာရရင္ ကြန္ျပဴတာသိပၸံပညာရပ္မွာဆို  ကြန္ျပဴတာစနစ္ရဲ့ ဒီဇိုင္း (computer system design) ပိုင္းဆိုင္ရာကိစၥရပ္ေတြျဖစ္တဲ့
·        memory management (မွတ္ဉာဏ္စီမံခန္ ့ခြဲမႈ)
·        branch prediction (ပရိုဂရမ္ေတြ၊ algorithm ေတြ၊ ေဆာ့ဖ္၀ဲ logic ေတြ နဲ ့ graph(computational graph theory) ေတြမွာ ေနာက္တဆင့္ ဘယ္သြားမယ္ ဘာလုပ္မယ္ ဘာျဖစ္မယ္ဆိုတာကို ခန္ ့မွန္းျခင္း)
·        packet routing (ကြန္ျပဴတာကြန္ယက္တေလ်ာက္ အခ်က္အလက္ေတြ ဘယ္လိုလမ္းေၾကာင္းကသြားတယ္) ဆိုတာ နဲ ့
·        load balancing  (ကြန္ျပဴတာ ဆာဗာ(server) ေတြ အခ်င္းခ်င္း အလုပ္ေတြကို ဘယ္လိုခြဲေ၀လုပ္ၾကတယ္)
စတဲ့ ကိစၥရပ္ေတြအားလံုးဟာ ျဖစ္ႏိုင္ေျခယူဆခ်က္နဲ ့ သရုပ္ခြဲေလ့လာဆန္းစစ္မႈ (probabilistic assumptions and analyses) ေတြကို အေျခခံထားတာပါ။ ဒါ့အျပင္ သီအိုရီကြန္ျပဴတာသိပၸံ (theoretical computer science)၊ သတင္းအခ်က္အလက္သီအိုရီ (information theory)၊ ဂိမ္းသီအိုရီ (game theory) တုပအသိဉာဏ္ (artificial intelligence) နဲ ့ ကုဒ္စကား၀ွက္စနစ္ (cryptography) ပညာရပ္ ေတြမွာပါ ဒီ ျဖစ္ႏိုင္ေျခသီအိုရီဟာ အခ်က္အျခာေနရာက ပါ၀င္ေနပါတယ္။
ျဖစ္ႏိုင္ေျခ၏ရႈပ္ေထြးမႈ (သို ့မဟုတ္) မြန္တီေဟာျပႆနာ
၁၉၉၀ စက္တင္ဘာ ၉-ရက္ ေန ့ထုတ္ အေမရိကန္ မဂၢဇင္း ‘Parade’ မွာ ျပန္စာတစ္ေဆာင္ပါလာတယ္။ ျပန္စာေရးတဲ့သူက ေကာ္လံစားသတင္းသမား Marilyn vos Savant။ ေပးစာ ေမးစာ ေရးတဲ့သူက Craig. F. Whitaker ဆိုတဲ့ ပုဂၢိဳလ္။ သူေရးထားတာ ေမးထားတာက…
“မိတ္ေဆြဟာ game show တစ္ခုမွာ ၀င္ ႏႊဲတယ္ဆိုပါေတာ့။ အဲဒီ game က ဒီလို။ (အခန္းသံုးခန္း) တံခါးသံုးခု ရွိတယ္။ အခန္းတခုထဲမွာက ကားတစီးရွိတယ္။ က်န္တဲ့ အခန္းႏွစ္ခန္းထဲမွာေတာ့ ဆိတ္ တစ္ေကာင္စီ ထည့္ထားတယ္။ အထဲမွာ ဘာရွိတုန္း မျမင္ရဘူး အခန္းတံခါးပိတ္ထားတယ္ေပါ့ဗ်ာ။ ၀င္ျပိဳင္တဲ့သူက အဲဒီသံုးခန္းထဲက တခန္းကို ေရြးရမယ္။ ဘယ္သူမဆို ကား ရွိတဲ့ အခန္းကိုပဲ ေရြးမွာေပါ့။ ဆိုပါစို ့ မိတ္ေဆြက အခန္းနံပါတ္ တစ္ကို ေရြးလိုက္တယ္ဆိုပါေတာ့။ မိတ္ေဆြေရြးလိုက္တဲ့ အခန္းထဲမွာ ဘာရွိတုန္း ခ်က္ျခင္း တံခါးဖြင့္ မျပေသးဘူးေနာ္။ အဲဒီမွာ ပြဲတင္ဆက္သူက တျခား က်န္တဲ့ အခန္းႏွစ္ခန္းထဲက ဆိတ္တေကာင္ ရွိေနတဲ့ အခန္းကို ဖြင့္ျပမယ္။ ထားပါေတာ့ နံပါတ္သံုးအခန္းေပါ့။ ျပီးရင္ မိတ္ေဆြကို “ခင္ဗ်ား နံပါတ္ႏွစ္အခန္းကို ေျပာင္း ယူမလား” လို ့ေမးမယ္။ (မိတ္ေဆြက နဂိုက အခန္းနံပါတ္ တစ္ ကို ေရြးခဲ့တယ္ေနာ္။) အဲဒီမွာ တကယ့္ေမးခြန္းက “သူေျပာသလို ကိုယ့္ရဲ့ နဂိုေရြးခ်ယ္ထားမႈ (အခန္းနံပါတ္တစ္)ကို စြန္ ့လႊတ္လိုက္ျပီး အခန္းနံပါတ္ ႏွစ္ ကို ေျပာင္းယူလိုက္ရင္ ကိုယ့္အတြက္ (ပိုျပီး) အက်ိဳးရွိမလား” ဆိုတာပါပဲ။
တကယ္ေတာ့ ဒီျပႆနာဟာ ၁၉၇၀ ကာလေလာက္က
 Monty Hall နဲ ့ Carol Merrill တို ့ႏွစ္ဦး ပူးေပါင္းတင္ဆက္ခဲ့တဲ့ အေပးအယူလုပ္ၾကစို ့ ‘Let’s Make A Deal’ ဆိုတဲ့ အလြန္နာမည္ၾကီးခဲ့တဲ့ game show ထဲက အေျခအေနမ်ိဳးပဲျဖစ္ပါတယ္။ ဒါေၾကာင့္ ဒီျပႆနာကို မြန္တီေဟာျပႆနာ (Monty Hall Problem) လို ့ လူသိမ်ားပါတယ္။
အဲဒီ Craig. F. Whitaker ရဲ့ စာပါေမးခြန္းကို ေမရီလင္း က ဘယ္လို ျပန္လိုက္သလဲဆိုေတာ့ “၀င္ေရာက္ကစားသူဟာ သူရဲ့ နဂိုမူလ ေရြးခ်ယ္ထားခ်က္ကို ေျပာင္းလိုက္သင့္တယ္။ ဘာလို ့လဲဆိုေတာ့ ကား ဟာ  မေရြးပဲက်န္ခဲ့တဲ့ အခန္း(နံပါတ္ ႏွစ္ နဲ ့ သံုး) တစ္ခုခုမွာ ရွိေနတာဆိုရင္  ဒီလို ေျပာင္းလိုက္ျခင္းအားျဖင့္ သူ ့ရဲ့ ကားရႏိုင္ေျခဟာ ႏွစ္ဆ ျမင့္တက္လာမယ္” ဆိုျပီး အေၾကာင္းျပ ျပန္ၾကားလိုက္ပါတယ္။ ဘာေျပာေကာင္းလဲ။ သူမ (Marilyn) မွားေၾကာင္း စာေပါင္း တပံုတပင္ အသေခၤ် အနႏၱ ေရာက္ခ်လာပါေလေရာ။ ျပီးတဲ့ေနာက္ သခၤ်ာပညာရွင္ေတြအပါအ၀င္ ပညာရွင္အသီးသီး နဲ ့ သာမန္လူေတြပါ ပါ၀င္ျပီး အဲဒီျပႆနာနဲ ့ပတ္သက္လို ့ သူမွန္တယ္ ငါမွန္တယ္ အေၾကာင္းအမ်ိဳးမ်ိဳးျပျပီး အေျခအတင္ ျငင္းၾက ခံုၾက တာ လေပါင္းမ်ားစြာ ၾကာထိေပါ့ဗ်ာ။ (တကယ္ေတာ့ အမ်ားစုမွားခဲ့ၾကပါတယ္။)
အဲဒီအျဖစ္အပ်က္ဟာ ျဖစ္ႏိုင္ေျခသီအိုရီနဲ ့ပတ္သက္ျပီး အခ်က္တစ္ခ်က္ကို ထင္ထင္ရွားရွား မီးေမာင္းထိုးျပခဲ့တယ္။ အဲဒါကေတာ့ “တခ်ိဳ ့ျပႆနာေတြကို  ကၽြန္ေတာ္တို ့ရဲ့ သာမန္ ပင္ကိုသိစိတ္နဲ ့ စဥ္းစားဆံုးျဖတ္ရာမွာ တခါတရံ တက္တက္စင္လြဲမွားတဲ့ ေကာက္ခ်က္ေတြ ထြက္လာတတ္တယ္” ဆိုတာပါပဲ။
ျဖစ္ႏိုင္ေျခႏွင့္ စမ္းသပ္ခ်က္
ျဖစ္ႏိုင္ေျခဆိုတာ တကယ္ေတာ့ လက္ေတြ ့စမ္းသပ္မႈေတြ နဲ ့ ျပင္ပေလာကရဲ့ ပကတိအေျခအေနေတြကို အေျခခံျပီး၊ အဲဒါမ်ိဳး အလားတူ တျခားဆက္စပ္ကိစၥ ရပ္ေတြအတြက္ အနာဂတ္ ေဟာကိန္းထုတ္တဲ့ သေဘာမ်ိဳးကိုး။ မနက္ဖန္ မိုး ရြာ မရြာ ခန္ ့မွန္းတာတို ့၊ စေတာ့ stock ေစ်းကြက္ အေျခအေန ခန္ ့မွန္းတာတို ့လိုမ်ိဳးေပါ့။ ဒါေပမယ့္ ခက္တာက စမ္းသပ္မႈေတြ တိုင္းတာမႈေတြဟာ ဘယ္ေလာက္ တိက်ေအာင္လုပ္လုပ္ အနည္းနဲ ့အမ်ား ကြာဟခ်က္ ရွိႏိုင္တယ္ဆိုတာပါပဲ။ တေလာကပဲ ဥေရာပ ျႏဴကလိယတ္စ္သုေတသနဌာန (CERN) က  “အမႈန္တိုက္စက္ၾကီး  LHC (Large Hydron Collider) ကေန အလင္းထက္ျမန္ေအာင္သြားႏိုင္တဲ့ အမႈန္ေတြ ထုတ္လႊတ္ႏိုင္ျပီ” ဆိုျပီး ၀မ္းသာအားရ ေၾကျငာလိုက္တုန္းက တကမၻာလံုးက ပညာရွင္ေတြၾကားမွာ ပြက္ေလာရုိက္ခဲ့တာ မွတ္မိဦးမွာပါ။ အဲဒါလည္း တိုင္းတာနည္းနည္းလြဲလို ့ဆိုျပီး ေနာက္ေတာ့မဟုတ္ျပန္ဘူး။ ဒါေတာင္ မိတ္ေဆြတို ့ သိတဲ့အတိုင္း CERN ဆိုတာ ကမၻာ့အၾကီးမားဆံုး အထင္ရွားဆံုး သိပၸံပညာရွင္အဖြဲ ့အစည္းၾကီးေနာ္။ ဒါေၾကာင့္ စမ္းသပ္မႈနဲ ့ပတ္သက္လို ့အႏွစ္ခ်ဳပ္ရရင္
-စမ္းသပ္ခ်က္ဆိုတာ စမ္းသပ္ခ်က္ပဲ။ လက္ေတြ ့တကယ္ျဖစ္တာမဟုတ္ဘူး။
-စမ္းသပ္ခ်က္ေတြမွာ အားနည္းခ်က္ေတြရွိတယ္။ အမွားေတြရွိမယ္။
-စမ္းသပ္ခ်က္ေတြဟာ စမ္းသပ္တဲ့အခါ ျဖစ္ႏိုင္ေျခ ဘယ္ေလာက္ရွိတယ္ဆိုတာကို ျပတာသာျဖစ္တယ္။ တကယ့္ လက္ေတြ ့မွာ ျဖစ္ႏိုင္ေျခဘယ္ေလာက္ရွိတယ္ဆိုတာကို ျပတာမဟုတ္ဘူး။
-မွားယြင္းတဲ့ စမ္းသပ္ခ်က္ရလာဒ္ေတြေၾကာင့္ မွားယြင္းတဲ့ သံုးသပ္မႈေတြကို ျဖစ္ေစတယ္။
ဆိုတာပါပဲ။ အမွားအယြင္းကို ထည့္သြင္းစဥ္းစားမထားတဲ့ စမ္းသပ္မႈေတြကို အေျခခံတြက္ခ်က္ထားတဲ့ ျဖစ္ႏိုင္ေျခ ဆိုတာမွာလည္း အမွားေတြ ရွိႏိုင္တာေပါ့။
ေဘးစ္သီအိုရမ္ (Bayes’ Theorem)
ေသာမတ္စ္ ေဘးစ္ Thomas Bayes (1702-1761) ဟာ ခုလက္ရွိ ေဘးစ္သီအိုရမ္လို ့ သိထားၾကတဲ့ ျဖစ္ႏိုင္ေျချပႆနာရဲ့ အထူးအေျခအေနတစ္ရပ္ ေျဖရွင္းပံုကို တြက္ခ်က္ သက္ေသျပခဲ့ပါတယ္။ သူ ့သီအိုရီရဲ့ အႏွစ္သာရကို သခၤ်ာပညာရပ္ဆိုင္ရာ ညီမွ်ျခင္းေတြကို မသံုးပဲ အားလံုးနားလည္လြယ္ေအာင္ ေျပာရရင္
·        စမ္းသပ္မႈကရလာတဲ့ ျဖစ္ႏိုင္ေျခ နဲ ့ အဲဒီစမ္းသပ္မႈရဲ့ တိုင္းတာမႈအမွား တန္ဘိုးေတြကို သိမယ္ဆိုရင္ တကယ့္ အစစ္အမွန္ ျဖစ္ႏိုင္ေျခတန္ဘိုးကို တြက္ခ်က္လို ့ရတယ္။ …လို ့မွတ္ယူႏိုင္ပါတယ္။
အႏွစ္ခ်ဳပ္ကေတာ့ “ေဘးစ္သီအိုရမ္္ေၾကာင့္ တိုင္းတာမႈအမွားေတြကို ျပင္ႏိုင္တယ္။ ဒါ့အျပင္ တိုင္းတာမႈကရတဲ့ ျဖစ္ႏိုင္ေျခ နဲ ့ တကယ့္လက္ေတြ ့ျဖစ္ႏိုင္ေျခကို ဆက္စပ္ႏိုင္တယ္။ ထပ္မံရရွိလာတဲ့ အခ်က္အလက္ ဒါမွမဟုတ္ ျဖစ္ႏိုင္ေျခတစ္ခုဟာ   တျခားမသိေသးတဲ့ ျဖစ္ႏိုင္ေျခအေပၚ ဘယ္လို ဘယ္ေလာက္ အက်ိဳးသက္ေရာက္မႈရွိတယ္ ဆိုတာ ရွာေဖြႏိုင္တယ္။” ဆိုတာပါပဲ။ ဒီလို ျဖစ္ႏိုင္ေျခတခုဟာ တျခားျဖစ္ႏိုင္ေျခတခုေပၚ မူတည္ေနရာကို အေျခအေနအရ ျဖစ္ႏိုင္ေျခ (conditional probability) လို ့ ေခၚပါတယ္။ တကယ္ေတာ့ ေဘးစ္သီအိုရမ္ဟာ အဲဒီ အေျခအေနအရ ျဖစ္ႏိုင္ေျခကို အထူးျပဳေလ့လာတာပါ။ ခု ဆက္ျပီး ေဘးစ္သီအိုရမ္ကို ပိုမိုသေဘာေပါက္နားလည္ေစဖို ့ ေအာက္ပါဥပမာကို ေလ့လာၾကည့္ၾကပါစို ့။
ေဘးစ္သီအိုရမ္အား အသံုးခ်ျခင္း
လက္ေတြ ့စမ္းသပ္ခ်က္ေတြနဲ ့တကယ့္အျဖစ္အပ်က္ေတြကို အေျခခံျပီး ေအာက္ပါအခ်က္အလက္ေတြ ရွိထားတယ္ဆိုပါေတာ့။
၁။ လူအားလံုးရဲ့ ၁% မွာ ကင္ဆာေရာဂါရွိတယ္။ (၉၉% မွာ မရွိဘူးေပါ့။)
၂။ ေရာဂါရဲ့ ၈၀% ကိုသာ စမ္းသပ္ေတြ ့ရွိရတယ္။ ဆိုလိုတာကဗ်ာ ေရာဂါရွိတဲ့လူ ၁၀၀ ကို ေဆးစစ္လုိက္ရင္ လူ ၈၀ ပဲ ေရာဂါရွိေၾကာင္း အေျဖျပတယ္။ က်န္တဲ့ ၂၀ က (ေရာဂါရွိလ်က္နဲ ့) ေဆးစစ္ေတာ့ မေပၚဘူး ဆိုပါေတာ့။ ဒီလို ေရာဂါရွိလ်က္နဲ ့ မရွိဘူးေျပာတာမ်ိဳးကို  false negative လို ့ေခၚပါတယ္။
၃။ ေဆးစစ္တဲ့အခါ ေရာဂါမရွိတဲ့လူ ၉.၆% ကို က်ေတာ့ ေရာဂါရွိေၾကာင္း ျပေနတယ္။ ေရာဂါမရွိပဲနဲ ့ ရွိတယ္ေျပာတာၾကေတာ့ false positive ေခၚတာေပါ့။ က်န္တဲ့ ၉၀.၄% ကေတာ့ ေရာဂါမရွိလို ့ မရွိဘူးပဲ မွန္မွန္ကန္ကန္ ေဖၚျပတယ္ ေပါ့ဗ်ာ။
ကဲ… ဒီလို အေျခအေနမ်ိဳးမွာ
လူတေယာက္ကို ေဆးစစ္လိုက္တဲ့အခါ ေရာဂါရွိေၾကာင္းျပေနတယ္ဆိုပါစို ့။
သူ ့ရဲ့ တကယ္ေရာဂါရွိႏိုင္ေျခကို ကၽြန္ေတာ္တို ့ဘယ္လိုတြက္ၾကမလဲ။ ဘယ္ေလာက္လို ့ ထင္ပါသလဲ။ ၈၀% လား။ ၉၉% လား။ ၁% လား။ အဲဒီလို ခန္ ့ မွန္းေနမယ့္အစား ရိုးရိုး ရွင္းရွင္းပဲ စ’ တြက္ၾကည့္ၾကပါစို ့။
[ဘာကိုမွ ၾကိဳတင္ျပီး ယူဆမထားပါနဲ ့။ အဲဒီလူမွာ တကယ္ေရာဂါရွိမရွိ မသိဘူး။ ေဆးစစ္တဲ့ ရလာဒ္ကလည္း true positive (ရွိလို ့ ရွိတယ္ေျပာတာ) ဒါမွမဟုတ္ false positive (မရွိပဲရွိတယ္ေျပာတာ) အားလံုးျဖစ္ႏိုင္တယ္။]
A.   true positive ျဖစ္ႏိုင္ေျခ  = ေရာဂါရွိႏိုင္ေျခ * ေရာဂါကို စစ္ေဆးေတြ ့ရွိႏိုင္ေျခ = 1% * 80% = 0.008 (အခ်က္ ၁ ႏွင္ ့ ၂ အရ။)
B.   false positive ျဖစ္ႏိုင္ေျခ  = ေရာဂါမရွိႏိုင္ေျခ *  မရွိပဲ ေတြ ့ႏိုင္ေျခ = 99% * 9.6% = 0.09504 (အခ်က္ ၁ ႏွင့္ ၃ အရ။)
Note: P(A,B) = P(A)*P(B) [ If A and B are independent ]
အခုတခါ ကၽြန္ေတာ္တို ့ မူလေမးခြန္းကိုျပန္ေကာက္ၾကပါဦးစို ့။ “ေဆးစစ္လိုက္လို ့ positive result ျပတယ္ဆိုရင္ အမွန္တကယ္ ေရာဂါရွိႏိုင္ေျခ ဘယ္ေလာက္လဲ” ဆိုတာ ေျဖရမွာ။ ျဖစ္ႏိုင္ေျခဆိုတာ တကယ္ေတာ့ ကိုလိုခ်င္တဲ့ အျဖစ္အပ်က္နဲ ့ အားလံုးေသာျဖစ္ႏိုင္ေျခ တို ့ရဲ့ အခ်ိဳးျဖစ္ျပီး ရွင္းေအာင္ သခၤ်ာနည္းနဲ ့ ေရးျပရရင္ probability = desired event / all possibilities ပါပဲ။
ေရာဂါရွိေနရင္ ရွိတယ္လို ့ ေဆးစစ္ခ်က္(true positive) ထြက္ဖို ့က 0.008 (ဒါက လိုခ်င္တဲ့ desired event)[A အရ။]
ေရာဂါ ရွိရွိ မရွိရွိ ရွိပါတယ္ေျပာမွာ(all possible outcomes for positive results)က = ရွိလို ့ေတြ ့တာ(true positive) + မရွိပဲေတြ ့တာ (false positive) =
0.008 + 0.09504 = 0.10304[A ႏွင့္ B အရ။ ]
ဒါေၾကာင့္ကၽြန္ေတာ္တို ့ လိုခ်င္တဲ့ အေျဖဟာ 0.008/0.10304 = 0.0776 (~7.8%) ဒီအေျဖဟာ ကၽြန္ေတာ္တို ့ သာမန္အားျဖင့္ ထင္မထားတဲ့ ရလာဒ္ျဖစ္ေနပါတယ္။ ဆိုလိုတာက ေပးထားခ်က္ေတြအတိုင္းသာဆိုရင္ “လူတေရာက္ဟာ ေဆးစစ္လိုက္လို ့ ကင္ဆာေရာဂါရွိပါတယ္လို ့ ေဆးစစ္ခ်က္ အေျဖထြက္လာေစဦးေတာ့ သူ ့ရဲ့ အမွန္တကယ္ ေရာဂါရွိႏိုင္ေျခဟာ ၇.၈% ေလာက္ ပဲရွိတယ္” ဆိုတဲ့ အဓိပၸါယ္သက္ေရာက္ပါတယ္။ ရုတ္တရက္ဆိုရင္ေတာ့ လက္ခံဖို ့ခက္ခဲေပမယ့္ ေသခ်ာစဥ္းစားၾကည့္ရင္ ျဖစ္ႏိုင္ပါတယ္။ ဒီလိုဗ်ာ
-လူ ၁၀၀ ယူလိုက္။ ၁ေရာက္ပဲ ေရာဂါရွိမယ္။
-ဒါေပမယ့္ အဲဒီ ၁၀၀ ထဲက ၁၀ ေရာက္ (၉.၆% ကို အနီးဆံုးယူလိုက္တာ) ကို ေရာဂါမရွိပဲနဲ ့ ေရာဂါရွိတယ္လို ့ ေဆးစစ္ခ်က္ကေျပာမယ္။
-တကယ္ရွိတာ နဲ ့ ရွိတယ္လို ့ အေျပာခံရတာ ေပါင္းရင္ ၁၁ ေရာက္
-ဒါေၾကာင့္ တကယ္ရွိတာနဲ ့ ရွိတယ္လို ့ အေျပာခံရႏိုင္သူေပါင္းကို အခ်ိဳးခ်ရင္ ၁/၁၁ ~ 0.09 ခန္ ့မွန္းေျခ 9% ။ ဒါေၾကာင့္ ေဘးစ္သီအိုရမ္အရ တြက္တာနဲ ့ သိပ္မကြာေၾကာင္း ေတြ ့ရပါတယ္။
ေဘးစ္ယံုၾကည္မႈဆက္သြယ္ခ်က္(BBN - Bayesian Belief Network)
ေဘးစ္ဆက္သြယ္ခ်က္ကြန္ယက္(Bayesian Network) ဟာ ေသာမတ္စ္ ေဘးစ္ရဲ့ အေျခအေနအရျဖစ္ႏိုင္ေျခသီအိုရီကို အေျခခံျပီး အျဖစ္အပ်က္တခုမွာ ပါ၀င္ေနတဲ့ ကိန္းရွင္ေတြ (variables) ရဲ့ အခ်င္းခ်င္း ဆက္သြယ္ခ်က္ နဲ ့ မွီခိုခ်က္ကို DAG (Directed Acyclic Graph) နဲ ့ ေဖၚျပထားတဲ့ ျဖစ္ႏိုင္ေျခပံုစံတစ္ခုပါပဲ။ သူ ့ကို ဘာလို ့ ယံုၾကည္မႈဆက္သြယ္ခ်က္လို ့ေခၚတာတုန္းဆိုေတာ့၊ ဥပမာ လူတေရာက္မွာ အဆုတ္ကင္ဆာေရာဂါ ရွိႏိုင္တယ္ဆိုတဲ့ ယံုၾကည္ခ်က္ဟာ၊ သူဟာ ေဆးလိပ္ေသာက္တဲ့လူတေရာက္လို ့ အခ်က္အလက္ အသစ္တခုထပ္ျပီး သိလိုက္ရျပီးတဲ့အခါ ပိုျပီးခိုင္မာလာႏိုင္တယ္။ ေဆးလိပ္ေသာက္ေၾကာင္း မသိရေသးခင္တြက္ခ်က္တဲ့ ကင္ဆာျဖစ္ႏိုင္ေျခ နဲ ့ သိျပီးတဲ့အခါ တြက္တဲ့ကင္ဆာျဖစ္ႏိုင္ေျခ ဟာလည္း ဘယ္လိုမွ မတူႏိုင္ဘူး။ တူေနရင္လည္း အဓိပၸါယ္မရွိေတာ့ဘူးေလ။ ဒါေၾကာင့္ အခ်က္အလက္အသစ္ေၾကာင့္ အသစ္ျဖစ္လာတဲ့ ျဖစ္ႏိုင္ေျခ ဟာ အရင္ရွိျပီးသား ယံုၾကည္ခ်က္အေပၚမွာ ဘယ္လို အက်ိဳး သက္ေရာက္မႈ ရွိတယ္ဆိုတာကို ေဖၚျပဖို ့ရည္ရြယ္လို ့ ယံုၾကည္မႈဆက္သြယ္ခ်က္ကြန္ယက္(Belief Network) လို ့ေခၚတာပါ။
BBN ဥပမာႏွင့္ ရွင္းလင္းခ်က္


Fig.  Bayesian Belief Network (BBN)
·                    DAG မွာ ပါတဲ့ ဘဲဥပံု node တခုဟာ variable တခုကို ကိုယ္စားျပဳျပီး၊ node ႏွစ္ခုကို ဆက္သြယ္ထားတဲ့ edge (arrow) က မွီခိုမႈဆက္သြယ္ခ်က္ (dependence) ကို ကိုယ္စားျပဳတယ္။
·                    မွ်ားရဲ့ ဦးတည္ရာဟာ အက်ိဳးသက္ေရာက္မႈဦးတည္ရာျဖစ္တယ္။ ဆိုလိုတာက ပံုမွာျပထားတဲ့အတိုင္းဆိုရင္ အဆုတ္ကင္ဆာျဖစ္ျခင္းအေပၚမွာ ေဆးလိပ္ေသာက္ျခင္းက တိုက္ရိုက္ လႊမ္းမိုးအက်ိဳးသက္ေရာက္မႈ ရွိတယ္လို ့ ဆိုလိုတာပါ။
·                    လႊမ္းမိုးခံရတဲ့ node ကို child node, လႊမ္းမိုးတဲ့ node ကို parent node လို ့ ေခၚတယ္။
·                    ဒီလို node တခုဟာ တျခား node တခုအေပၚ ဘယ္လို သက္ေရာက္မႈရွိသလဲဆိုတာကို conditional probability table နဲ ့ ေဖၚျပတယ္။
·                    Node တစ္ခုရဲ့ အေျခအေနျဖစ္ႏိုင္ေခ်ေတြကိုေတာ့ state လို ့ေခၚတယ္။ ဥပမာ ေဆးလိပ္ေသာက္တယ္ဆိုရင္ အၾကီးအက်ယ္ေသာက္တာလား အသင့္အတင့္ေသာက္တာလား အနည္းအက်ဥ္းပဲေသာက္တာလား စသည္ျဖင့္ေပါ့။
မြန္တီကာလိုပံုေဆာင္စမ္းသပ္ခ်က္(MCS - Monte Carlo Simulation)
MCS ကို မြန္တီကာလိုနည္း(Monte Carlo method)၊  မြန္တီကာလိုစမ္းသပ္ခ်က္ (Monte Carlo experiment)၊ ျဖစ္ႏိုင္ေျခစမ္းသပ္ခ်က္ (Probability Simulation) စသည္ျဖင့္ အမ်ိဳးမ်ိဳး ရည္ညႊန္းေခၚေ၀ၚေလ့ရွိပါတယ္။ တကယ္ေတာ့ ‘မြန္တီကာလို Monte Carlo’ ဆိုတဲ့ စကားလံုးက ေမာ္ရိုကိုႏိုင္ငံမွာရွိတဲ့ ကာစီႏိုတခုရဲ့ နာမည္ျဖစ္ျပီး၊ ၁၉၄၀ တုန္းက ဗြန္ႏြိဳင္းမဲန္း (John Von Neumann)၊ အူလမ္(Stanislaw Ulam) နဲ ့ နစ္ကိုးလပ္စ္ (Nicholas Metropolis) တို ့သံုးေယာက္ အေမရိကန္အစိုးရရဲ့ အႏုျမဴဗံုးပေရာဂ်က္ (Manhattan Project) မွာ ပါ၀င္လုပ္ေဆာင္ေနတဲ့ကာလတုန္းက အူလမ္ က သူတို ့ရဲ့ စမ္းသပ္ခ်က္တစ္ခုအတြက္ ဒီ Monte Carlo Simulation ဆိုတဲ့ နာမည္ကို ေပးခဲ့တာပါ။ MCS နည္းစနစ္ဆိုတာ က်ပမ္းျဖစ္စဥ္ က်ပမ္းတန္ဘိုးေတြကို ထပ္တလဲလဲ အသံုးျပဳျပီး တြက္ခ်က္ပံုနည္းစနစ္ (algorithm) တခုရဲ့ ရလာဒ္ေတြကို ေလ့လာတဲ့ ပညာရပ္တစ္ခုေပါ့။ ဒါေၾကာင့္ MCS ကို လက္နဲ ့(manual) လုပ္ေဆာင္ဖို ့ဆိုတာ အလြန္ ့အလြန္ ခက္ခဲပါတယ္။ တခ်ိဳ ့ စမ္းသပ္ခ်က္ေတြဆို အၾကိမ္ေရ သိန္း သန္း ခ်ီျပီး စမ္းရတာကိုး။ ဒါေၾကာင့္ ကြန္ျပဴတာအေပၚမွာ program (algorithm) တစ္ခုတည္ေဆာက္ျပီး လုပ္ေဆာင္ရပါတယ္။ ခုလို စြမ္းအားျမင့္ PC ေတြ မေပၚခင္တုန္းကဆို mainframe ေတြေပၚသာမွာ စမ္းရ run ရတဲ ့ အေျခအေနမ်ိဳးေပါ့။
MCS ႏွင့္ Estimation
MCS ကို အသံုးခ်တဲ့ နယ္ပယ္ေပါင္းမ်ားစြာရွိပါတယ္။ အဲဒီထဲကမွ ပေရာဂ်က္တခုရဲ့ အခ်ိန္တို ့ ကုန္က်စရိတ္တို ့ နဲ ့ပတ္သက္ျပီး ကၽြမ္းက်င္သူေတြ ခန္ ့မွန္း တြက္ခ်က္ထားတဲ့ ကိန္းဂဏန္းတန္ဘိုးေတြရဲ့ စြန္ ့စားရမႈ risk, ယံုၾကည္စိတ္ခ်ရမႈအတိုင္းအတာ reliability နဲ ့ မေသခ်ာမေရရာမႈ uncertainty စတာေတြနဲ ့ပတ္သက္တဲ့ ျဖစ္ႏိုင္ေျခတန္ဘိုးေတြကို အနီးစပ္ဆံုး ဘယ္လိုတြက္ယူမလဲဆိုတာကိုသာ ေလ့လာမွာျဖစ္ပါတယ္။ MCS ကေန အဓိက ရႏိုင္တဲ့ အခ်က္ကေတာ့ “ကိုယ္ တည္ေဆာက္အသံုးျပဳထားတဲ့ model က ရတဲ့ ခန္ ့မွန္းတန္ဘိုး နဲ ့ အခ်က္အလက္ေတြအေပၚ အေျခခံျပီး၊ အဲဒီတန္ဘိုးေတြဟာ တကယ့္ျပင္ပ လက္ေတြ ့ ေလာကမွာ ရလာမယ့္ရလာဒ္ (outcome) နဲ ့ ဘယ္ေလာက္အတိုင္းအတာအထိ တူညီႏိုင္ေျခရွိသလဲဆိုတာကို ေျပာျပႏိုင္ျခင္းပဲျဖစ္ပါတယ္။”
အသံုးခ်ပံု အၾကမ္းဖ်ဥ္းအဆင့္မ်ား
MCS နည္းစနစ္ကို software cost estimation မွာသံုးဖို ့အတြက္   
0.   ေဆာဖ့္၀ဲ နဲ ့ပတ္သက္တဲ့ preliminary analysis, request for proposal, initial iapabilities document, analysis of alternatives, software cost estimation စတဲ့ documentation ေတြ ကို အသံုးခ်ျပီး BBN တစ္ခု တည္ေဆာက္ျပီးျပီလို ့ ယူဆထားပါတယ္။ [ဘယ္လိုတည္ေဆာက္တယ္ဆိုတာ ရႈပ္ေထြးရွည္လ်ားလို ့ ဒီေဆာင္းပါးမွာ မေဖာ္ျပႏိုင္ခဲ့တဲ့အတြက္ အႏူးအညြတ္ ေတာင္းပန္ပါတယ္။]
1.   ခန္ ့မွန္းတန္ဘိုးတခုျခင္းစီရဲ့ အနည္းဆံုးျဖစ္ႏိုင္ေျခ နဲ ့ အမ်ားဆံုးျဖစ္ႏိုင္ေျခ တန္ဘိုးေတြကို ရွာေဖြလိုက္ပါ။ [ခန္ ့မွန္းလိုက္ေပါ့ဗ်ာ။]
2.   အဲဒီ minimum နဲ ့ maximum  rangeအတြင္းမွာရွိတဲ့ က်ပမ္းတန္ဘိုးေတြကို သံုးျပီး  မိတ္ေဆြတည္ေဆာက္ထားတဲ့ computer algorithm ကို (ဥပမာ) အၾကိမ္ တစ္ရာ run လိုက္။ မတူညီတဲ့ result အခုတရာ ရလာမွာေပါ့။  [တူတာေတြလည္း ပါႏိုင္ပါတယ္။ က်ပမ္းတန္ဘိုး အေပၚအေျခခံထားတာကိုး။]
3.   အဲဒီ result အခုတရာထဲက ကိုယ္ အရင္ ခန္ ့မွန္းထားတဲ့ တန္ဘိုးနဲ ့ အနီးစပ္ဆံုးတူညီတဲ့ result ဘယ္ႏွစ္ခုပါသလဲ ၾကည့္ရႈစစ္ေဆးလိုက္။ ၁၀ ခုပါရင္ ကိုယ့္ရဲ့ estimate မွန္ကန္ႏိုင္ေျခက ၁၀% ႏႈန္းေပါ့။ တခုမွ မပါရင္ 0% ေပါ့။
ဥပမာ
ကၽြန္ေတာ္တို ့ရဲ့ ပေရာဂ်က္က အပိုင္းသံုးပိုင္းရွိျပီး တစ္ပိုင္းခ်င္းစီအတြက္ ကၽြမ္းက်င္သူရဲ့အကဲျဖတ္ခ်က္ (expert judgement) အရ ရရိွထားတဲ့ ခန္ ့မွန္းတန္ဘိုးေတြကို ေအာက္ပါဇယားအတိုင္း ေဖၚျပထားတယ္ဆိုပါစို ့။
Table 1: Basic Forecasting Model
Task
Estimated Time Taken
Task 1
5 p-m
Task 2
4 p-m
Task 3
5 p-m
Total
14 p-m
Note: p-m = person month (လူတေရာက္ တလ လုပ္ရေသာ အလုပ္ယူနစ္)
ဒီ အေျခခံခန္ ့မွန္းခ်က္အရဆိုရင္ ကၽြန္ေတာ္တို ့ရဲ့ ပေရာဂ်က္ဟာ လူတစ္ေရာက္လုပ္ရင္ ၁၄ လ [လူ၁၄ေရာက္လုပ္ရင္၁လ] ၾကာမယ္ဆိုပါေတာ့။ ဒီခန္ ့မွန္းခ်က္ဟာ ေကာင္းမြန္တဲ့ ခန္ ့မွန္းခ်က္တခုျဖစ္ႏိုင္ပါတယ္။ ဒါေပမယ့္ “အခု ခန္ ့မွန္းထားတဲ့ ကာလအတြင္း ဒီပေရာဂ်က္ အခ်ိန္မီ ျပီးစီးႏိုင္ေျခ ဘယ္ေလာက္ရွိသလဲ၊ ဒီခန္ ့မွန္းခ်က္ေတြကို ဘယ္ေလာက္ထိ ယံုၾကည္စိတ္ခ်လို ့ရသလဲ” ဆိုတာ မေဖၚျပႏိုင္ပါဘူး။ ဒါၾကာင့္ MCS နည္းစနစ္ကို အသံုးျပဳျပီး အဲဒီ estimate ရဲ့ risk, reliability, uncertainty ကို ဆက္လက္ ရွာေဖြေဖၚထုတ္ပါမယ္။ ဒီလိုလုပ္ဖို ့အတြက္ အဆင့္တစ္အရ အနည္းဆံုး နဲ ့ အမ်ားဆံုး ျဖစ္ႏိုင္ေျခတန္ဘိုးေတြကို ေအာက္ပါအတိုင္းခန္ ့မွန္းသတ္လိုက္ပါတယ္။
Table 2: Forecasting Model using Range Estimates
Task No
Minimum
Most Likely
Maximum
Task 1
4 p-m
5 p-m
7 p-m
Task 2
3 p-m
4 p-m
6 p-m
Task 3
4 p-m
4 p-m
6 p-m
Total
11 p-m
14 p-m
19 p-m

အခုအေနအထားအတိုင္းဆိုရင္ Range estimate အရ ဒီပေရာဂ်က္ဟာ အနည္းဆံုး  11p-m ၊ အမ်ားဆံုး 19p-m ၾကာႏိုင္တယ္။ အျဖစ္ႏိုင္ဆံုးကေတာ့ 14p-m ဆိုျပီး ပိုျပီး ျပည့္ျပည့္စံုစံု ေျပာႏိုင္တဲ့အဆင့္ကို ေရာက္လာပါျပီ။ ဒီအဆင့္ျပီးတဲ့ အခါ MCS ရဲ့ အဆင့္ႏွစ္ကိုေရာက္လာျပီေပါ့။ အဆင့္ႏွစ္မွာ ကၽြန္ေတာ္တို ့ဟာ ျဖစ္ႏိုင္ေျခနဲ ့ စာရင္းအင္းဆိုင္ရာ သခၤ်ာပညာရပ္တစ္ခ်ိဳ ့ကို အသံုးခ်ပါမယ္။
-တကယ္လို ့ minimum နဲ ့ maximum value ႏွစ္ခုတည္းရွိရင္ Uniform Distribution ကို သံုးႏိုင္ပါတယ္။
-minimum, maximum နဲ ့ most likely value ေတြရွိရင္  Triangular Distribution ဒါမွမဟုတ္ PERT Distribution ကို သံုးျပီး က်ပမ္းတန္ဘိုးေတြ ရွာေဖြႏိုင္ပါတယ္။
ေအာက္ကဇယားမွာ PERT Distribution ကို သံုးျပီး ရရွိလာတဲ့ MCS ရလာဒ္ေတြကို ေဖၚျပထားပါတယ္။
Table 3: Results of a Monte Carlo Simulation
Time
Number of Times
(Out of 500)
Percent of Total
(Rounded)
12 p-m
1
0%
13 p-m
31
6%
14 p-m
171
34%
15 p-m
394
79%
16 p-m
482
96%
17 p-m
499
100%
18 p-m
500
100%
ဒါကိုၾကည့္ရင္ ကၽြန္ေတာ္တို ့ မူလက ရရွိထားတဲ့ အျဖစ္ႏိုင္ဆံုးတန္ဘိုး 14p-m အတြင္း ဒီပေရာဂ်က္ျပီးစီးဖို ့ ျဖစ္ႏိုင္ေျခဟာ ၃၄% ပဲရွိတာကို ေတြ ့ရမွာပါ။ ဒီအခ်က္က မူလ ခန္ ့ မွန္းခ်က္ဟာ ၃ ပံု ၁ ပံုပဲ မွန္ႏိုင္တယ္လို ့ အဓိပၸါယ္သက္ေရာက္ေနပါတယ္။ ဒါဆိုရင္ မိတ္ေဆြဖက္ကလည္း ေမးစရာရွိလာမွာပါ။ “အဲဒီ MCS နည္းကေရာ ဘယ္ေရာက္အထိ ယံုၾကည္စိတ္ခ်လို ့ရသလဲ” လို ့ေပါ့။ မိတ္ေဆြျမင္တဲ့ အတိုင္း MCS ဟာ expert judgement (မူလခန္ ့မွန္းခ်က္) ကို အမွီျပဳျပီး တြက္ခ်က္တာျဖစ္တဲ့အတြက္ မူရင္း estimate ေကာင္းရင္ေကာင္းသလိုေပါ့။ GIGO သေဘာတရားအရ “အမႈိက္ထည့္လိုက္ရင္ အမိႈက္၊ ေရႊထည့္လိုက္ရင္ေတာ့ ေရႊ” ထြက္လာမွာပါပဲ။
နိဂံုးအမွာ
“ဘာေတြမွန္းလည္းမသိပါဘူးကြာ ကြန္ျပဴတာနဲ ့ဆိုင္တာမ်ားလားလို ့။ သခၤ်ာလိုလို သမိုင္းလိုလို အေတြးအေခၚလိုလို ရႈပ္ေနတာပဲ” လို ့မိတ္ေဆြတို ့ထင္မယ္ဆိုရင္လည္း ကၽြန္ေတာ္မွာသာ လံုး၀တာ၀န္ရွိပါတယ္ ။ ဒီေဆာင္းပါးရဲ့ တကယ့္ရည္ရြယ္ခ်က္က conditional probability,  Bayesian Belief Network နဲ ့ Monte Carlo Simulation နည္းစနစ္ေတြကို ေဆာဖ္၀ဲထုတ္လုပ္မႈ ကုန္က်စရိတ္ ခန္ ့မွန္းတြက္ခ်က္တဲ့ ေနရာမွာ ဘယ္လို အသံုးခ်တယ္ဆိုတာကို တင္ျပဖို ့ပါ။ ဒါေပမယ့္လည္း ဘယ္ပညာရပ္မဆို အသံုးခ်အဆင့္ကိုေရာက္ဖို ့အတြက္  အေျခခံအဆင့္ေတြကို ေက်ာ္ျဖတ္သင့္တယ္ မဟုတ္ပါလား။  ဒါေၾကာင့္ ဒီေဆာင္းပါးမွာ ႏွီးႏြယ္ဆက္စပ္ရာ အေျခခံမိတ္ဆက္ေတြကိုသာ အရင္ဆံုး ဦးစားေပးတင္ျပခဲ့တာပါ။ က်ယ္ျပန္ ့တဲ့ အေၾကာင္းအရာေတြလည္းျဖစ္ေလေတာ့ အက်ဥ္းခ်ဳပ္ေလာက္ပဲ တင္ျပႏိုင္ခဲ့တဲ့အတြက္ ဒီေဆာင္းပါးတစ္ပုဒ္တည္းနဲ ့ေတာ့ ရည္ရြယ္ရာကို ေရာက္ႏိုင္ဖို ့မလြယ္ပါဘူး။ ဒါေၾကာင့္ စိတ္၀င္စားမႈရွိတယ္ဆိုရင္ မိတ္ေဆြတို ့ ကိုယ္တိုင္ ဆက္လက္ေလ့လာျဖစ္ေအာင္ လမ္းၾကမ္းေလးတစ္ခု ညႊန္ျပတဲ့ သေဘာလို ့သာ မွတ္ယူၾကပါလို ့ပန္ၾကားလိုပါတယ္။ ရႊင္လန္းခ်မ္းေျမ့ပါေစ။