Basic Computer Science Concepts Part-1 “Algorithms”
Technology နဲ့ပတ်သက်တဲ့အကြောင်းအရာတွေပြောတဲ့အချိန်တော်တော်များများမှာ algorithm ဆိုတဲ့စကားလုံးကို ခဏခဏကြားဖူးပါလိမ့်မယ်။ Algorithm တွေအကြောင်း အများကြီး ပြောပေမယ့် သူ့ရဲ့အနက်အဓိပ္ပာယ်က ဘာလဲဆိုတာကို သေချာသိကြပါသလား?
Algorithm ဆိုတာက တိကျတဲ့ task တစ်ခုကို ပြီးမြောက်အောင် လုပ်ဆောင်ဖို့အတွက် အသုံးပြုတဲ့ set of steps အဆင့်လေးတွေဖြစ်ပါတယ်။ သူတို့ဟာဆိုရင် programming ရဲ့အခြေခံအုတ်မြစ် ဖြစ်တယ်။ ပြီးတော့ computer တွေ၊ smartphone တွေ၊ website တွေကို ဘာလုပ်ဆောင်ချက် တွေလုပ်မလဲ၊ ဘယ်လို decision တွေချမလဲဆိုတာကိုလည်း လုပ်ပေးပါတယ်။ ယနေ့ခေတ်နည်းပညာတွေနဲ့ ထပ်ပေါင်းပြောရမယ်ဆိုရင်တော့ ကျွန်တော်တို့ရဲ့ နေ့စဉ်ပြုလုပ်နေတဲ့ အခြေခံလုပ်ဆောင်ချက်တွေက algorithm တွေနဲ့တူပါတယ်။
ဥပမာပြောရမယ်ဆိုရင် spaghetti တစ်ပွဲလုပ်မယ်ဆိုပါစို့၊
ဒါဆိုရင် spaghetti ဖြစ်အောင်လုပ်ဖို့ တစ်ခုချင်း လိုက်နာရမယ့်အဆင့်တွေရှိပါတယ်။
ပထမဆုံး ရေနွေးအိုးအရင်တည်ရမယ်။ ရေနွေးဆူလာပြီဆိုရင် spaghetti ထည့်မယ်၊ ပြီးရင် အချိန်အတိုင်းအတာတစ်ခုထိ ပြုတ်ထားပြီး မကြာခဏ မွှေပေးရမယ်၊ spaghetti ရလာပြီဆိုရင် ရေစစ်ချရမယ်။ နောက်ဆုံးမှာ ကိုယ်ကြိုက်နှစ်သက်တဲ့ sauce ကိုထည့်မွှေပြီး စားလို့ရပါပြီ။ ဒီလိုလုပ်ဆောင်တဲ့ လုပ်ငန်းစဉ်တစ်ခုလုံးက algorithm ပါ။ ကိုယ်လိုချင်တဲ့ outcome ဆီကို ရောက်အောင် step တစ်ခုချင်းကို အစဉ်အတိုင်း လုပ်သွားတာမျိုးပါ။ တကယ်လို့ အရမ်းအရသာရှိတဲ့ pasta လုပ်ချင်တယ်၊ ဒါပေမဲ့ ကိုယ်ကခေါက်ဆွဲကိုပြုတ်တာ မနူးတာပဲဖြစ်ဖြစ်၊ overcook အပြုတ် လွန်သွားတာပဲဖြစ်ဖြစ် ဖြစ်သွားမယ်ဆိုရင် ဒီ pasta က စားလို့ကောင်းမှာ မဟုတ်တော့ပါဘူး။
Programs တွေကလည်း အဲ့ဒီနည်းအတိုင်းပဲအလုပ်လုပ်ပါတယ်။ Programs တွေကို ဘာလုပ်ပါဆိုပြီး ရေးထားတဲ့ code တွေက algorithms တွေနဲ့ ဖွဲ့စည်းထားတာပဲဖြစ်ပါတယ်။ ကျွန်တော်တို့တွေ လမ်းညွှန်တဲ့ app တစ်ခုရေးမယ်ဆိုပါစို့၊ ကျွန်တော်တို့က destination တစ်ခု ရိုက်ထည့်လိုက်တဲ့ အခါမှာ algorithm တစ်ခုကိုသုံးပြီး သွားလို့ရမယ့်လမ်းကြောင်းအမျိုးမျိုးကို ရှာပေးမယ်၊ ပြီးရင် current traffic တွေကို algorithm တစ်ခုထပ်သုံးပြီး စစ်ဆေးပေးမယ်။ ပြီးရင် အဲ့ဒီကနေရလာတဲ့ information တွေကိုတွက်ချက်ပေးပြီး အချိန်တိုတိုနဲ့ မြန်မြန်ရောက်နိုင်မယ့်လမ်းကြောင်းကို ပြပေးမှာဖြစ်ပါတယ်။
ဒီလို algorithms တွေအားလုံးက လမ်းညွှန် app ရဲ့ code ထဲမှာ ထည့်သွင်းတည်ဆောက်ထားတာပါ။ တကယ်လို့ code ထဲမှာတစ်ခုခု error ဖြစ်နေမယ်ဆိုရင် app ကလည်း ဒီ algorithms တွေရဲ့ လုပ်ဆောင်ချက်တွေကို မှန်မှန်ကန်ကန် မလိုက်နာနိုင်တော့ပါဘူး။ တစ်နည်းအားဖြင့် ကျွန်တော်တို့ လိုချင်တဲ့ direction အမှန်ကိုပြပေးနိုင်မှာမဟုတ်တော့ဘူးပေါ့။
ဒီမှာ အပေါ်က example နှစ်ခုကိုကြည့်ခြင်းအားဖြင့် လူတွေနဲ့ computer တွေဟာ နေ့စဉ်လုပ်ငန်းတာဝန်တွေကို လုပ်ဆောင်နေတာမို့ algorithms တွေကို အသုံးပြုနိုင်တယ်ဆိုတာကို ပြသနေတာပဲဖြစ်ပါတယ်။
ဒါပေမဲ့ မတူတဲ့အချက်က ကျွန်တော်တို့ထက် computers တွေက algorithms တွေကိုသုံးပြီး ပိုကောင်းပိုမြန်တဲ့ calculations တွေလုပ်နိုင်တယ်။ ပိုပြီးအကျိုးရှိအောင် စွမ်းဆောင်နိုင်ပါတယ်။ နောက်ထပ်ပိုကောင်းတဲ့ technology တွေပေါ်ထွက်လာဦးမှာဖြစ်သလို coding နဲ့ programming ကို ဆက်လက်အသုံးပြုနေသမျှကာလပတ်လုံး သူတို့ကိုဘာလုပ်ရမလဲ၊ ဘယ်လိုလုပ်ရမလဲဆိုတာတွေကို algorithms တွေကလည်း ဆက်ပြီး guide လုပ်ပေးနေဦးမှာပဲဖြစ်ပါတယ်။
#Heart Of Technologies
Daw Pearl Wutt Hmone
B.C.Tech