Pregled genetskega algoritma

Tehnike optimizacije so tehnike, ki se uporabljajo za odkrivanje najboljše rešitve iz vseh možnih rešitev, ki so na voljo v okviru obstoječih omejitev. Torej je genetski algoritem en tak algoritem optimizacije, ki je zgrajen na podlagi naravnega evolucijskega procesa naše narave. Tu se uporablja ideja o naravni selekciji in genskem nasledstvu. Za razliko od drugih algoritmov uporablja vodeno naključno iskanje, tj. Iskanje optimalne rešitve, tako da začnemo s funkcijo naključnih začetnih stroškov in nato poiščemo samo v prostoru, ki je imel najmanj stroškov (v vodeni smeri). Primerno, kadar delate z ogromnimi in zapletenimi zbirkami podatkov.

Kaj je genetski algoritem?

Genetski algoritem temelji na genetski strukturi in obnašanju kromosoma populacije. Naslednje stvari so temelj genetskih algoritmov.

  • Vsak kromosom označuje možno rešitev. Tako je populacija zbirka kromosomov.
  • Za vsakega posameznika v populaciji je značilna fitnes funkcija. Večja kondicija je boljša rešitev.
  • Od razpoložljivih posameznikov v populaciji se najboljši posamezniki uporabljajo za razmnoževanje potomcev naslednje generacije.
  • Izrojeni potomci bodo imeli lastnosti obeh staršev in so posledica mutacije. Mutacija je majhna sprememba v strukturi genov.

Faze genetskega algoritma

Spodaj so različne faze genetskega algoritma:

1. Inicializacija prebivalstva (kodiranje)

  • Vsak gen predstavlja parameter (spremenljivke) v raztopini. Ta zbirka parametrov, ki tvori raztopino, je kromosom. Populacija je zbirka kromosomov.
  • Vrstni red genov v zadevah kromosomov.
  • Večina časovnih kromosomov je v dvojiških prikazanih kot 0 in 1, možni pa so tudi drugi kodi.

2. Fitnes funkcija

  • Od razpoložljivih kromosomov moramo izbrati najboljše za razmnoževanje potomcev, tako da ima vsak kromosom dodano vrednost.
  • Rezultat telesne pripravljenosti pomaga izbrati posameznike, ki jih bomo uporabili za razmnoževanje.

3. Izbor

  • Glavni cilj te faze je najti regijo, kjer so možnosti za najboljšo rešitev večje.
  • Navdih za to je iz preživetja najmočnejših.
  • To bi moralo biti ravnovesje med raziskovanjem in izkoriščanjem iskalnega prostora.
  • GA poskuša genotip premakniti v višjo kondicijo v iskalnem prostoru.
  • Preveč močna pristranskost v fitnesu lahko privede do optimalnih rešitev.
  • Premalo izbire telesne pristranskosti privede do neokusnega iskanja.
  • Tako se uporablja sorazmerna izbira fitnesa, ki je znana tudi kot izbira kolesa za ruleto, je genetski operater, ki se uporablja v genetskih algoritmih za izbiro potencialno uporabnih rešitev za rekombinacijo.

4. Razmnoževanje

Generacija potomcev se zgodi na dva načina:

  • Crossover
  • Mutacija

a) Crossover

Crossover je najpomembnejša faza v genetskem algoritmu. Med križanjem se izbere naključna točka, ko pari par staršev, da ustvari potomce.

Obstajajo 3 glavne vrste crossoverja.

  • Cross point crossover: Točka na kromosomih obeh staršev je izbrana naključno in označena kot „križna točka“. Biti desno od te točke se izmenjujejo med obema matičnima kromosomoma.
  • Dvotočkovno križanje : Dve križni točki sta izbrani naključno iz matičnih kromosomov. Koščki med obema točkama se izmenjajo med matičnimi organizmi.
  • Enotni križanec : Pri enotnem križancu je navadno vsak bit izbran izmed obeh staršev z enako verjetnostjo.

Novi potomci se dodajo prebivalstvu.

b) Mutacija

Pri nekaj novih potomcih se lahko nekateri njihovi geni podvržejo mutacijam z majhno naključno verjetnostjo. To kaže, da je mogoče nekaj bitov v bitnem kromosomu odvrniti. Mutacija se zgodi, da skrbi za raznolikost prebivalstva in ustavi prezgodnjo konvergenco.

5. Konvergenca (kdaj se ustaviti)

Sledi nekaj pravil, ki povedo, kdaj se ustaviti, kot sledi:

  • Kadar po izboljšanju določenega števila generacij pred roko ni izboljšanja kakovosti raztopine.
  • Ko se doseže trd in hiter obseg generacij in časa.
  • Dokler ne dobimo sprejemljive raztopine.

Uporaba genetskega algoritma

V tem razdelku bomo obravnavali nekatera področja, na katerih se pogosto uporablja genetski algoritem.

1. Potovanje in usmerjanje pošiljk

Problem potujočega prodajalca je ena glavnih aplikacij genetskega algoritma. Na primer, ko od načrtovalca potovanja načrtuje potovanje, bi si pomagal z genetskim algoritmom, ki ne samo da pomaga zmanjšati skupne stroške potovanja, ampak tudi skrajšati čas.GE se uporablja tudi za načrtovanje dostave izdelkov od kraja do kraja na najbolj učinkovit način.

2. Robotika

Genetski algoritem se široko uporablja na področju robotike. Roboti se med seboj razlikujejo glede na namen, za katerega so zgrajeni. Na primer, malo jih je zgrajenih za kuharsko opravilo, malo jih je zgrajenih za učne naloge itd.

  • Izbira pomembnih funkcij v danem naboru podatkov.
  • V tradicionalni metodi se pomembne lastnosti v naboru podatkov izberejo z naslednjo metodo. tj. Če pogledate pomembnost tega modela, potem postavite vrednost praga za lastnosti, in če ima vrednost pomembnost več kot prag, se šteje.
  • Tu pa uporabljamo metodo, imenovano težava z nahrbtnikom.
  • Ponovno bomo začeli s populacijo kromosoma, kjer bo vsak kromosom binarni niz. 1 bo označeval "vključitev" funkcije v model, 0 pa "izključitev" lastnosti v modelu.
  • Fitnes funkcija bo naša meritev natančnosti tekmovanja. Bolj natančen bo naš nabor kromosomov pri napovedovanju vrednosti, bolj bo ustrezal.
  • Obstaja veliko drugih aplikacij genetskih algoritmov, kot so analiza DNK, programiranje načrtovanja, inženirsko oblikovanje.

Zaključek

V trenutnem scenariju se GE uporablja v velikih proizvodnih podjetjih, kot so letala itd., Da bi optimizirali porabo časa in virov. Nadalje znanstveniki delajo na iskanju novih načinov za kombiniranje genetskih algoritmov z drugimi tehnikami optimizacije.

Priporočeni članki

To je vodnik Kaj je genetski algoritem? Tukaj razpravljamo o uvajanju, fazah in uporabi genetskega algoritma. Ogledate si lahko tudi druge naše predlagane članke -

  1. Algoritmi poti
  2. Vrste algoritmov
  3. Algoritmi nevronske mreže
  4. Algoritmi za rudarjenje podatkov
  5. vodnik po primerih algoritma C ++

Kategorija: