A genetikai algoritmus egy adaptív heurisztikus keresési algoritmus, amelyet Darwin természeti evolúciós elmélete ihletett. .' A gépi tanulás optimalizálási problémáinak megoldására szolgál. Ez az egyik fontos algoritmus, mivel segít megoldani az összetett problémákat, amelyek megoldása hosszú időt vesz igénybe.
A genetikai algoritmusokat széles körben használják különféle valós alkalmazásokban, pl. Elektronikus áramkörök tervezése, kódtörés, képfeldolgozás és mesterséges kreativitás.
Ebben a témában részletesen elmagyarázzuk a genetikai algoritmust, beleértve a genetikai algoritmusban használt alapvető terminológiákat, működését, a genetikai algoritmus előnyeit és korlátait stb.
java regex for
Mi az a genetikai algoritmus?
A genetikai algoritmus megértése előtt először ismerjük meg az alapvető terminológiákat, hogy jobban megértsük ezt az algoritmust:
A populáció minden létezőjének alkalmasságának kiszámítása után szelekciós eljárással határozzák meg, hogy a populáció egyéniségei közül melyik fog szaporodni és megtermelni a következő nemzedéket alkotó magot.
A választható stílusok típusai állnak rendelkezésre
ml oz
Tehát most egy genetikai algoritmust definiálhatunk heurisztikus keresési algoritmusként az optimalizálási problémák megoldására. Ez az evolúciós algoritmusok egy részhalmaza, amelyet a számítástechnikában használnak. Egy genetikai algoritmus genetikai és természetes szelekciós koncepciókat használ az optimalizálási problémák megoldására.
Hogyan működik a genetikai algoritmus?
A genetikai algoritmus az evolúciós generációs cikluson dolgozik, hogy kiváló minőségű megoldásokat hozzon létre. Ezek az algoritmusok különböző műveleteket használnak, amelyek vagy javítják vagy helyettesítik a populációt, hogy javított illeszkedési megoldást kapjanak.
Alapvetően öt fázisból áll a komplex optimalizálási problémák megoldására, amelyeket az alábbiak szerint adunk meg:
1. Inicializálás
A genetikai algoritmus folyamata az egyedek halmazának generálásával kezdődik, amelyet populációnak nevezünk. Itt minden egyén megoldást jelent az adott problémára. Az egyén Géneknek nevezett paraméterek halmazát tartalmazza, vagy jellemzi. A gének egy karakterláncba egyesülnek, és kromoszómákat generálnak, ami a probléma megoldása. Az inicializálás egyik legnépszerűbb technikája a véletlenszerű bináris karakterláncok használata.
2. Fitness Feladat
A Fitness függvényt arra használják, hogy meghatározzák, mennyire fitt az egyén? Ez azt jelenti, hogy az egyén képes versenyezni más egyénekkel. Minden iterációban az egyéneket fitneszfunkciójuk alapján értékelik. A fitnesz funkció minden egyes személy számára fitnesz pontszámot biztosít. Ez a pontszám tovább határozza meg a szaporodásra való kiválasztódás valószínűségét. Minél magasabb az erőnléti pontszám, annál nagyobb az esélye annak, hogy kiválasztják a szaporodást.
3. Kiválasztás
A szelekciós szakasz magában foglalja az egyedek kiválasztását az utódok szaporodásához. Ezután az összes kiválasztott egyedet egy párba rendezik a szaporodás fokozása érdekében. Ezután ezek az egyedek átadják génjeiket a következő generációnak.
arraylist java-ban
Háromféle kiválasztási módszer áll rendelkezésre, amelyek a következők:
- Rulettkerék kiválasztása
- Versenyválasztás
- Rang alapú kiválasztás
4. Szaporodás
A kiválasztási folyamat után a gyermek létrehozása a reprodukciós lépésben történik. Ebben a lépésben a genetikai algoritmus két variációs operátort használ, amelyeket a szülőpopulációra alkalmaz. A szaporodási fázisban részt vevő két kezelő az alábbiakban látható:
- Egy pont keresztezés
- Kétpontos crossover
- Színes crossover
- Örökölhető algoritmusok keresztezése
A szülők génjeit kicserélik egymás között, amíg el nem érik a keresztezési pontot. Ezeket az újonnan született utódokat hozzáadják a populációhoz. Ezt a folyamatot keresztezésnek is nevezik. Az elérhető crossover stílusok típusai:
A mutációs operátor véletlenszerű géneket inszertál az utódba (új gyermekbe), hogy fenntartsa a populáció sokféleségét. Megtehető a kromoszómák néhány bitjének átfordításával.
A mutáció segít megoldani a korai konvergencia problémáját és fokozza a diverzifikációt. Az alábbi képen a mutáció folyamata látható:
A rendelkezésre álló mutációs stílusok típusai,
5. Felmondás
A szaporodási szakasz után a leállítási kritériumot alkalmazzák a befejezés alapjául. Az algoritmus a fitnesz küszöbértékének elérése után leáll. A végső megoldást a legjobb megoldásként fogja azonosítani a lakosság körében.
mennyit nyom a kat timpf
Egy egyszerű genetikai algoritmus általános munkafolyamata
A genetikai algoritmus előnyei
- A genetikai algoritmusok párhuzamos képességei a legjobbak.
- Segít optimalizálni a különféle problémákat, például a diszkrét függvényeket, a többcélú problémákat és a folyamatos funkciókat.
- Megoldást nyújt olyan problémákra, amelyek idővel javulnak.
- Egy genetikai algoritmusnak nincs szüksége származékos információra.
A genetikai algoritmusok korlátai
- A genetikai algoritmusok nem hatékony algoritmusok egyszerű problémák megoldására.
- Nem garantálja a probléma végső megoldásának minőségét.
- A fitnesz értékek ismételt kiszámítása számítási kihívásokat okozhat.
Különbség a genetikai algoritmusok és a hagyományos algoritmusok között
- A keresési tér a probléma összes lehetséges megoldásának összessége. A hagyományos algoritmusban csak egy megoldáskészletet tartanak fenn, míg egy genetikai algoritmusban többféle megoldáskészlet használható a keresési térben.
- A hagyományos algoritmusoknak több információra van szükségük a keresés végrehajtásához, míg a genetikai algoritmusoknak csak egy célfüggvényre van szükségük az egyed alkalmasságának kiszámításához.
- A hagyományos algoritmusok nem működhetnek párhuzamosan, míg a genetikai algoritmusok párhuzamosan működhetnek (az egyéniségek alkalmasságának kiszámítása független).
- Az egyik nagy különbség a genetikai algoritmusok között az, hogy ahelyett, hogy közvetlenül a kereső eredményeken dolgoznának, az örökölhető algoritmusok a reprezentációikon (vagy renderelésükön) működnek, amelyeket gyakran kromoszómákként használnak.
- Az egyik nagy különbség a hagyományos algoritmus és a genetikai algoritmus között az, hogy nem működik közvetlenül a jelölt megoldásokon.
- A hagyományos algoritmusok csak egy eredményt tudnak generálni, míg a genetikus algoritmusok több optimális eredményt generálhatnak a különböző generációkból.
- A hagyományos algoritmus nem valószínű, hogy optimális eredményeket generál, míg a genetikai algoritmusok nem garantálják az optimális globális eredményeket, de nagy lehetőség van egy probléma optimális eredményére, mivel olyan genetikai operátorokat használ, mint a Crossover és a Mutation.
- A hagyományos algoritmusok determinisztikus jellegűek, míg a genetikai algoritmusok valószínűségi és sztochasztikus jellegűek.