Web Developing Channel - WDC
Contact information, map and directions, contact form, opening hours, services, ratings, photos, videos and announcements from Web Developing Channel - WDC, Information Technology Company, Yangon, Yangon.
01/05/2023
How Mathematics are applied in Computer Science (Part -1 )
Math ဟာ Computer Science မှာ အရေးကြီးတဲ့ အခန်းတစ်နေရာကနေ ပါဝင်နေတယ်ဆိုတာ အားလုံးလဲ သိကြပါတယ်။ Fundamental Computing ကအစ Machine Learning, AI, Data Science စတဲ့ နေရာတွေ အားလုံးမှာ Math က အဓိကနေရာကကို ပါနေတာပါ။ ဒီလို အရေးကြီးတဲ့ နေရာက ပါနေတဲ့ Math ကို ကျွန်တော်တို့ ငယ်ငယ်လေးထဲက သေချာ အချိန်ယူပြီး အခြေခံပိုင်အောင် လေ့လာခဲ့ရပါတယ်။ Simplicity ဖြစ်တဲ့ Arithmetic ကနေ explicitly ဖြစ်တဲ့ Calculus အထိကို သင်ခဲ့ရပါတယ်။ ဒါပေမဲ့ အများစုက ဒီသင်ခဲ့ရသမျှ math တွေကို ဘယ်နေရာမှာ ဘယ်လို applied လုပ်လဲဆိုတာ သိတဲ့သူတွေလဲရှိသလို မသိတဲ့သူတွေက ပိုများပါတယ်။ ဒါကြောင့် ဒီ post မှာတော့ Math ကို Computer Science မှာ ဘယ်လို applied လုပ်တယ်၊ ဘယ်နေရာမှာ applied လုပ်တယ်ဆိုတာ ပြောပြသွားမှာပါ။
Mathematics မှာ အဓိက အားဖြင့် နှစ်မျိုးခွဲလို့ရပါတယ်။ Pure Mathematics နဲ့ Applied Mathematics ပါ။ အဲ့ထဲမှာမှ Engineering, Computer Science, Physics အစရှိတဲ့ နယ်ပယ်တွေမှာ Applied Mathematics ကို သုံးကြတာများပါတယ်။ Pure Mathematics ထဲက တချို့ကိုလဲ သုံးပါတယ်။ အဲ့တော့ ဒီ Information Technology & Science field မှာ applied mathematics အများစုကို တွေ့ရမှာပါ။
Computer Science ထဲမှာ အများဆုံး သုံးတဲ့ Math အချို့ကို အရင်ချပြသွားပါမယ်။ Fundamentally အရ ဒီအောက်က Math တွေကို မသိရင် Computer Science ကို ကျွမ်းကျင်ပိုင်နိုင်မှာ မဟုတ်ပါဘူး။ (Programming/Software Engineering နဲ့ Computer Science ဆိုတာကို အရင်ကွဲလွဲစေလိုပါတယ်။ Programming ဆိုတာ Software Engineering အောက်မှာ ရှိတာဖြစ်ပြီး Software Engineering ဆိုတာ Computer Science ရဲ့ subject တစ်ခုဖြစ်ပါတယ်။)
Algebra
- Boolean Algebra
- Linear Algebra
- Abstract Algebra
- Relational Algebra
Trigonometry
Calculus
Statistics
Discrete Mathematics
Probability
ဒါတွေက Computer Science အတွက် အခြေခံအကျဆုံး Applied Mathematics တွေပဲ ရှိပါသေးတယ်။ တခြား additional field တွေ (for e.g. Machine Learning, NLP, AI, Deep Learning, Robotic) ကပ်ပါလာတဲ့အချိန်ကျရင် သူတို့နဲ့သက်ဆိုင်ရာ math တွေက တိုးလာအုံးမှာပါ။
အဲ့တော့ Math မသိပဲ Programming လုပ်လို့ရလားဆို ပေါင်းနှုတ်မြှောက်စားတောင် မတတ်ရင်တော့ မရပါဘူး။ Programming ဆိုတာသည် Computer Science အောက်မှာပဲ ရှိပြီး Computer Science ဆိုတာသည် Mathematics ခေါင်းစဉ်အောက်မှာ ရှိတာပါ။ ဒီ့အပြင် Computer ဆိုတာ Computing Machine မို့ ပေါင်းနှုတ်မြှောက်စားမှ မတတ်ရင် မလွယ်ပါဘူး။ Programming မှာတောင် အခြေခံအကျဆုံး ပေါင်းနှုတ်မြှောက်စား calculation အတွက် Arithmetic Operator ဆိုတာ ရှိထားတာ မလား။ ဒါကြောင့်မို့ Arithmetic လောက်မှ မသိရင်တော့ မရပါဘူး။ ဒါဖြင့် အပေါ်က ကောင်တွေ မသိရင်ကော ရလားဆို အတိုင်းအတာ တစ်ခုထိလောက်ပဲ ရပါမယ်။ ဆိုလိုချင်တာ Amateur Level Programmer/Developer လောက်ထိပဲ ရပါလိမ့်မယ်။ Professional level မဟုတ်တောင် Algorithms တွေလေ့လာရပါတယ်။ Algorithms တွေလေ့လာတဲ့အချိန်ကျ Algebra တွေ၊ Calculus တွေ မသိရင် ကျိန်းသေပေါက်တိုင်ပတ်မှာပါ။ Computer Scientist မပြောနဲ့ Machine Learning ဘာညာကိုတောင် အနားကပ်နိုင်မှာ မဟုတ်ပါဘူး။ ပြီးတော့ Programming မှာ တွင်တွင်သုံးနေတဲ့ Logic ဆိုတာ Boolean Algebra ကနေ လာပါတယ်။ ဒါကြောင့်မို့ အနည်းဆုံး တီးမိခေါက်မိတော့ ရှိမှ အဆင်ပြေမှာပါ။
အဲ့တော့ Computer Science ထဲမှာ Mathematics က ဘယ်လိုတွေပါဝင်ပတ်သက်နေလဲဆိုတာ အရင်ပြောပြပါမယ်။ Simple Algorithms တစ်ခုနဲ့ ဥပမာ ပြပါမယ်။ ကျွန်တော်တို့ဆီမှာ ကိန်းစဉ်တန်း တစ်ခုရှိပါမယ်။ အဲ့ကိန်းစဉ်တန်းက ပေးချက်အရ
1) sorted (order) စီပြီးသားဖြစ်ရပါမယ်။
2) ငယ်စဉ်ကြီးလိုက်ဖြစ်ရပါမယ်။
3) ကိန်းတစ်ခုနဲ့ တစ်ခုကြား ခြားနားခြင်း (၁) ဖြစ်ရပါမယ်။
4) ကိန်းစဉ်ရဲ့ စုစုပေါင်း အရေအတွက်က မ ဂဏန်းဖြစ်ရပါမယ်။
ဆိုတော့ အပေါ်က ပေးချက်တွေအတိုင်း ကျွန်တော်တို့ကိန်းစဉ်ကို array နဲ့ ဆောက်လိုက်ပါမယ်။
int array[5] = {5, 6, 7, 8, 9}
ဆိုပါစို့။ ဒီကိန်းစဉ်တန်း array ပေါ့။ Problem က ဒီကိန်းစဉ်တန်းထဲက အလယ် center ကျတဲ့ ကိန်းကိုဆွဲထုတ်ရမှာပါ။ ဆိုတော့ ဒီ့အတွက် အဖြေက ရှင်းပါတယ်။ စုစုပေါင်းကိုတည် အရေအတွက်နဲ့ စားရင် Problem solved ဖြစ်ပါတယ်။ formula ကတော့ ဒီလိုဖြစ်မှာပေါ့။
Mid = Total/Count
ဒါမဲ့ ကျနော်က ဒီ formula ကိုမသုံးချင်ဘူး ဆိုပါစို့။ ဘာလို့ မသုံးချင်လဲဆို ဒီ formula ကို applied လုပ်ဖို့အတွက် array ကို loop ပတ်ရမှာကျိန်းသေတယ်။ JavaScript မှာ reduce function နဲ့ရတယ်ဆိုပေမဲ့ C Programming လိုကောင်မျိုးမှာ loop ပတ်ကို ပတ်ရမှာပါ။ ဒီတော့ loop မပတ်ချင်တဲ့ ကျွန်တော်က ဒီ Algorithm လေး ထုတ်လိုက်ပါတယ်။ ဆုံးမှတ်ထဲက စမှတ်ကိုနှုတ်၊ ၂ နဲ့စားပြီး ရလဒ်ကို စမှတ်နဲ့ပြန်ပေါင်းရင် loop ပတ်စရာမလိုပဲ problem solved ဖြစ်ပါတယ်။
9 – 5 = 4
4 / 2 = 2
2 + 5 = 7
ဒီ Algorithm က ပေးထားချက်အတိုင်း ဆောက်ထားတဲ့ ကိန်းစဉ်တန်း array တိုင်းအပေါ် အလုပ်ဖြစ်ပါတယ်။ ဒီနေရာကနေ စပြီး Arithmetic ကိုစသုံးပါပြီ။ ဆိုတော့ ခုနက တွက်နည်းကို formula ထုတ်ကြည့်ရင်
let x = start number
let y = end number
(y - x) / 2 + x
ဆိုပြီး ရပါတယ်။ ဆိုတော့ x နဲ့ y နေရာမှာ ကြိုက်တဲ့ ကိန်းစဉ်တန်းရဲ့ စမှတ်နဲ့ ဆုံးမှတ် ကိုထည့်တွက်ရင် အဖြေထွက်ပါတယ်။ ဒီ formula ဟာ mathematics မှာဆို algebra အပိုင်းဖြစ်သွားပါပြီ။ အဲ့တော့ ဒီ Algorithm က နည်းနည်း ရှုပ်ထွေးနေတဲ့အတွက် formula ကို ချုံ့ကြည့်ပါမယ်။ ဘယ်နည်းအတိုင်းလဲဆိုတော့ Algebra နည်းအတိုင်းပါ။ ဒီနေရာမှာ Pure/Applied Mathematics ထဲက Algebra ကိုစသုံးပါပြီ။
(y - x) / 2 + x
= (y - x) / 2 + 2x / 2
= y – x + 2x / 2
= (y + x) / 2
ဆိုတဲ့ အဖြေရပါတယ်။ ဒီ formula အရ ဆုံးမှတ် y နဲ့ စမှတ် x ကိုပေါင်းပြီး ၂ နဲ့စာားရင် ခုနက Algorithm ထက် တွက်ထုတ်ရတာ ပိုတိုပြီး ပိုမြန်ပါတယ်။ တကယ်တမ်း ထည့်ကြည့်လိုက်ရင်လဲ အလုပ်ဖြစ်ပါတယ်။
(y + x) / 2
= 9 + 5 / 2
= 14 / 2
= 7
ဆိုပြီး ရပါတယ်။ ဒါကတော့ Mathematics ရဲ့ Fundamental အကျဆုံး Arithmetic နဲ့ Algebra ကို Algorithm မှာ ဘယ်လို applied လုပ်သွားလဲဆိုတာ ရှင်းပြထားတာပါ။ တကယ့်တကယ် Algorithm Calculation တွေက ဒီ့ထက် Complexity အများကြီး မြင့်ပါတယ်။ ဒီဟာက Beginner Level နားလည်လွယ်အောင် တွက်ထုတ်ပြီး ရှင်းပြထားတဲ့ Algorithm လေးပါ။
Web Developing Channel - WDC
13/09/2022
New Blog Series is starting Now!!!
Algorithms (Part - 1: Introduction to Algorithms)
=======================================
Computer Science ကျောင်းသားတော်တော်များများ ဒါမှမဟုတ် Developer တော်တော်များများ Algorithm ဆိုတဲ့ စကားလုံးကိုကြားဖူးကြမယ် ထင်ပါတယ်။ လက်ရှိ Operating System Blog Series နှင့် PHP Security Blog Series ကို ရေးနေပေမဲ့လို့ တစ်ဖက်ကပြန်တွေးကြည့်တော့လဲ Computer Science Fields ထဲမှာ Programming နှင့်ဆိုင်တဲ့ မသိမဖြစ်သိရမဲ့ နောက်ထပ် Knowledge တစ်ခုလောက် Sharing လုပ်ချင်လို့ Algorithm အကြောင်းကို ထပ်ရေးဖို့ဖြစ်လာတာပါ။ ပြီးတော့ ခုတလော အလုပ်နည်းနည်းပြန်ပါးလာတော့ စာဖတ် စာရေးဖို့ အချိန်ထွက်လာတာနဲ့ နောက်ထပ် Blog Series တစ်ခုထပ်ရေးဖြစ်သွားပါတယ်။
အဲ့တော့ Algorithm ဆိုတာဘာလဲ?
Algorithm ဆိုတာ အလုပ်ကောင်းကောင်းလုပ်ပေးနိုင်တဲ့ Computational Procedures (Program) တစ်ခုပါပဲ။ ဘယ်လို အလုပ်ကောင်းကောင်း လုပ်ပေးနိုင်တာမျိုးလဲဆိုရင် တစ်ခု ဒါမှမဟုတ် တစ်ခုထက်ပိုတဲ့ Value တွေကို Input အဖြစ်ယူမယ်။ ပြီးရင် Processing လုပ်မယ်။ ပြီးရင် တစ်ခု ဒါမှမဟုတ် တစ်ခုထက်ပိုတဲ့ Value တွေကို Output အဖြစ်ပြန်ထုတ်မယ်။ ဒါပဲ။ အဲ့တော့ ပြန်ချုပ်ရရင် Input ကနေ Output ကို ပြောင်းလဲပေးတဲ့ Computational Steps Sequence ကို Algorithm လို့ခေါ်တယ်။ ဥပမာ - 1 + 1 = 2; ဒီ statement လေးတစ်ကြောင်းဟာ Algorithm ပဲ။ ဘာလို့လဲ ဆိုရင် 1 က Input ကနေ လာမယ်။ အဲ့တော့ 1 နှစ်လုံးက Input ၊ လိုချင်တဲ့ Input အကုန်ရတဲ့အခါ Processing လုပ်ရတယ်။ Statement အရ ဘာ Processing လုပ်လဲဆိုတော့ ပေါင်းတယ်။ 1 နဲ့ 1 နဲ့ ပေါင်းတဲ့ Process လုပ်လိုက်တဲ့အခါ 2 ဆိုတဲ့ Output ရလာတယ်။ အဲ့တော့ Input စတောင်းတဲ့နေရာကနေ Output ပြန်ထုတ်တဲ့ နေရာအထိ 1 + 1 = 2 ဆိုတဲ့ statement က Algorithm တစ်ခုပဲ။
နောက်တစ်နည်းအားဖြင့် Algorithm ဆိုတာ Computational Problem တွေကို ဖြေရှင်းဖို့အတွက် သုံးတဲ့ Tools အဖြစ်လဲ မှတ်ယူလို့ရတယ်။ ဥပမာ - ကျွန်တော်တို့မှာ Number Sequence တစ်ခုရှိမယ်။ အဲ့ Number Sequence ကို ငယ်စဉ်ကြီးလိုက် (Ascending Order) စီချင်တယ်။ အဲ့တော့ ရှိနေတဲ့ Random Number Sequence က Ascending Order ဖြစ်မနေတော့ အဲ့တာက Computational Problem ဖြစ်မယ်။ ဒါကို Ascending Order စီချလိုက်ရင် ဒီ Problem Solved ဖြစ်သွားမယ်။ အဲ့တော့ လိုချင်တဲ့ Solution ကို ရဖို့အတွက် ဒီ Problem ကို ဘာနဲ့ဖြေရှင်းလဲဆို Tools နဲ့ဖြေရှင်းတယ်။ ဘာ Tools လဲလို့ ထပ်မေးရင် Algorithm ပဲ။ အဲ့တော့ ရှိနေတဲ့ Computational Problem တစ်ခုကို လိုချင်တဲ့ Target Solution ရအောင် Solve လုပ်ပေးတဲ့ tools သည် Algorithm ပဲ။ ခုနက Ascending Order စီတဲ့ problem ကို Sorting Problem လို့ခေါ်ပြီးတော့ Solve ပေးတဲ့ Algorithm ကို Sorting Algorithm လို့ခေါ်တယ်။ နောက်ပိုင်း Algorithm တွေ အများကြီးကို လေ့လာရလိမ့်မယ်။
ခုနက Sorting Problem ကိုပဲဆက်ပြောမယ်။ အဲ့တော့ Problem အရ Input မှာ (843, 12, 1, 43, 73, 4, 722, 22) ရှိမယ် ဆိုပါစို့။ အဲ့တော့ ဒီ Sorting Problem ကို Sorting Algorithm နဲ့ ဖြေရှင်းလိုက်ချိန်မှာ Output က (1, 4, 12, 22, 43, 73, 722, 843) ဆိုပြီးထွက်လာမယ်။ ဒီလို Output ထွက်လာဖို့ သုံးလိုက်တဲ့ Sorting Algorithm Formula က ဒီလိုဖြစ်မယ်။ (1
Click here to claim your Sponsored Listing.
Category
Culinary Team
Attire
Address
Yangon
11041