သင်္ချာ၊ ကွန်ပျူတာသိပ္ပံ နှင့် ဥပဒေ ပညာရပ်ဆိုင်ရာ သုတ ရသ ဆောင်းပါးများ
Sunday, September 24, 2017
အနာဂတ်ကွန်ပျူတာ
Friday, August 11, 2017
ပိုင်သွန် သို့မဟုတ် ရိုးရှင်းမှု၏စွမ်းအား
ပိုင်သွန် သို့မဟုတ် ရိုးရှင်းမှု၏စွမ်းအား
မိတ်ဆက်နိဒါန်း
ကျွန်တော်တို့မှာ C, C++ , Java, PHP တို့ထက် ဆော့ဖ်ဝဲ ရေးသားထုတ်လုပ်နိုင်စွမ်း (productivity) ပိုကောင်းတဲ့ ပရိုဂရမ်ဘာသာစကားတစ်ခုရှိတယ်။ အဲဒီပရိုဂရမ်ဘာသာစကားရဲ့ ကွန်ပျူတာမှတ်ဉာဏ်သုံးစွဲမှု(memory consumption)အပိုင်းဟာ Java ထက်ပိုကောင်းပြီး၊ C သို့မဟုတ် C++ ထက်လည်း အများကြီးတော့ ပိုပြီးတော့ မဆိုးလှဘူး။ အဲဒီ ဘာသာစကားဟာ ၂၀၀၃ ကနေ အခု ၂၀၁၇ အထိ ဆယ့်ငါးနှစ်ဆက်တိုက် TIOBE Programming Community Index ရဲ့ အောင်မြင်ကျော်ကြားမှုအရှိဆုံး ထိပ်တန်း ပရိုဂရမ်ဘာသာစကားဆယ်မျိုးစာရင်းမှာအမြဲပါဝင်နေတယ်။ ၂၀၀၇ နဲ့ ၂၀၁၀ နှစ်တွေမှာ နှစ်တစ်နှစ်ရဲ့ ပရိုဂရမ်ဘာသာစကား (Programming Language of the Year)အဖြစ်လည်းသတ်မှတ်ခံခဲ့ရတယ်။ အခု ၂၀၁၇ ခု မတ်လ စစ်တမ်းတွေအရ ပဉ္စမမြောက် အကျော်ကြားဆုံးပရိုဂရမ်ဘာသာစကားဖြစ်တယ်။ ဒါ့အပြင် ၂၀၁၀ခုနှစ်လောက်ကစပြီး အဲဒီ ပရိုဂရမ်ဘာသာစကားကို ကမ္ဘာ့ထိပ်တန်း တက္ကသိုလ်ကြီးတွေမှာ ကွန်ပျူတာသိပ္ပံ၊ တုပအသိဉာဏ်ပညာ နဲ့ တခြား သိပ္ပံနဲ့အင်ဂျင်နီယာပညာရပ်တွေရဲ့ လက်တွေ့အသုံးချ ပရိုဂရမ်ဘာသာစကားအဖြစ်အသုံးပြုလာကြတယ်။ အဲဒီပရိုဂရမ်ဘာသာစကားအပါအဝင် အခြားဘာသာစကား တစ်မျိုးအထက် တတ်ကျွမ်းသူတွေအားလုံးက အဲဒီပရိုဂရမ်ဘာသာစကားကို "သင်ယူလေ့လာ အသုံးချဖို့ အလွယ်ကူဆုံး ဘာသာစကား" အဖြစ် တညီတညွတ်တည်းသတ်မှတ်ကြတယ်။ အဲဒီ ပရိုဂရမ်ဘာသာစကားကတော့ ပိုင်သွန် (Python) ပဲဖြစ်ပါတယ်။
နောက်ခံသမိုင်း
ဘာသာပြန်အမျိုးအစားinterpreted language တစ်ခုဖြစ်တဲ့၊ အထွေထွေသုံး general purpose ပရိုဂရမ်ဘာသာစကား ပိုင်သွန်ကို နယ်သာလန်နိုင်ငံသား ဒတ်ချ်လူမျိုး ကွန်ပျူတာပညာရှင် ဂူရီဒို ဗန် ရော့စ်ဆမ် (Guido van Rossum, born 31 January 1956) က ၁၉၈၉ ဒီဇင်ဘာမှာ စတင်တည်ထွင်ဖန်တီးခဲ့ပြီး ၁၉၉၁မှာ အများသုံးဖို့ ပထမဆုံးဖြန့်ဝေပေးခဲ့ပါတယ်။ Python 2.0 ကို ၂၀၀၀ခုနှစ် အောက်တိုဘာ ၁၆ ဖြန့်ချီခဲ့ပြီး၊ Python 3.0 ကို လုံးဝကွဲပြားခြားနားတဲ့ သီးသန့်လမ်းကြောင်းအသစ်တစ်ခုအဖြစ် ၂၀၀၈ ခုနှစ် ဒီဇင်ဘာ ၃ ရက်မှာ ဖြန့်ချိခဲ့တယ်။
ပိုင်သွန်မှာပါဝင်ဖွဲ့စည်းထားတဲ့ လိုင်ဘရီ(library = ပရိုဂရမ်များ၊ ဆော့ဖ်ဝဲ module များ၊ ဆော့ဖ်ဝဲ package များ)တွေကို စုစည်းသိမ်းဆည်းထားတဲ့ တရားဝင်နေရာ (official repository) မှာ၊ ၂၀၁၇ မေလ စာရင်းတွေအရ ပိုင်သွန်ကိုထောက်ပံ့တဲ့၊ ပိုင်သွန် ပရိုဂရမ်ဘာသာစကားအတွက် အလုပ်လုပ်ပေးတဲ့၊ တခြားအဖွဲ့အစည်းတွေရဲ့ဆော့ဖ်ဝဲ( third-party software library) ပေါင်း ဟာ တစ်သိန်းခုနှစ်ထောင်ကျော် (၁၀၇၀၀၀)ရှိနေပြီလို့ဆိုပါတယ်။ အဲဒီဆော့ဖ်ဝဲလိုင်ဘရီတွေမှာ
· gui, web frameworks, multimedia, databases, networking, communications စတာတွေနဲ့ပတ်သက်ပြီအသုံးချလို့ရတဲ့ အပိုင်းတွေပါဝင်သလို၊
· ဆော့ဖ်ဝဲစနစ်တွေ နဲ့ တခြားစနစ်တွေကို စီမံခန့်ခွဲဖို့အတွက် လိုအပ်တဲ့ test frameworks, automation and web scraping နဲ့ documentation tools တွေလည်းပါဝင်ပါတယ်။
· ဒါ့အပြင် သိပ္ပံ နဲ့ နည်းပညာ နယ်ပယ်တွေအတွက် scientific computing, text processing နဲ့ image processing တို့လို အလုပ်မျိုးတွေအတွက် တကယ့်ကိုပြည့်စုံကောင်းမွန်တဲ့ လိုင်ဘရီ တွေလည်း အမြောက်အများပါဝင်ပါတယ်။
သွင်ပြင်လက္ခဏာနှင့် အတွေးအခေါ်
ပိုင်သွန်ဟာ ပရိုဂရမ်တည်ဆောက်ရေးသားမှုပုံစံအမျိုးမျိုးကို ထောက်ပံ့တဲ့ multi-paradigm programming language အမျိုးအစားဖြစ်တယ်။ ပိုင်သွန်ဟာ object-oriented programming နဲ့ structured programming ပုံစံတွေကို အပြည့်အဝထောက်ပံ့ပေးတဲ့အပြင်၊ functional programming နဲ့ aspect-oriented programming တွေကိုပါ ထောက်ပံ့တယ်။ ဒါ့အပြင် design by contract နဲ့ logic programming ပုံစံတွေကိုပါ ချဲ့ထွင်သုံးစွဲလို့ရအောင် ပိုင်သွန်ကို ဒီဇိုင်းပြုတည်ဆောက်ထားတယ်။ ပိုင်သွန်ဟာ variable အမျိုးအစားတွေကို အရှင်ထားတဲ့ တစ်နည်းပြောရရင် variable တွေရဲ့ data type တွေကို ကြိုတင် ကြေငြာဖို့မလိုတဲ့ dynamic type အမျိုးအစားဖြစ်တယ်။ C, C++ ရဲ့လွှမ်းမိုးမှုခံရတဲ့ တခြား ပရိုဂရမ်ဘာသာစကားတွေလို ဆီမီးကော်မာ နဲ့ တွန့်ကွင်းကိုမသုံးပဲ ပိုင်သွန်ဟာ line of code တွေ code block တွေကို ခွဲခြားဖို့အတွက် white space ကိုသာအသုံးပြုတယ်။
ပိုင်သွန်ရဲ့ အတွေးအခေါ်ပိုင်းဆိုင်ရာ ဆောင်ပုဒ်တွေကတော့
· လှပခြင်းဟာ ကြည့်ရဆိုးခြင်းထက် ပိုကောင်းတယ်။
· တိတိကျကျ တိုက်ရိုက်ပြောလိုက်တာက သွယ်ဝိုက်ပြောတာထက် ပိုကောင်းတယ်။
· ရိုးရှင်းခြင်းဟာ ရှုပ်ထွေးခြင်းထက် ပိုကောင်းတယ်။
· ရှုပ်ထွေးခြင်းဟာ နားလည်ရခက်လောက်အောင်ရှုပ်ထွေးခြင်းထက် ပိုကောင်းတယ်။
· ကုဒ်တွေကို ဖတ်ရှုနိုင်စွမ်းဟာ ထည့်သွင်းစဉ်းစားရမယ့်အချက်ဖြစ်တယ်။
ဘာကြောင့် ပိုင်သွန်ကိုလေ့လာသင့်တာလဲ
· ပိုင်သွန်ဟာ လွတ်လပ်စွာ အခမဲ့ သုံးစွဲနိုင်တဲ့ ဆော့ဖ်ဝဲ Free and Open Source Software ဖြစ်တယ်။
· သင်ယူလေ့လာရတာလည်းလွယ်ကူတယ်။ မြန်မြန်ဆန်ဆန်လည်း လက်တွေ့အသုံးချနိုင်တယ်။ ကုဒ် တွေက ကျစ်ကျစ်လျစ်လျစ်ရှိတဲ့အပြင် အလွယ်တကူ ဖတ်ရှုနားလည်နိုင်တယ်။ တွေးသလို ရေးနိုင်တဲ့ ပရိုဂရမ်ဘာသာစကားဖြစ်တယ်။
· အသုံးအများဆုံး operating system ( Linux, Windows, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE and PocketPC) တိုင်းအတွက် ပိုင်သွန်ဘာသာပြန်ဆော့ဖ်ဝဲ Python Interpreter တွေရှိတယ်။ ဒါ့အပြင် Python ကုဒ်တွေကို C, C++, Java, JavaScript,Go ကုဒ်တွေအဖြစ် compile လုပ်ပေးနိုင်တဲ့ compiler တွေလည်း အများကြီးရှိတယ်။
· (သီအိုရီအရ)အကန့်အသတ်မရှိတဲ့ ကိန်းပြည့်တွေကို အသုံးပြုနိုင်တယ်။ array နဲ့ matrix ဆိုင်ရာ တွက်ချက်မှုတွေ၊ numerical data processing and manipulation တွေကို အလွန်လျင်မြန်စွာ လုပ်ဆောင်နိုင်တယ်။
· စာသား(String)နဲ့ပတ်သက်တဲ့ပြဿနာတွေနဲ့ အဘိဓါန်ရှာဖွေရေး(Dictionay Search)နဲ့ဆိုင်တဲ့ ပြဿနာတွေနဲ့ပတ်သက်လာရင် ပိုင်သွန်ဟာ တခြားပရိုဂရမ်ဘာသာစကားတွေထက် သိသိသာသာ အကောင်းမွန်ဆုံးလုပ်ဆောင်နိုင်တယ်။
· CSV, Excel, relational and non-relational databases, HDF5 နဲ့ JSON အစရှိတဲ့ file format ပေါင်းများစွာနဲ့ အချက်အလက်ပေါင်းမြောက်များစွာကို အလွယ်တကူ ရေးနိုင်ဖတ်နိုင် ပြင်ဆင်ပြောင်းလဲတယ်။
· Yahoo!, Google Finance, the World Bank အစရှိတဲ့ အဖွဲ့အစည်းကြီးတွေက ဝက်ဘ်အခြေခံ အချက်အလက်ရင်းမြစ် web-based data source တွေကိုလည်း အလွယ်တကူ တိုက်ရိုက်ဖတ်နိုင်တယ်။ processing လုပ်နိုင်တယ်။
· အချက်အလက်တွေကို ရုပ်ပုံကားချပ်တွေနဲ့ သရုပ်ပြခြင်း data visualization ကိစ္စတွေကို အလွယ်တကူလုပ်ဆောင်နိုင်တယ်။
· ပိုင်သွန်ရဲ့ ပြည့်စုံကြွယ်ဝတဲ့ လိုင်ဘရီတွေကြောင့် တုပအသိဉာဏ်ပညာ နဲ့ အချက်အလက်သိပ္ပံပညာအတွက် အသင့်တော်ဆုံး နဲ့ အကောင်းဆုံး ပရိုဂရမ်ဘာသာစကားဖြစ်တယ်။
REF:
1.https://en.wikipedia.org/wiki/Python_(programming_language)
2. PH526x: Using Python for Research, video lectures by Jukka-Pekka "JP" Onnela, Assistant Professor of Biostatistics, Harvard University
https://www.edx.org/course/using-python-research-harvardx-ph526x
ရွှင်လန်းချမ်းမြေ့ပါစေ။
ကျော်ခိုင်စိုး(infoTherapy)
Wednesday, August 2, 2017
Artificial Intelligence: A Modern Approach - Lesson IV
Chapter 2 Intelligent Agents
အသိဉာဏ်ရှိသောအေးဂျင့်များ
"အေးဂျင့်တွေရဲ့
သဘောသဘာဝ၊ ပြီးပြည့်စုံသော သို့မဟုတ် မပြည့်စုံသော - ပတ်ဝန်းကျင်ရဲ့ ကွဲပြားမှု နဲ့
အေးဂျင့်အမျိုးအစားတွေရဲ့ မတူကွဲပြားတဲ့ရလဒ်တွေအကြောင်း ဆွေးနွေးထားတယ်။"
အခန်း ၁ မှာ ဉာဏ်ရည်တုဆိုင်ရာချဉ်းကပ်မှုရဲ့ ဗဟိုချက်အဖြစ် ဆင်ခြင်တုံတရားရှိသောအေးဂျင့် (rational agent) အယူအဆကို တင်ပြခဲ့တယ်။ ဒီအခန်းမှာ အဲ့ဒီအယူအဆကို ပိုမိုခိုင်မာစေမှာ ဖြစ်ပါတယ်။ စိတ်ကူးလို့ရနိုင်သမျှသောပတ်ဝန်းကျင်မှာ အလုပ်လုပ်နေတဲ့ အေးဂျင့် (agents operating in any
imaginable environment) ပေါင်းမြောက်များစွာအတွက် ဆင်ခြင်တုံတရားရဲ့သဘောတရား
(concept of
rationality) ကို အသုံးချနိုင်တယ်။ ဉာဏ်ရှိတယ်လို့ ကျိုးကြောင်းဆီလျော်စွာခေါ်ဆိုနိုင်တဲ့ အောင်မြင်တဲ့အေးဂျင့်တွေကို တည်ဆောက်ဖို့အတွက် ဒီဇိုင်းအခြေခံမူ (design principles) တစ်ခုတည်ဆောက်ဖို့ ဒီသဘောတရားကို အသုံးပြုရန်ဖြစ်တယ်။
ဒီအခန်းမှာ အေးဂျင့်တွေ ပတ်ဝန်းကျင်တွေ နဲ့ ၎င်းတို့ကြားမှာရှိတဲ့ ဆက်နွယ်ချိတ်ဆက်မှုကို စစ်ဆေးခြင်းဖြင့် စတင်လေ့လာမယ်။ အချို့အေးဂျင့်တွေဟာ တခြားအေးဂျင့်တွေထက် ပိုကောင်းအောင် ပြုမူတာကို သတိပြုမိခြင်းဟာ "အတတ်နိုင်ဆုံး ကောင်းစွာပြုမူသော အေးဂျင့်", "ဆင်ခြင်တုံတရားရှိသော အေးဂျင့်", "ကျိုးကြောင်းဆီလျော်သော အေးဂျင့်" (rational agent) ဆိုတဲ့ အယူအဆကို ဖြစ်ပေါ်လာစေတယ်။ အေးဂျင့်တစ်ခု ဘယ်လောက်ကောင်းမွန်စွာ ပြုမူနိုင်တယ် ဆိုတဲ့အချက်ဟာ ပတ်ဝန်းကျင်ရဲ့ သဘောသဘာဝပေါ်မှာ မူတည်တယ်။ အချို့သောပတ်ဝန်းတွေဟာ အခြားပတ်ဝန်းကျင်တွေထက် ပိုခက်တယ်။ ကျွန်တော်တို့ဟာ ပတ်ဝန်းကျင်ကို အကြမ်းဖျင်းအမျိုးအစားခွဲမယ်၊ ပတ်ဝန်းကျင်တစ်ခုရဲ့ ဂုဏ်သတ္တိတွေဟာ၊ အဲ့ဒီပတ်ဝန်းကျင်အတွက် သင့်လျော်တဲ့ အေးဂျင့်တွေရဲ့ ဒီဇိုင်းကို မည်ကဲ့သို့ လွှမ်းမိုးကြောင်း ပြသမှာဖြစ်တယ်။ ဒီစာအုပ်ရဲ့ နောက်ပိုင်းတွေမှာ ပုံဖော်သွားမဲ့ အခြေခံ "ပင်မကျောရိုးပုံကြမ်း"(skeleton) အေးဂျင့်ဒီဇိုင်းတွေကို ဖော်ပြထားပါတယ်။
2.1 Agents and
Enviroments
အေးဂျင့်
နှင့် ပတ်ဝန်းကျင်
အာရုံခံကရိယာ(sensor)
တွေကတဆင့်၊ ပတ်၀န်းကျင်
(environment) ရဲ့
အခြေအနေ (state)
ကို သိမြင်နားလည်အောင်
အာရုံခံ (percepts) ပြီး၊
အလိုအလျောက် တုန့်ပြန်ဆောင်ရွက်နိုင်တဲ့အရာ (actuator)
တွေကတဆင့်၊ အဲဒီပတ်၀န်းကျင်ကို
တစ်စုံတစ်ရာ
တုန့်ပြန်လုပ်ဆောင်တဲ့
အရာမှန်သမျှဟာ
အေးဂျင့် ဖြစ်တယ်။
Figure 2.1 Agents interact with environments through
sensors and actuators.
ဥပမာ။
• 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. The agent cleans the current
square if it is dirty, otherwise it moves to the other square. Note that the
table is of unbounded size unless there is a restriction on the length of possible
percept sequences. |
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
Please Note Copyright Notice: