Wednesday, August 2, 2017

Artificial Intelligence: A Modern Approach - Lesson IV

တုပအသိဉာဏ္ ေခတ္သစ္ေလ့လာခ်က္


အခန္း ၂ အသိဉာဏ္ရိွေသာအရာမ်ား
ေအးဂ်င့္ (Agent)
အာရံုခံကရိယာ(sensor) ေတြကတဆင့္၊ ပတ္၀န္းက်င္(environment) ရဲ့ အေျခအေန(state)ကို သိျမင္နားလည္ေအာင္လုပ္ေဆာင္(percepts) ျပီး၊ အလိုအေလ်ာက္တုန့္ျပန္ေဆာင္ရြက္နိုင္တဲ့အရာ(actuator) ေတြကတဆင့္၊ အဲဒီပတ္၀န္းက်င္ကို တစ္စံုတစ္ရာ တုန့္ျပန္လုပ္ေဆာင္တဲ့ အရာမွန္သမွ်ဟာ ေအးဂ်င့္ ျဖစ္တယ္။
ဥပမာ။
•              Thermostat, Cell phone, Vacuum cleaner, Self-driving car, Human, Robot စတာေတြဟာ agent ေတြ။
•              လူသားေအးဂ်င့္ ရဲ့ အာရံုခံကရိယာ sensor ေတြဟာ နား၊ မ်က္စိ၊ နွာေခါင္း အစရိွတဲ့ အာရံုခံအဂၤါေတြျဖစ္ျပီး တုန့္ျပန္ကရိယာ actuator ေတြကေတာ့ လက္၊ ေျခေထာက္၊ ပါးစပ္ စတဲ့ တုန့္ျပန္လုပ္ေဆာင္တဲ့ ခနၶာကိုယ္အစိတ္အပိုင္းေတြ။
•              စက္ရုပ္ ရဲ့ sensors ေတြဟာ၊  Cameras, sound recorder, infrared range, Smoke-detector စတာေတြျဖစ္ျပီး actuator ကေတာ့ အဲဒီစက္ရုပ္ လႈပ္ရွား လည္ပတ္နိုင္ဖို့တည္ေဆာက္ထားတဲ့ အေထြေထြ အမို်းမို်းေသာ motors ေတြ၊ arms (လက္တံ) ေတြ။

ေအးဂ်င့္ေတြမွာ
၁။ ပတ္၀န္းက်င္(environment) က သိျမင္ၾကားမႈေတြကို နားလည္ေအာင္လုပ္ေဆာင္ျခင္း (perceive)
၂။ အဆင့္ ၁ ကရရိွလာတဲ့ perception နဲ့၊ သူ့ရဲ့ ရည္ရြယ္ခ်က္ ဦးတည္ခ်က္(goal) ေပၚမူတည္ျပီး ေတြးေတာျခင္း၊ ဆံုးျဖတ္ျခင္း၊ ေရြးခ်ယ္ျခင္း၊ တြက္ခ်က္ျခင္း (think) နဲ့
၃။ တုန့္ျပန္ေဆာင္ရြက္ျခင္း (act)
ဆိုတဲ့ Circle of perceive-->think-->act ဆိုတဲ့အေျခအေနေတြဟာ ထပ္တလဲလဲ ျဖစ္ပ်က္ေနပါတယ္။

အာရံုခံရရိွမႈနွင့္ အာရံုခံရရိွမႈအစီအစဉ္မ်ား (Percept and Percept Sequence)
•              ေပးထားတဲ့ သတ္မွတ္ထားတဲ့ အခိ်န္တစ္ခုမွာ agent ရဲ့ input အျဖစ္ ပတ္ဝန္းက်င္က အာရံုခံရရိွလာတဲ့ သတင္းအခ်က္အလက္တစ္ခုဟာ percept
•              ေပးထားတဲ့ သတ္မွတ္ထားတဲ့ အခိ်န္တစ္ခုအထိ agent က ပတ္ဝန္းက်င္ကေန အာရံုခံရရိွထားတဲ့ အခ်က္အလက္ေတြအားလံုး (history) ဟာ percept sequence
ေယဘုယ်ေျပာမယ္ဆိုရင္ agent တစ္ခုဟာ၊ သူ့အတြက္ လုပ္ေဆာင္ခ်က္ (action) ေရြးခ်ယ္တဲ့အခါ၊ သူအာရံုခံရရိွထားတဲ့ အခ်က္အလက္ေတြအားလံုး (percept sequence) အေပၚမွာ မူတည္ျပီးေရြးခ်ယ္တာျဖစ္တယ္။ သူ မရရိွ မသိရိွတဲ့ အခ်က္အလက္အေပၚမွာ အေျခမခံဘူး။

ေအးဂ်င့္ဖန္ရွင္ နွင့္ ေအးဂ်င့္ပရိုဂရမ္ (Agent Function and Agent Program)
                သခၤ်ာဆန္ဆန္ေျပာမယ္ဆိုရင္ ေအးဂ်င့္တစ္ခုရဲ့ အျပုအမူကို agent function နဲ့ေဖၚျပတယ္။ agent function က၊ ေပးထားတဲ့ percept sequence ကို action တစ္ခုနဲ့ တဲြဖက္ခိ်တ္ဆက္ေပးတယ္။ artificial agent တစ္ခုအတြက္ agent function ကို အေကာင္အထည္ေဖၚေပးတာက agent program
ဒါေၾကာင့္ ဒီနွစ္ခုရဲ့အဓိက ကဲြျပားျခားနားခ်က္က
•              agent function ဆိုတာ အေကာင္အထည္မရိွတဲ့ သခၤ်ာဆိုင္ရာသတ္မွတ္ေဖၚျပခ်က္တစ္ခု
•              agent program ဆိုတာ တကယ့္ ရုပ္စနစ္ (physical system) တစ္ခုအတြင္းမွာ အလုပ္လုပ္ (run)ဖို့ အေကာင္အထည္ေဖၚ တည္ေဆာက္ထားတဲ့ အရာတစ္ခု။

အထက္မွာ ေဆြးေနြးခဲ့တဲ့ စကားလံုးေတြနဲ့ သေဘာတရားကို နားလည္ဖို့အတြက္ အလြန္ရိုးရွင္းတဲ့ "ဖုန္စုပ္စက္" စနစ္တစ္ခုကို ဥပမာအျဖစ္ေလ့လာၾကည့္ပါစို့။
Fig 2.2 Simple Vaccum-Cleaner
ဒီစနစ္အလုပ္လုပ္မယ့္ ပတ္ဝန္းက်င္(environment)
•              ေလးေထာင့္ကြက္ ေအ နဲ့ ဘီ။
agent က အာရံုခံရရိွတဲ့အေျခအေန(percept)
•              သူ့ရဲ့လက္ရိွတည္ေနရာ (ေအမွာလား။ ဘီမွာလား။ A or B)နဲ့
•              အဲဒီတည္ေနရာရဲ့ အေျခအေန(ညစ္ပတ္ေနသလား။ သန့္ရွင္းေနသလား။ Dirty or Clean)
agent ရဲ့ ေရြးခ်ယ္နိုင္တဲ့လုပ္ရပ္action ေတြက
•              ဘယ္ကိုေရွြ့မလား။ ညာကိုေရွြ့မလား။ ဖုန္စုပ္မလား။ Left, Right, Suck,

ဒီစနစ္နဲ့ပတ္သက္ျပီး သိပ္ကိုရိုးရွင္းလြန္းတဲ့ agent function တစ္ခုကို ေအာက္ပါအတိုင္း သတ္မွတ္နိုင္တယ္။
                if the current square is dirty, then suck;
                otherwise, move to the other square.
                လက္ရိွ ေလးေထာင့္ကြက္သည္ ညစ္ေပေနပါက၊ ဖုန္စုပ္ပါ။
                ထိုသို့မဟုတ္ပါက၊ အျခားေလးေထာင့္ကြက္သို့ ေရွြ့ပါ။

ဒီ agent ရဲ့ percept sequence နဲ့ အဲဒီအေပၚမူတည္ျပီး ေဆာင္ရြက္တဲ့ action ေတြ၊ တစ္နည္းေျပာရရင္ agent function ေတြကို (တစ္စိပ္တစ္ပိုင္း) ဇယားခ်ၾကည့္မယ္ဆိုရင္ ေအာက္ပါအတိုင္းျဖစ္နိုင္ပါတယ္။
Percept sequence
Action
[A, Clean]

Right
[A, Dirty]

Suck
[B, Clean]

Left
[B, Dirty]

Suck
[A, Clean], [A, Clean]

Right
[A, Clean], [A, Dirty]

Suck
...
...
...
...
[A, Clean], [A, Clean], [A, Clean]

Right
[A, Clean], [A, Clean], [A, Dirty]

Suck
...
...
...
...
Figure 2.3 Partial tabulation of a simple agent function for the vacuum-cleaner world shown in Figure 2.2.

agent program တစ္ခု လက္ေတြ့အေကာင္အထည္ေဖၚေရးသားမယ္ဆိုရင္ေတာ့ ေအာက္ပါအတိုင္း ျဖစ္နိုင္ပါတယ္။
function REFLEX-VACUUM-AGENT([location, status]) returns an action
if status = Dirty then return Suck
else if location = A then return Right
else if location = B then return Left

ေၾကာင္းကို်းညီျခင္း Rationality 
ေၾကာင္းကို်းနွင့္အညီေဆာင္ရြက္ေသာေအးဂ်င့္ rational agent ဆိုတာကို အဓိပၸါယ္မသတ္မွတ္ခင္မွာ အရင္ဆံုး rationality လို့ေခၚတဲ့ ေၾကာင္းကို်း အခ်က္အလက္နဲ့အညီ မွန္ကန္စြာ လုပ္ကိုင္ေဆာင္ရြက္နိုင္စြမ္းနဲ့ပတ္သက္ျပီး ေလ့လာၾကပါစို့။ ေပးထားတဲ့ အခိ်န္ကာလတစ္ခုမွာ ေၾကာင္းကို်းနွင့္အညီ လုပ္ကိုင္ေဆာင္ရြက္နိုင္စြမ္းဆိုတာ ေအာက္ပါ အခ်က္ေလးခ်က္အေပၚမူတည္ပါတယ္။
•              ေအာင္ျမင္မႈနဲ့ပတ္သက္တဲ့စံနႈန္း  (criterion of success) ကို သတ္မွတ္ျပဌာန္းတဲ့ စြမ္းေဆာင္ရည္တိုင္းတာမႈေတြ
•              ပတ္၀န္းက်င္နဲ့ပတ္သက္ျပီး ေအးဂ်င့္ရဲ့ ၾကိုတင္သိျမင္ထားမႈေတြ
•              ေအးဂ်င့္ကလုပ္နိုင္တဲ့ ေဆာင္ရြက္ခ်က္ေတြ
•              အခုလက္ရိွအခိ်န္အထိ ေအးဂ်င့္က (ပတ္၀န္းက်င္ကေန) သိရိွအာရံုခံ သိရိွထားတဲ့အခ်က္အလက္ အစီအစဉ္ေတြ။

ေၾကာင္းကို်းအညီေဆာင္ရြက္ေသာေအးဂ်င့္ (Rational Agent)
(Section 2.2. Good Behavior: The Concept of Rationality, p37)
ေၾကာင္းကို်းနဲ့အညီေဆာင္ရြက္တဲ့ေအးဂ်င့္တစ္ခုဟာ၊ ပတ္၀န္းက်င္က အာရံုခံေလ့လာလို့ရသမွ်အရာေတြနဲ့ ၊ သူ့(အဲဒီ agent) ထဲမွာ ထည့္သြင္းတည္ေဆာက္ထားတဲ့အသိပညာကို အသံုးျပုျပီး၊ ျဖစ္နိုင္သမွ် ျပင္ပအာရံုခံမႈအစီအစဉ္အသီးသီးအတြက္၊ အကို်းရလာဒ္ စြမ္းေဆာင္ရည္ အျမင့္မားဆံုးအေျခအေနျဖစ္ေစမယ့္ ေဆာင္ရြက္မႈကိုေရြးခ်ယ္ လုပ္ကိုင္တယ္။

ပံုစံတက်အဓိပၸါယ္သတ္မွတ္ခ်က္အတိုင္းမဟုတ္ပဲ၊ ရွင္းလင္းလြယ္ကူေအာင္မွတ္မယ္ဆိုရင္၊
•              ပတ္၀န္းက်င္ရဲ့အေျခအေနေပၚမူတည္ျပီး
•              မွန္ကန္တဲ့ တုန့္ျပန္လုပ္ေဆာင္မႈကို
•              "စြမ္းေဆာင္ရည္တိုင္းတာမႈ အျမင့္မားဆံုးအေျခအေနနဲ့လုပ္ေပးနိုင္ရင္"
တစ္နည္းေျပာရရင္
•              မွန္ကန္တဲ့ တုန့္ျပန္လုပ္ေဆာင္မႈကို
•              သတ္မွတ္ထားတဲ့ အေျခအေန အခ်က္အလက္ ရည္မွန္းခ်က္ေတြအတိုင္း
•              "အေကာင္းဆံုး အျမန္ဆံုး အမွန္ဆံုး ကုန္က်မႈအနည္းဆံုး အနၱရယ္အကင္းဆံုး" လုပ္ေပးနိုင္တဲ့ ေအးဂ်င့္မို်းကို
ေၾကာင္းကို်းနဲ့အညီ လုပ္ကိုင္ေဆာင္ရြက္တဲ့ေအးဂ်င့္လို့ေခၚတယ္။
rational agent ကို well-behaved agent ေကာင္းစြာျပုမူေဆာင္ရြက္ေသာ ေအးဂ်င့္လို့လည္းေခၚနိုင္တယ္။

                ဒါဆိုရင္ ဘယ္လို agent မို်းက rational agent ျဖစ္သလဲဆိုတာ ဆန္းစစ္ၾကည့္ဖို့အတြက္ ကြ်န္ေတာ္တို့အထက္မွာ ေဆြးေနြးခဲ့တဲ့ ရိုးရွင္းတဲ့ ဖုန္စုပ္စက္ အေၾကာင္းကိုပဲ ျပန္ၾကည့္ၾကပါစို့။ အဲဒီ agent ဟာ rational ျဖစ္ပါသလားဆိုရင္ အေျဖက  ဒါဟာ အေျခအေနေပၚမူတည္ပါတယ္လို့ေျဖရပါလိမ့္မယ္။

ပထမဦးဆံုးအေနနဲ့
•              စြမ္းေဆာင္ရည္တိုင္းတာမႈ (performance measure) ေတြက ဘာေတြလဲ
•              ပတ္ဝန္းက်င္နဲ့ပတ္သက္ျပီးဘာေတြသိထားလဲ
•              ေအးဂ်င့္မွာ ဘယ္လို အာရံုခံကရိယာ sensor ေတြ၊  တုန့္ျပန္ကရိယာ actuator ေတြရိွလဲ။
ဆိုတာ ေျပာရပါမယ္။ ဒါေၾကာင့္ ေအာက္ပါအတိုင္း ယူဆၾကည့္ပါစို့။

ရိုးရွင္းေသာဖုန္စုပ္စက္ေအးဂ်င့္အတြက္ ယူဆခ်က္မ်ား
1.             ေလးေထာင့္ကြက္တစ္ကြက္သန့္ရွင္းမႈတိုင္းအတြက္ အခိ်န္တစ္ဆင့္ျခင္း တစ္ဆင့္ျခင္းမွာ အမွတ္ တစ္မွတ္ေပးမယ္။  ဒီ agent ရဲ့ သက္တမ္းဟာ အခိ်န္အဆင့္ေပါင္း ၁၀၀၀ ရိွတယ္။
2.             ပတ္ဝန္းက်င္ ပထဝီအေနအထားကို ၾကိုသိထားတယ္(A and B)။ ဒါေပမယ့္ agent ရဲ့ စဦးတည္ေနရာနဲ့ သန့္စင္မႈ ညစ္ညမ္းမႈ အေျခအေနကိုေတာ့ ၾကိုမသိဘူး။
3.             ရနိုင္တဲ့ လုပ္ေဆာင္မႈေတြက Left, Right, Suck သာလွ်င္ျဖစ္တယ္။
4.             agent ဟာ သူ့ရဲ့တည္ေနရာနဲ့ သန့္ရွင္းမႈအေျခအေနကို မွန္မွန္ကန္ကန္(အမွားအယြင္းမရိွ) အာရံုခံနိုင္တယ္။

                အဲဒီလို သတ္မွတ္ထားတဲ့အေျခအေနမို်းေတြနဲ့ဆိုရင္ေတာ့ ဒီagent ဟာ rational ျဖစ္တယ္လို့ေျပာလို့ရတယ္။ သူ့ရဲ့ေမွ်ာ္လင့္ထားတဲ့ စြမ္းေဆာင္ရည္ (expected performance) ဟာ အနည္းဆံုးအားျဖင့္ေတာ့ တျခားagent ေတြေလာက္ ျမင့္မားတယ္။
                ဒါေပမယ့္ ဒီ agent ပဲ တျခားအေျခအေနေတြေအာက္မွာဆိုရင္ေတာ့ rational မျဖစ္ေတာ့တာ (irrational ျဖစ္တာ) ကို အလြယ္တကူ ေတြးဆၾကည့္နိုင္ပါတယ္။ ဥပမာ  အဲဒီ agent က ဖုန္ေတြအညစ္အေၾကးေတြအားလံုး ရွင္းလင္းျပီးသြားျပီဆိုပါစို့။ ရွင္းသြားျပီးျဖစ္ေပမယ့္ အဲဒီ agent ဟာ မလိုအပ္ပဲနဲ့ ေရွ့ေနာက္ ဘယ္ညာ အျပန္ျပန္ အလွန္လွန္ ေရြ့လ်ားေနမယ္။ (...otherwise, move to the other square လို့ function ကို သတ္မွတ္ထားတာကိုး။) တကယ္လို့သာ စြမ္းေဆာင္ရည္တိုင္းတာမႈ သတ္မွတ္ခ်က္ထဲမွာ ဘယ္ညာ တစ္ခါေရြ့တိုင္း (ကုန္က်စရိတ္အျဖစ္) ဒဏ္ေၾကးအေနနဲ့ တစ္မွတ္အနုတ္ခံရမယ္လို့မ်ား သတ္မွတ္ထားရင္၊ အဲဒီအေျခအေနေအာက္မွာ ဒီ agent ဟာ rational မျဖစ္ေတာ့ဘူး။ အေကာင္းဆံုး၊ အမွန္ဆံုး၊ ကုန္က်စရိတ္အနည္းဆံုး မဟုတ္ေတာ့ဘူး။ ဒါေၾကာင့္ ပိုမိုေကာင္းမြန္တဲ့ agent သာဆိုရင္ေတာ့ ရိွသမွ်အကြက္အားလံုးသန့္ရွင္းသြားျပီဆိုတာ ေသခ်ာတာနဲ့ အဲဒီ agent ဟာ ဘယ္ကိုမွ မေရြ့လ်ား ဘာမွမလုပ္ပဲေနရမွာျဖစ္တယ္။ တကယ္လို့ သန့္စင္ျပီးသားအေျခအေနကေန တစ္ခါျပန္ျပီး ညစ္ေပနိုင္ေသးတယ္ဆိုရင္၊ agent က အေျခအေနကို မၾကာခဏဆိုသလိုျပန္စစ္ေဆးျပီး လိုအပ္ရင္(ညစ္ေပေနရင္) ျပန္ျပီးသန့္စင္ေပးတာမို်းလုပ္သင့္ပါတယ္။ တကယ္လို့ agent ဟာ ပတ္ဝန္းက်င္ပထဝီအေနအထားကို သိမထားဘူးဆိုရင္၊ သူဟာ A နဲ့ B အကြက္ထဲမွာတင္ ေနမေနပဲ၊ (တျခားအကြက္ေတြကို) သူ့ဘာသာသူ စူးစမ္းရွာေဖြမႈေတြ လုပ္ဖို့လိုအပ္ပါတယ္။


ေအးဂ်င့္၏PEAS
                rational agent တစ္ခုကို အဓိပၸါယ္သတ္မွတ္တဲ့အခါမွာ သူ့အတြက္ လိုအပ္တဲ့အရာေတြကို အုပ္စု ေလးစုခဲြလိုက္တယ္။ အဲဒါေတြကေတာ့ စြမ္းေဆာင္ရည္တိုင္းတာမႈ၊ ပတ္ဝန္းက်င္၊ တုန့္ျပန္လုပ္ေဆာင္သည့္စနစ္မ်ား နဲ့ အာရံုခံစနစ္တို့ ျဖစ္ပါတယ္။ အတိုေကာက္အားျဖင့္ PEAS (Performance, Environment, Actuators, Sensors) ဆိုျပီးမွတ္သားနိုင္ပါတယ္။
ဥပမာ
1. ေမာင္းသူမဲ့ကားအတြက္ PEAS
စြမ္းေဆာင္ရည္။        အနၱရယ္ကင္းမႈ၊ အခိ်န္ကုန္သက္သာမႈ၊ စည္းကမ္းတက်ေမာင္းနွင္မႈ၊ သက္ေတာင့္သက္သာျဖစ္မႈ၊ စသည္
ပတ္ဝန္းက်င္။            လမ္းမ်ား၊ အျခားကားမ်ား၊ လမ္းျဖတ္ကူးသူမ်ား၊ လမ္းအမွတ္အသားမ်ား စသည္
တုန့္ျပန္သည့္ကရိယာမ်ား။         စီရာတိုင္၊ လီဗာ၊ ဘရိတ္၊ အခ်က္ျပမီး၊ ဟြန္း စသည္
အာရံုခံကရိယာမ်ား။                   ကင္မရာ၊ အသံလိွုင္းဖမ္းစက္၊ ဂီ်ပီအက္စ္၊ အရိွန္ျပကရိယာ၊ ခရီးမိုင္ျပကရိယာ၊ အင္ဂ်င္အာရံုခံကရိယာ၊ ခလုတ္မ်ား၊ စသည္

2. ဖုန္စုပ္စက္အတြက္ PEAS
စြမ္းေဆာင္ရည္။        သန့္ရွင္းမႈ၊ စြမ္းရည္ရိွမႈ၊ ေရြ့လ်ားမႈအကြာအေဝး၊ ဘက္ထရီသက္တမ္း၊ ေဘးကင္းလံုျခံုမႈ
ပတ္ဝန္းက်င္။            အခန္း၊ စားပဲြ၊ သစ္သားၾကမ္းျပင္၊ ေကာ္ေဇာ၊ အရံ အတားမ်ား
တုန့္ျပန္သည့္ကရိယာမ်ား။         ဘီးမ်ား၊ ဖုန္သုတ္ကရိယာ ဘရပ္ရွ္မ်ား၊ ေလစုပ္စက္
အာရံုခံကရိယာမ်ား။                   ကင္မရာ၊ အညစ္အေၾကးအာရံုခံ၊ လမ္းခို်င့္ အာရံုခံ၊ လမ္းခံုး မ်က္နွာျပင္ခံုး အာရံုခံ၊ နံရံ အာရံုခံ.



ပတ္ဝန္းက်င္
                ပတ္ဝန္းက်င္လို့ေျပာရင္ ျပင္ပပတ္ဝန္းက်င္ (external environment) နဲ့ လုပ္ေဆာင္မႈပတ္၀န္းက်င္ (task environment) ဆိုျပီး ခဲြျခားနိုင္ပါတယ္။ လုပ္ေဆာင္မႈပတ္၀န္းက်င္မွာ performance measure, external environment, actuators နဲ့ sensors ေတြပါ၀င္တယ္။ ေအးဂ်င့္တစ္ခုကို ဒီဇိုင္းလုပ္ျပီဆိုတာနဲ့ ပထဆံုးအဆင့္ဟာ အဲဒီေအးဂ်င့္နဲ့ပတ္သက္တဲ့ လုပ္ေဆာင္မႈပတ္၀န္းက်င္ကို တတ္နိုင္သမွ် ျပည့္ျပည့္စံုစံု သတ္မွတ္ေဖၚျပေပးဖို့ပဲျဖစ္တယ္။   ပတ္ဝန္းက်င္အမို်းအစားေတြကို ေအာက္ပါအတိုင္း ခဲြျခားစိတ္ျဖာနိုင္ပါတယ္။

1.     အျပည့္အစံု ေလ့လာသံုးသပ္စူးစမ္းနိုင္တဲ့ ပတ္၀န္းက်င္ အေနအထား အေျခအေန နဲ့ တစိတ္တပိုင္း တ၀က္တပ်က္ပဲ ေလ့လာသံုးသပ္စူးစမ္းနိုင္တဲ့ ပတ္၀န္းက်င္ အေနအထား အေျခအေန။

2.     agent တစ္ခု(တစ္ေရာက္)တည္း အလုပ္လုပ္တဲ့ ပတ္၀န္းက်င္နဲ့ agent ေတြအမ်ားၾကီးပါဝင္အလုပ္လုပ္တဲ့ ပတ္၀န္းက်င္။

3.     ပတ္၀န္းက်င္ရဲ့ ေနာက္တစ္ဆင့္ အေျခအေန အေနအထားကို၊ လက္ရိွအေျခအေန နဲ့ agent က လုပ္ေဆာင္မယ့္ action ေပၚမူတည္ျပီး
အတိအက် ျပည့္ျပည့္စံုစံု ေျပာနိုင္ ဆံုးျဖတ္နိုင္တဲ့ပတ္၀န္းက်င္နဲ့၊ မေျပာနိုင္ မဆံုးျဖတ္နိုင္တဲ့ပတ္၀န္းက်င္။ (Note: If the environment is deterministic except for the actions of other agents, then the environment is strategic)

4.     တက႑စီ၊ တပိုင္းစီ၊ ျဖစ္ပ်က္ေနတဲ့ပတ္၀န္းက်င္နဲ့ အစီအစဉ္လိုက္ တစ္ခုျပီးတစ္ခု ျဖစ္ပ်က္ေနတဲ့ပတ္၀န္းက်င္။

5.     agent အလုပ္လုပ္ေနတဲ့ကာလ(perceive, think, act)အတြင္းမွာ၊ အေျပာင္းအလဲမရိွ တည္ျငိမ္ေနတဲ့ ပတ္၀န္းက်င္နဲ့၊ agent အလုပ္လုပ္ေနတဲ့ ကာလအတြင္းမွာပဲ၊ အေျခအေနေျပာင္းလဲသြားတဲ့ ပတ္၀န္းက်င္။

6.     ျပတ္ေတာင္းျဖစ္စဉ္(checkers) နဲ့ စဉ္ဆက္ျဖစ္စဉ္(လူ၏ထိန္းခု်ပ္မႈမပါေသာ ေမာင္းသူမဲ့ကား) ပတ္၀န္းက်င္။


7.     သိျပီးပတ္၀န္းက်င္ နဲ့ အေျခအေနမသိတဲ့ပတ္ဝန္းက်င္။

ေအးဂ်င့္အမို်းအစားမ်ား
                အေျခခံေအးဂ်င့္ေလးမို်းရိွတယ္။ ရိုးရိုးသာမန္တုန့္ျပန္ေသာေအးဂ်င့္၊ စံပံုစံအေျခခံေသာေအးဂ်င့္၊ ပန္းတိုင္ကိုအေျခခံေသာေအးဂ်င့္နဲ့ အရည္အေသြးကိုအေျခခံေသာေအးဂ်င့္ဆိုျပီးျဖစ္ပါတယ္။ အတိုအားျဖင့္ simple, model-based, goal-based, utility-based ဆိုျပီး မွတ္သားနိုင္ပါတယ္။

1. ရိုးရိုးသာမန္တုန့္ျပန္ေသာ ေအးဂ်င့္ Simple reflex agents
                လက္ရိွ လတ္တေလာျဖစ္ပ်က္ေနတဲ့ အေျခအေနအေပၚမွာသာအေျခခံ (based on the current state only) ျပီး ျပုမူေဆာင္ရြက္တဲ့ agent မို်းျဖစ္တယ္။ ဒီ agent ဟာ ရိုးရွင္းတယ္။ စြမ္းေဆာင္ရည္ အကန့္အသတ္ရိွတယ္။ ျပီးေတာ့ အျပည့္အဝနားလည္နိုင္တဲ့ ပတ္၀န္းက်င္မို်းမွာပဲ လုပ္ေဆာင္နိုင္တယ္။
•              Simple-Reflex Agent ဟာ ပတ္ဝန္းက်င္ရဲ့အေျခအေနကို sensors ေတြကတဆင့္ အာရံုခံျခင္းအားျဖင့္ အခုလက္ရိွ ျပင္ပကမၻာမွာ ဘာျဖစ္ေနလဲ (what the world is like now) ဆိုတာ သိေအာင္လုပ္တယ္။
•              အဲဒီအေပၚမူတည္ျပီး ဘာလုပ္သင့္တယ္(what action I should do now) ဆိုတာကို ၾကိုတင္သတ္မွတ္ျပဌာန္းေပးထားတဲ့  ဒါျဖစ္ရင္ဒါလုပ္၊ ဟိုဟာျဖစ္ရင္ ဟိုဟာလုပ္ ဆိုတဲ့ condition-action rules ေတြေပၚမွာမူတည္ျပီး ေရြးခ်ယ္တယ္။
•              ျပီးယင္ Actuators ေတြကတဆင့္ ပတ္ဝန္းက်င္ကို တစ္စံုတစ္ရာတုန့္္ျပန္လုပ္ေဆာင္တယ္။


2. စံပံုစံအေျခခံေသာ ေအးဂ်င့္ Model-based reflex agents
                ဒီ agent အမို်းအစားကေတာ့ တဝက္တပ်က္ပဲ စူးစမ္းေလ့လာလို့ရတဲ့ပတ္ဝန္းက်င္မွာလည္း လုပ္ေဆာင္နိုင္စြမ္းရိွတယ္။
•              Model-based reflex agent ဟာ Sensor ကအာရံုခံလို့ရတဲ့၊ အခုလက္ရိွ ျပင္ပကမၻာမွာ ဘာျဖစ္ေနလဲ (what the world is like now) ဆိုတဲ့ ပတ္ဝန္းက်င္ရဲ့အေျခအေနေတြအားလံုး(percepts history)ကို မွတ္သားထားတယ္။ State သို့ ျမားသြားပံုကိုၾကည့္ပါ။
[မွတ္ခ်က္။                ဒါဟာ Simple Reflex Agent နဲ့ကြာတဲ့အခ်က္ျဖစ္တယ္။ Simple Reflex Agent မွာက လက္ရိွအေျခအေနတစ္ခုတည္းကိုပဲ ၾကည့္တယ္။ ဘာမွတ္တမ္းမွမရိွဘူး။]
•              ျပီးေတာ့ Model-based Reflex Agentက၊ ပတ္ဝန္းက်င္အေၾကာင္းကို ပိုမိုသိျမင္နားလည္ေအာင္လုပ္ေဆာင္တဲ့အေနနဲ့၊ သူ့မွာထည့္သြင္းတည္ေဆာက္ထားတဲ့ Model ကေနျပီးအခ်က္နွစ္ခ်က္ကို ရယူတယ္။ အဲဒါေတြကေတာ့
၁။ ျပင္ပကမၻာဟာ Agentနဲ့ကင္းလြတ္စြာ ဘယ္လိုမ်ား သီးျခား ဆင့္ကဲတိုးတက္ေျပာင္းလဲေနသလဲ
၂။ Agent ရဲ့ လုပ္ေဆာင္ခ်က္ေတြေၾကာင့္ ျပင္ပကမၻာမွာ ဘာေတြအေျပာင္းအလဲျဖစ္သလဲ ဆိုတဲ့ နွစ္ခ်က္ပဲျဖစ္တယ္။
•              ျပီးမွ Agent က သူ ဘာလုပ္သင့္တယ္(what action I should do now) ဆိုတာကို ၾကိုတင္သတ္မွတ္ျပဌာန္းေပးထားတဲ့  condition-action rules ေတြေပၚမွာမူတည္ျပီး ေရြးခ်ယ္တယ္။
•              ျပီးယင္ Actuators ေတြကတဆင့္ ပတ္ဝန္းက်င္ကို တစ္စံုတစ္ရာတုန့္္ျပန္လုပ္ေဆာင္တယ္။

3. ပန္းတိုင္အေျခခံေသာ ေအးဂ်င့္ Goal-based Agent
                ဒီလို goal-based agent မို်းဟာ ပတ္၀န္းက်င္ရဲ့ လက္ရိွအေျခအေနကို သိရံုနဲ့ မလံုေလာက္ဘူး။ ပတ္၀န္းက်င္ (environment) ရဲ့ states (အေျခအေနေတြ) သိရမယ့္အျပင္၊ သူ့ရဲ့ ရည္ရြယ္ခ်က္ ရည္မွန္းခ်က္နဲ့ ပတ္သက္တဲ့ သတင္းအခ်က္အလက္ေတြကိုပါ သိထားဖို့လိုအပ္တယ္။ ပတ္၀န္းက်င္ပံုစံနဲ့ ရည္မွန္းခ်က္ကို ေပါင္းစပ္ျပီးမွ ပန္းတိုင္ေရာက္ဖို့ ဘယ္လို ေဆာင္ရြက္မႈမို်းကို ေရြးခ်ယ္လုပ္ေဆာင္ရမလဲဆိုတာ ဆံုးျဖတ္တာ။ "ငါ ဒါကို လုပ္ရင္ ဘာျဖစ္လာမလဲ" ဆိုတဲ့ အနာဂတ္ကို ၾကိုတင္စဉ္းစားျပီးမွ ေရြးခ်ယ္အလုပ္လုပ္တာျဖစ္တယ္။


4. အသံုးဝင္မႈအရည္အေသြးကိုအျခခံေသာ ေအးဂ်င့္ Utility-based agent
                ရည္မွန္းခ်က္ေရာက္ရိွျခင္းဆိုတာဟာလည္း တစ္ခါတစ္ရံမွာ မလံုေလာက္ေသးပါဘူး။ အဆံုးသတ္ ပန္းတိုင္ကို အေရာက္သြားတဲ့ေနရာမွာ ပိုျမန္ဖို့၊ ပိုျပီးေဘးအနၱရယ္ကင္းရွင္းဖို့၊ ပိုျပီးအကုန္အက်သက္သာဖို့ ဆိုတာေတြလည္း လိုအပ္ပါတယ္။ အဲဒီလိုအခ်က္ေတြကို utility လို့ေခၚတယ္။ utility ေတြရရိွေအာင္ေဆာင္ရြက္ေပးတာက utility function ေတြျဖစ္တယ္။ အဲဒီ utility function ေတြဟာ agent ရဲ့ စြမ္းေဆာင္ရည္တိုင္းတာမႈ (performance measure) ပဲျဖစ္တယ္။


သင္ယူေသာေအးဂ်င့္ Learning Agent
                အသိဉာဏ္ရိွတဲ့ေအးဂ်င့္ intelligent agent ေတြအားလံုးကို ေယဘုယ်ျခံုငံုျပီး သင္ယူေသာေအးဂ်င့္ learning agent ေတြလို့သတ္မွတ္နိုင္တယ္။ ဘာလို့တုန္းဆိုေတာ့ အဲဒီေအးဂ်င့္ ေတြဟာ ေလ့လာျခင္းကတဆင့္၊ ပိုမိုေကာင္းမြန္တဲ့ လုပ္ေဆာင္ခ်က္ေတြကို လုပ္ေဆာင္နိုင္ဖို့ သူတို့ကိုသူတို့ ပိုျပီး စြမ္းေဆာင္ရည္ တိုးတက္လာေအာင္ လုပ္ေဆာင္နိုင္စြမ္းရိွၾကလို့ျဖစ္တယ္။ သင္ယူေသာေအးဂ်င့္ေတြမွာ သေဘာတရားေရးရာအရခဲြျခားထားတဲ့ အစိပ္အပိုင္း (conceptual components) ေလးပိုင္းပါဝင္တယ္။
•              agent ရဲ့တိုးတက္ေရးအတြက္ တာဝန္ယူတဲ့ Learning element
•              agent ရဲ့ျပင္ပလုပ္ေဆာင္ခ်က္ေတြကို ေရြးခ်ယ္တဲ့ Performance element
•              ခ်မွတ္ထားတဲ့ စံနႈန္းေတြအတိုင္း agent က ဘယ္ေလာက္ထိေကာင္းမြန္ေအာင္လုပ္ေဆာင္နိုင္သလဲ ဆိုတာကို ေဝဖန္သံုးသပ္ျပီး အသိေပးအေၾကာင္းျပန္မယ့္ critic
•              သတင္းအခ်က္အလက္ေပးနိုင္မယ့္ အေတြ့အၾကံုသစ္ေတြရရိွေအာင္၊ ဘာကိုေရြးခ်ယ္လုပ္ေဆာင္ရမလဲဆိုတာကို အၾကံျပုတဲ့ problem generator
စတာေတြျဖစ္တယ္။

ေအးဂ်င့္ပရိုဂရမ္ရဲ့အစိပ္အပိုင္းေတြ ဘယ္လိုအလုပ္လုပ္သလဲ
                အခုအခိ်န္အထိ AI နဲ့ပတ္သက္လို့ ကြ်န္ေတာ္တို့ေလ့လာခဲ့သမွ်ဟာ တကယ့္ကို ေယဘုယ်ျခံုငံုၾကည့္တဲ့အျမင္ (very high level view) မို်းသာျဖစ္ပါတယ္။ ပမာအားျဖင့္
ျပင္ပကမၻာအေျခအေနက အခုဘယ္လိုျဖစ္ေနလဲ
အခုအခါမွာ ဘယ္လိုလုပ္ေဆာင္မႈမို်းလုပ္သင့္သလဲ
လုပ္ေဆာင္မယ္ဆိုတဲ့ဟာေတြက ဘာေတြလုပ္တာလဲ... ဆိုတာမို်းေတြေပါ့။
                အခုတစ္ခါ ေနာက္တစ္ဆင့္ စဉ္းစားရမယ့္ေမးခြန္းက ေအးဂ်င့္ပရိုဂရမ္ရဲ့အစိပ္အပိုင္းေတြက ဘယ္လိုအလုပ္လုပ္တာလဲ ဆိုတဲ့ေမးခြန္းပဲျဖစ္ပါတယ္။ တကယ္တန္းဆိုရင္ေတာ့ အဲဒီေမးခြန္းကို ေသေသခ်ာခ်ာ ျပည့္ျပည့္စံုစံု ပံုစံတက်ေျဖမယ္ဆိုရင္ စာမ်က္နွာေပါင္းေထာင္ခီ်ျပီး စတင္ေျဖဆိုရမယ့္ေမးခြန္းမို်းပါ။ ဒါေပမယ့္ဒီေနရာမွာ ကြ်န္ေတာ္တို့အဓိကထားတာက၊ ေအးဂ်င့္မွာပါဝင္တဲ့အစိပ္အပိုင္းေတြက ေအးဂ်င့္တည္ရိွအလုပ္လုပ္တဲ့ ပတ္ဝန္းက်င္ကို နည္းလမ္းအမို်းမို်းနဲ့ ကိုယ္စားျပုပံုေတြရဲ့ အေျခခံကဲြျပားျခားနားခ်က္တစ္ခို့်ကို ဂရုျပုမိဖို့ပဲျဖစ္ပါတယ္။
Figure 2.16 Three ways to represent states and the transitions between them.

(က) တစ္စု တစ္ေပါင္းတည္း ကိုယ္စားျပုထားျခင္း  Atomic representation
                ဒီကိုယ္စားျပုမႈမို်းမွာ ပါဝင္တဲ့ အေျခအေနအသီးသီးကို ခဲြထုတ္လို့မရဘူး။ သူ့ရဲ့ အတြင္းပိုင္းကိုမျမင္ရဘူး။ အတြင္းပိုင္းတည္ေဆာက္ပံုမရိွဘူး။ Figure 2.16 ရဲ့ ပံု(a)မွာ ျပထားတဲ့အတိုင္း၊ ဘီ သို့မဟုတ္ စီ အေျခအေနရဲ့ အတြင္းပိုင္းတည္ေဆာက္ပံုေတြ အေျခအေနေတြကို မျမင္ရဘူး။ ဒါေၾကာင့္ ဒီ Atomatic Representation ကို black box လို့လည္းေခၚတယ္။
                ဥပမာေပးရရင္ ျမို့တစ္ျမို့ကေန ဟိုးအစြန္တစ္ျခားျမို့ကို  ၾကားျမို့ေတြျဖတ္သန္းျပီး ကားေမာင္းသြားဖို့ လမ္းေၾကာင္းရွာရမယ့္ ကိစၥမို်း (ျပႆနာမို်း) ကို စဉ္းစားၾကည့္ပါ။ ျဖစ္နိုင္တဲ့လမ္းေၾကာင္းေတြ တစ္ခု သို့မဟုတ္ တစ္ခုထက္ပိုျပီးရိွနိုင္ေပမယ့္၊ ဘယ္လမ္းေၾကာင္းနဲ့ပဲသြားသြား အစကေနအဆံုးအထိ သြားရမယ့္ကိစၥမွာ ျမို့တစ္ျမို့ျမို့ကို ျဖုတ္လိုက္မယ္၊ ပယ္လိုက္မယ္၊ ျဖတ္မသြားပဲေနမယ္ ဆိုရင္ ဘယ္လိုမွ ေနာက္ဆံုးျမို့(ပန္းတိုင္)ကို ေရာက္မွာမဟုတ္ဘူး။ ျဖတ္သန္းသြားမယ့္ ျမို့အစီအစဉ္ေတြအားလံုးဟာ တစ္စုတည္း တစ္ခုတည္း သေဘာမို်းျဖစ္ေနတယ္။ ဘယ္ျမို့ကိုမွ ခဲြထုတ္လို့ ဖယ္ထုတ္လိုက္လို့ မျဖစ္ဘူး။ ပန္းတိုင္ေရာက္နိုင္ဖို့အတြက္ ျမို့အစီအစဉ္ေတြအားလံုးကို တစ္စု တစ္ေပါင္းတည္း ကိုယ္စားျပုထားတာျဖစ္တယ္။
                မတူညီတဲ့  atomatic state နွစ္ခုမွာ တူညီတာ ဘာမွမရိွနိုင္ဘူး။ ဘာလို့တုန္းဆိုေတာ့ အဲဒီ ဟာေတြက Black Box  ေတြျဖစ္လို့ပဲ။ အထဲမွာ ဘာပါတယ္ဆိုတာ မျမင္နိုင္ မသိနိုင္တဲ့အတြက္ တစ္ခုနဲ့တစ္ခု တူတယ္လို့ ဘယ္လိုမွေျပာလို့မရဘူး။ သီးျခား Black Box နွစ္ခုသာျဖစ္တယ္။
ဒီ Atomic representation နဲ့ သက္ဆိုင္တဲ့ အေၾကာင္းအရာေတြကို
•              Search ရွာေဖြျခင္း(အခန္း-၃)၊
•              Game-Playing ဂိမ္းကစားျခင္း(အခန္း-၅)၊
•              ဖံုးကြယ္ထားေသာ မားေကာဗ္ ပံုစံမ်ား Hidden Markov models (အခန္း-၁၅) နဲ့ 
•              မားေကာ့ဗ္ဆံုးျဖတ္ပံုအဆင့္ဆင့္ Markov decision processes (အခန္း-၁၇) ေတြမွာ ေလ့လာမွာျဖစ္ပါတယ္။

(ခ) ခဲြစိတ္ ပိုင္းျဖတ္၍ ကိုယ္စားျပုထားျခင္း Factored Representation
                ဒီ Factored Representation မွာ၊ အေျခအေနအသီးသီးကို တိက်တဲ့ အစုရိွတဲ့ variables ေတြ သို့မဟုတ္ attributes ေတြအျဖစ္ ခဲြထုတ္လိုက္တယ္။ အဲဒီ variable ေတြ attribute ေတြမွာ တန္ဘိုး value တစ္ခုခုရိွနိုင္တယ္။ အဲဒီ တန္ဘိုးေတြဟာ မွန္-မွား Boolean, အစစ္အမွန္တန္ဘိုး၊ ဒါမွမဟုတ္  ပံုေသသေကင္ၱအစု fixed set of symbols စသည္ျဖင့္ တစ္ခုခု ျဖစ္နိုင္တယ္။
                မတူညီတဲ့ Factored State နွစ္ခုမွာ မွ်ေဝသံုးစဲြထားတဲ့ (တူညီတဲ့) attribute ေတြပါနိုင္တယ္။ ျပီးေတာ့ ဒီ ခဲြစိတ္ ပိုင္းျဖတ္၍ ကိုယ္စားျပုထားတဲ့ပံုစံမွာ မေသခ်ာမေရရာမႈ uncertainty ကိုလည္း ကိုယ္စားျပုေဖၚျပနိုင္တယ္။ ဥပမာ သြားရမယ့္ခရီးအတြက္ ကားရဲ့ ဆီတိုင္ကီထဲမွာ ဆီဘယ္ေလာက္ရိွတယ္၊ က်န္တယ္ ဆိုတာကို မသိတဲ့အေျခအေနမို်းအတြက္ အဲဒီ attribute ရဲ့ တန္ဘိုး value ကို ကြက္လပ္ထားလိုက္ျခင္းအားျဖင့္ ေဖၚျပနိုင္ပါတယ္။ တုပအသိဉာဏ္ပညာရပ္ရဲ့ နယ္ပယ္ေတြေတာ္ေတာ္မ်ားမ်ားဟာ ဒီ ခဲြစိတ္ ပိုင္းျဖတ္၍ ကိုယ္စားျပုထားျခင္း ဆိုတဲ့ Factored Representation အေပၚမွာအေျခခံထားတာပါ။ ဒါေတြကို
•              ကန့္သတ္ခ်က္မ်ားကို ေျပလည္ေစေသာ ေျဖရွင္းနည္း constraint satisfaction algorithms (အခန္း-၆)
•              ေဖၚျပခ်က္ဆိုင္ရာ ယုတၱိေဗဒ propositional logic (အခန္း-၇)
•              အစီအစဉ္ေရးဆဲြျခင္း planning (အခန္း ၁၀-၁၁)
•              ေဘးစ္၏ ကြန္ယက္ Bayesian networks (အခန္း ၁၃-၁၆) နဲ့
•              စက္ေလ့လာသင္ယူျခင္း နည္းလမ္းအဆင့္ဆင့္ the machine learning algorithms (အခန္း ၁၈-၂၀-၂၁) ေတြမွာ ေလ့လာၾကမွာျဖစ္ပါတယ္။

(ဂ) တည္ေဆာက္မႈပံုစံတက် ကိုယ္စားျပုျခင္း Structured representation
                ကိစၥရပ္ေတာ္ေတာ္မ်ားမ်ားမွာ ကြ်န္ေတာ္တို့ရဲ့ ကမၻာၾကီးအေပၚ နားလည္ဖို့ဆိုတာ၊ သူ့မွာပါဝင္တဲ့ object ေတြရဲ့ variable ေတြ၊ attribute ေတြရဲ့ တန္ဘိုး value ေတြသာမဟုတ္ပဲ၊ သူ့မွာပါဝင္ေနတဲ့အရာေတြ object ေတြ အခ်င္းခ်င္းရဲ့ ဆက္သြယ္ခ်က္ကိုပါ နားလည္ဖို့လိုအပ္ပါတယ္။  
                ဒီ တည္ေဆာက္မႈပံုစံတက် ကိုယ္စားျပုျခင္းဆိုတဲ့ ေမာ္ဒယ္ရဲ့ အေျခအေနတစ္ခုမွာ object ေတြပါမယ္။ object တိုင္းမွာ သူ့ရဲ့ကိုယ္ပိုင္ attribute ေတြနဲ့အတူ၊ တျခား object ေတြနဲ့ ဆက္သြယ္ခ်က္ေတြလည္းပါမယ္။ ဒီ Structured representation နဲ့ပတ္သက္တဲ့အခန္းေတြကေတာ့
•              ခ်က္သြယ္ခ်က္ရိွေသာအခ်က္အလက္ဘဏ္ နဲ့ ပထမဆင့္ ယုတၱိေဗဒ relational databases and first-order logic (အခန္း ၈-၉-၁၂)
•              ပထမဆင့္ ျဖစ္နိုင္ေျခ ပံုစံမ်ား first-order probability models (အခန္း ၁၄)
•              အသိပညာ အေျချပုေလ့လာျခင္း knowledge-based learning (အခန္း ၁၉)

•              သဘာဝဘာသာစကား နားလည္မႈ natural language understanding (အခန္း ၂၂-၂၃) ျဖစ္တယ္။ တကယ္ေတာ့ လူေတြသံုးစဲြေနၾကတဲ့ သဘာဝဘာသာစကားရဲ့ အရာအားလံုးနီးပါးဟာ object ေတြနဲ့ အဲဒီ object ေတြအခ်င္းခ်င္းရဲ့ ဆက္သြယ္ခ်က္ relation ေတြ အေၾကာင္းသာျဖစ္ပါတယ္။ 




Please Note Copyright Notice:

ဤဆောင်းပါးများ 
Artificial Intelligence: A Modern Approach  သည်၊ ကွန်ပျူတာဂျာနယ်တွင် ဖေါ်ပြပါရှိပြီးသော ဆောင်းပါးများဖြစ်ပါသည်။
ဤဆောင်းပါးများနှင့် နောက်နောင် ဆက်လက် တင်ပြကောင်းတင်ပြမည့် 


Artificial Intelligence: A Modern Approach  သင်္ခန်းစာ ဆောင်းပါးများ အားလုံးကို Patent & Copyright Law အရ မှတ်ပုံတင်ပြီးဖြစ်ပါသည်။

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.