|
|
||
|---|---|---|
| .. | ||
| Diophantine.ipynb | ||
| Genetic.ipynb | ||
| README.md | ||
README.md
ဂျင်နက်တစ် အယ်လဂိုရီသမ်များ
Pre-lecture quiz
ဂျင်နက်တစ် အယ်လဂိုရီသမ်များ (GA) သည် AI ကို အဆင့်ဆင့်တိုးတက်မှုနည်းလမ်း အပေါ် အခြေခံထားပြီး၊ လူဦးရေတစ်စု၏ တိုးတက်မှုနည်းလမ်းများကို အသုံးပြု၍ ပေးထားသော ပြဿနာအတွက် အကောင်းဆုံးဖြေရှင်းနည်းကို ရယူရန် အသုံးပြုသည်။ ၎င်းကို 1975 ခုနှစ်တွင် John Henry Holland က အဆိုပြုခဲ့သည်။
ဂျင်နက်တစ် အယ်လဂိုရီသမ်များသည် အောက်ပါ အယူအဆများအပေါ် အခြေခံထားသည်-
- ပြဿနာအတွက် သက်ဆိုင်သော ဖြေရှင်းနည်းများကို ဂျင်းများ အဖြစ် ကိုယ်စားပြုနိုင်သည်။
- Crossover သည် ဖြေရှင်းနည်းနှစ်ခုကို ပေါင်းစပ်ပြီး သက်ဆိုင်သော ဖြေရှင်းနည်းအသစ်ကို ရယူနိုင်စေသည်။
- Selection သည် fitness function တစ်ခုကို အသုံးပြု၍ ပိုမိုကောင်းမွန်သော ဖြေရှင်းနည်းများကို ရွေးချယ်ရန် အသုံးပြုသည်။
- Mutations သည် အကောင်းဆုံးဖြေရှင်းနည်းကို ရှာဖွေရာတွင် တည်ငြိမ်မှုကို ဖျက်ဆီးပြီး local minimum မှ ထွက်နိုင်စေရန် အသုံးပြုသည်။
ဂျင်နက်တစ် အယ်လဂိုရီသမ်ကို အကောင်အထည်ဖော်လိုပါက အောက်ပါအချက်များလိုအပ်သည်-
- ဂျင်းများ g∈Γ ကို အသုံးပြု၍ ပြဿနာဖြေရှင်းနည်းများကို ကုဒ်ဖြင့် ကိုယ်စားပြုရန် နည်းလမ်းတစ်ခု ရှာဖွေရန်
- ဂျင်းများ Γ အပေါ် fitness function fit: Γ→R ကို သတ်မှတ်ရန်။ function တန်ဖိုးများ ပိုငယ်လျှင် ပိုကောင်းသော ဖြေရှင်းနည်းများကို ကိုယ်စားပြုသည်။
- Crossover နည်းလမ်းကို သတ်မှတ်၍ ဂျင်းနှစ်ခုကို ပေါင်းစပ်ပြီး သက်ဆိုင်သော ဖြေရှင်းနည်းအသစ်ကို ရယူရန် crossover: Γ2→Γ။
- Mutation နည်းလမ်းကို သတ်မှတ်ရန် mutate: Γ→Γ။
အများအားဖြင့် crossover နှင့် mutation သည် ဂျင်းများကို ကိန်းဂဏန်းအစီအစဉ်များ သို့မဟုတ် bit vectors အဖြစ် ပြောင်းလဲရန် ရိုးရှင်းသော အယ်လဂိုရီသမ်များဖြစ်သည်။
ဂျင်နက်တစ် အယ်လဂိုရီသမ်၏ အကောင်အထည်ဖော်မှုသည် အခြေအနေအလိုက် ကွဲပြားနိုင်သော်လည်း၊ အခြေခံဖွဲ့စည်းမှုမှာ အောက်ပါအတိုင်းဖြစ်သည်-
- မူလ လူဦးရေ G⊂Γ ကို ရွေးချယ်ပါ။
- ဒီအဆင့်တွင် ဆောင်ရွက်မည့် လုပ်ဆောင်မှုကို ရွေးချယ်ပါ- crossover သို့မဟုတ် mutation
- Crossover:
- ဂျင်းနှစ်ခု g1, g2 ∈ G ကို ရွေးချယ်ပါ။
- crossover g=crossover(g1,g2) ကို တွက်ချက်ပါ။
- fit(g)<fit(g1) သို့မဟုတ် fit(g)<fit(g2) ဖြစ်ပါက- လူဦးရေတွင် သက်ဆိုင်သော ဂျင်းကို g ဖြင့် အစားထိုးပါ။
- Mutation - random ဂျင်း g∈G ကို ရွေးချယ်ပြီး mutate(g) ဖြင့် အစားထိုးပါ။
- fit တန်ဖိုးအလွန်ငယ်သို့ရောက်သည်အထိ သို့မဟုတ် အဆင့်အရေအတွက်ကန့်သတ်ချက်ကို ရောက်သည်အထိ အဆင့် 2 မှ ပြန်လုပ်ဆောင်ပါ။
အခြေခံလုပ်ငန်းများ
ဂျင်နက်တစ် အယ်လဂိုရီသမ်များဖြင့် အခြေခံအားဖြင့် ဖြေရှင်းနိုင်သော လုပ်ငန်းများမှာ-
- အချိန်ဇယား အကောင်းဆုံးဖြစ်စေရန်
- အကောင်းဆုံး ထုပ်ပိုးမှု
- အကောင်းဆုံး ဖြတ်တောက်မှု
- အလုံးစုံရှာဖွေမှုကို မြန်ဆန်စေရန်
✍️ လေ့ကျင့်မှုများ: ဂျင်နက်တစ် အယ်လဂိုရီသမ်များ
အောက်ပါ notebook များတွင် သင့်လေ့လာမှုကို ဆက်လက်လုပ်ဆောင်ပါ-
ဒီ notebook သို့ သွားပြီး ဂျင်နက်တစ် အယ်လဂိုရီသမ်များကို အသုံးပြုသော နမူနာနှစ်ခုကို ကြည့်ပါ-
- အမွေအနေနှင့် တရားမျှတမှု
- 8 Queens Problem
နိဂုံး
ဂျင်နက်တစ် အယ်လဂိုရီသမ်များကို လိုဂျစ်စတစ်နှင့် ရှာဖွေမှုဆိုင်ရာ ပြဿနာများအတွက် ဖြေရှင်းရန် အသုံးပြုသည်။ ၎င်းနယ်ပယ်သည် စိတ်ပညာနှင့် ကွန်ပျူတာသိပ္ပံကို ပေါင်းစပ်ထားသော သုတေသနမှ စိတ်အားထက်သန်မှုရရှိထားသည်။
🚀 စိန်ခေါ်မှု
"ဂျင်နက်တစ် အယ်လဂိုရီသမ်များကို အကောင်အထည်ဖော်ရန် ရိုးရှင်းသော်လည်း၊ ၎င်း၏ အပြုအမူကို နားလည်ရန် ခက်ခဲသည်။" source ဂျင်နက်တစ် အယ်လဂိုရီသမ်ကို အသုံးပြု၍ Sudoku puzzle ကို ဖြေရှင်းသည့် နမူနာတစ်ခုကို ရှာဖွေပြီး၊ ၎င်းအလုပ်လုပ်ပုံကို sketch သို့မဟုတ် flowchart အဖြစ် ရှင်းပြပါ။
Post-lecture quiz
ပြန်လည်သုံးသပ်ခြင်းနှင့် ကိုယ်တိုင်လေ့လာခြင်း
ဒီအလွန်ကောင်းမွန်သော ဗီဒီယို ကို ကြည့်ပါ၊ ဂျင်နက်တစ် အယ်လဂိုရီသမ်များဖြင့် neural networks ကို လေ့ကျင့်ခြင်းအားဖြင့် ကွန်ပျူတာသည် Super Mario ကို ကစားနိုင်ပုံကို ရှင်းပြထားသည်။ ၎င်းလိုမျိုး ကစားပုံကို သင်ယူရန် နောက်အပိုင်းတွင် ဆက်လက်လေ့လာပါ။
Assignment: Diophantine Equation
သင်၏ရည်မှန်းချက်မှာ Diophantine equation ဟုခေါ်သော integer roots ပါသော အချိုးအစားကို ဖြေရှင်းရန်ဖြစ်သည်။ ဥပမာအားဖြင့် a+2b+3c+4d=30 ဟုဆိုပါက၊ ၎င်းအချိုးအစားကို ဖြေရှင်းနိုင်သော integer roots ကို ရှာဖွေပါ။
ဤအလုပ်ကို ဒီ post မှ အားကျ၍ ဖန်တီးထားသည်။
အကြံပြုချက်များ-
- roots များကို [0;30] အတွင်းတွင် ရှိသည်ဟု သတ်မှတ်နိုင်သည်။
- gene အဖြစ် root values များ၏ စာရင်းကို အသုံးပြုပါ။
Diophantine.ipynb ကို စတင်ရန် အသုံးပြုပါ။