|
|
||
|---|---|---|
| .. | ||
| Diophantine.ipynb | ||
| Genetic.ipynb | ||
| README.md | ||
README.md
អាល់ហ្គារីធម៍ចំលែក
ការប្រលងមុនមេរៀន
អាល់ហ្គារីធម៍ចំលែក (GA) ត្រូវបានផ្អែកលើវិធីសាស្រ្ត វិបត្តិជីវៈ ទៅកាន់ AI ដែលរបៀបនៃការវះកាត់ប្រជាជនត្រូវបានប្រើ ដើម្បីទទួលបានដំណោះស្រាយល្អបំផុតសម្រាប់បញ្ហាដែលបានផ្តល់។ វាត្រូវបានផ្ដល់អធិប្បាយនៅឆ្នាំ 1975 ដោយ John Henry Holland។
អាល់ហ្គារីធម៍ចំលែកផ្អែកលើគំនិតដូចខាងក្រោម៖
- ដំណោះស្រាយត្រឹមត្រូវសម្រាប់បញ្ហាអាចត្រូវតំណាងជា កោសិការី
- ការបន្តិចបន្តួច អនុញ្ញាតឱ្យយើងបញ្ចូលរួមពីរដំណោះស្រាយមួយគ្នាដើម្បីទទួលបានដំណោះស្រាយថ្មីត្រឹមត្រូវ
- ការជ្រើសរើស ត្រូវបានប្រើដើម្បីជ្រើសយកដំណោះស្រាយល្អជាងដោយប្រើ មុខងារសមត្ថភាព
- ការបម្លែង ត្រូវបានបញ្ចូល ដើម្បីធ្វើឲ្យការបង្កើតបញ្ហាមិនមានសុវត្ថិភាព និងធ្វើឲ្យយើងចេញពីតម្លៃតំបន់តិចបំផុតក្នុងមូលដ្ឋាន
បើអ្នកចង់អនុវត្តអាល់ហ្គារីធម៍ចំលែក អ្នកត្រូវការដូចខាងក្រោម៖
- រកវិធីសាស្រ្តកូដដំណោះស្រាយបញ្ហារបស់យើងដោយប្រើ កោសិការី g∈Γ
- លើសំណុំកោសិការី Γ ត្រូវកំណត់ មុខងារសមត្ថភាព fit: Γ→R។ តម្លៃមុខងារតិចជាងបង្ហាញដំណោះស្រាយល្អជាង។
- កំណត់យន្តការជំនួស (crossover) ដើម្បីបញ្ចូលរួមពីរកោសិការីរួមគ្នា ដើម្បីទទួលបានដំណោះស្រាយថ្មីត្រឹមត្រូវ crossover: Γ2→Γ។
- កំណត់យន្តការបម្លែង mutate: Γ→Γ។
ជាច្រើនករណី ការជំនួស និងការបម្លែង គឺជាអាល់ហ្គារីធម៍សាមញ្ញក្នុងការគ្រប់គ្រងកោសិការីជា់ជួរលេខ ឬជាគ្រាប់ប៊ីត។
ការអនុវត្តជាក់លាក់នៃអាល់ហ្គារីធម៍ចំលែកអាចខុសគ្នាចាប់ពីករណីមួយទៅករណីមួយ ប៉ុន្តែរចនាសម្ព័ន្ធសរុបគឺដូចខាងក្រោម៖
- ជ្រើសរើសប្រជាជនដើម G⊂Γ
- ជ្រើសរើសដោយចៃដន្យពីលើប្រតិបត្តិការណ៍មួយដែលនឹងត្រូវអនុវត្តនៅជំហាននេះ៖ ជំនួស ឬ បម្លែង
- ជំនួស៖
- ជ្រើសរើសដោយចៃដន្យពីរកោសិការី g1, g2 ∈ G
- គណនាជំនួស g=crossover(g1,g2)
- បើ fit(g)<fit(g1) ឬ fit(g)<fit(g2) នោះដូរកោសិការីដែលសមស្របក្នុងប្រជាជនជាមួយ g។
- បម្លែង - ជ្រើសរើសកោសិការីចៃដន្យ g∈G ហើយដូរវាជា mutate(g)
- ត្រលប់មកជំហានទី 2 រហូតដល់យើងទទួលបានតម្លៃ fit តិចគ្រប់គ្រាន់ ឬដល់ដល់កំណត់ចំនួនជំហាន។
បុព្វហេតុទូទៅ
បុព្វហេតុដែលជាធម្មតាត្រូវបានដោះស្រាយដោយអាល់ហ្គារីធម៍ចំលែករួមមាន៖
- ការប្រសិទ្ធភាពពេលវេលាកំណត់តារាចរ
- ការវេចខ្ចប់ប្រសើរបំផុត
- ការកាត់កៅអីប្រសើរបំផុត
- ការបង្វិលស្វែងរកឲ្យលឿនឡើង
✍️ មេរៀនអនុវត្ត៖ អាល់ហ្គារីធម៍ចំលែក
បន្តការរៀនរបស់អ្នកនៅក្នុងសៀវភៅដូចខាងក្រោម៖
ទៅកាន់ សៀវភៅនេះ ដើម្បីមើលឧទាហរណ៍ពីរជាមួយអាល់ហ្គារីធម៍ចំលែក៖
- ការបែងចែកមូលដ្ឋានយ៉ាងត្រឹមត្រូវ
- បញ្ហា Queens 8
សេចក្តីសន្និដ្ឋាន
អាល់ហ្គារីធម៍ចំលែកត្រូវបានប្រើដោះស្រាយបញ្ហាច្រើន មានរួមទាំងបញ្ហាឡូហ្សីស្ទីក និងការស្វែងរក។ វាលនេះទទួលបំផុតបញ្ញាបណ្ដា ដែលផ្ទុយពីការស្រាវជ្រាវដែលបញ្ចូលប្រធានបទក្នុងចំណោមវិជ្ជា ចិត្តវិទ្យា និងវិទ្យាសាស្រ្តកុំព្យូទ័រ។
🚀 ឧបសគ្គ
"អាល់ហ្គារីធម៍ចំលែកគឺសាមញ្ញក្នុងការអនុវត្ត ប៉ុន្តែឥរិយាបថរបស់វារឹងប៉ឹងក្នុងការយល់។" ប្រភព សូមធ្វើការស្រាវជ្រាវដើម្បីរកការអនុវត្តអាល់ហ្គារីធម៍ចំលែកមួយ ដូចជា ដោះស្រាយសោគូម៉ូ រួចពន្យល់របៀបវាដំណើរការជាគំនូសបរិយាយ ឬផែនទីប្រែកម្មវិធី។
ការប្រលងបន្ទាប់គេរៀន
ការត្រួតពិនិត្យ និង រៀនផ្ទាល់ខ្លួន
មើល វីដេអូដ៏អស្ចារ្យនេះ បង្ហាញអំពីរបៀបកុំព្យូទ័រអាចរៀនលេងហ្គេម Super Mario ដោយប្រើបណ្តាញសរសៃប្រសាទ ដែលបានហ្វឹកហាត់ដោយអាល់ហ្គារីធម៍ចំលែក។ យើងនឹងរៀនបន្ថែមអំពីការរៀនកុំព្យូទ័រលេងហ្គេមដូចនេះ នៅក្នុងផ្នែកបន្ទាប់។
ការងារ៖ សមីការដាយូហ្វង់ទីន
គោលបំណងរបស់អ្នកគឺដោះស្រាយសមីការដែលហៅថា សមីការដាយូហ្វង់ទីន - សមីការដែលមានឫសគោលគតិជាចំនួនគត់។ ឧទាហរណ៍ ពិនិត្យសមីការ a+2b+3c+4d=30។ អ្នកត្រូវស្វែងរកឫសគោលគត់ដែលបំពេញសមីការនេះ។
ការប្រឹក្សានេះបានចាប់ផ្អើលពី ការប្រកាសនេះ។
កំណត់សម្គាល់៖
- អ្នកអាចពិចារណាឫសគោលគតិជាតំបន់ [0;30]
- ជាកោសិការី សូមពិចារណាប្រើបញ្ជីតម្លៃឫសគោលគតិ
ប្រើ Diophantine.ipynb ដើម្បីជាចំណុចចាប់ផ្តើម។
ការបដិសេធ៖
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI Co-op Translator។ ទោះបីជាយើងខិតខំរកភាពត្រឹមត្រូវ ក៏ត្រូវស្គាល់ថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬភាពមិនច្បាស់លាស់។ ឯកសារដើមជាភាសាមูลដ្ឋានគឺជាទីតាំងផ្លូវការជាភាគី។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យធ្វើការបកប្រែដោយជំនាញមនុស្សវិជ្ជាជីវៈ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ខុស ឬការបកស្រាយខុសណាមួយដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះទេ។