Prehľad genetického algoritmu

Techniky optimalizácie sú techniky, ktoré sa používajú na nájdenie najlepšieho riešenia zo všetkých možných riešení dostupných za súčasných obmedzení. Genetický algoritmus je teda taký optimalizačný algoritmus, ktorý je postavený na prirodzenom evolučnom procese našej povahy. Tu sa používa myšlienka prirodzeného výberu a genetickej dedičnosti. Na rozdiel od iných algoritmov využíva riadené náhodné vyhľadávanie, tj nájdenie optimálneho riešenia počnúc náhodnou funkciou počiatočných nákladov a potom vyhľadávanie iba v priestore, ktorý mal najmenšiu cenu (v riadenom smere). Vhodné pri práci s obrovskými a komplexnými súbormi údajov.

Čo je to genetický algoritmus?

Genetický algoritmus je založený na genetickej štruktúre a správaní sa chromozómu populácie. Nasledujúce veci sú základom genetických algoritmov.

  • Každý chromozóm naznačuje možné riešenie. Populácia je teda súbor chromozómov.
  • Každý jednotlivec v populácii sa vyznačuje fitness funkciou. Riešením je lepšia kondícia.
  • Z dostupných jedincov v populácii sa tí najlepší jedinci používajú na reprodukciu potomkov nasledujúcej generácie.
  • Vyprodukovaný potomok bude mať vlastnosti oboch rodičov a je výsledkom mutácie. Mutácia je malá zmena v génovej štruktúre.

Fázy genetického algoritmu

Nižšie sú uvedené rôzne fázy genetického algoritmu:

1. Inicializácia obyvateľstva (kódovanie)

  • Každý gén predstavuje parameter (premenné) v roztoku. Táto zbierka parametrov, ktorá tvorí roztok, je chromozóm. Populácia je zbierka chromozómov.
  • Poradie génov v chromozómoch.
  • Väčšinu času sú chromozómy zobrazené binárne ako 0 a 1, ale sú možné aj iné kódovania.

2. Funkcia fitness

  • Z dostupných chromozómov musíme vybrať tie najlepšie pre reprodukciu potomkov, takže každému chromozómu sa pripisuje fitnes hodnota.
  • Skóre spôsobilosti pomáha pri výbere jednotlivcov, ktorí sa budú používať na reprodukciu.

3. Výber

  • Hlavným cieľom tejto fázy je nájsť región, v ktorom je väčšia šanca na najlepšie riešenie.
  • Inšpiráciou pre to je prežitie tých najvhodnejších.
  • Malo by ísť o rovnováhu medzi prieskumom a využívaním priestoru na vyhľadávanie.
  • GA sa snaží presunúť genotyp do vyššej kondície vo vyhľadávacom priestore.
  • Príliš silné skreslenie výberu fitness môže viesť k suboptimálnym riešeniam.
  • Príliš malý výber zaujatosti vo fitness spôsobí neostré vyhľadávanie.
  • Používa sa teda primeraný výber vhodnosti, ktorý je tiež známy ako výber ruletového kolesa, je genetický operátor používaný v genetických algoritmoch na výber potenciálne užitočných riešení na rekombináciu.

4. Rozmnožovanie

Vytváranie potomkov sa deje dvoma spôsobmi:

  • crossover
  • mutácie

a) Crossover

Crossover je najdôležitejšou fázou genetického algoritmu. Počas kríženia sa vyberie náhodný bod, keď sa pária rodičia, aby sa vytvorili potomkovia.

Existujú 3 hlavné typy kríženia.

  • Jednobodové kríženie: Bod na chromozómoch oboch rodičov sa vyberie náhodne a označuje sa ako „krížový bod“. Bity napravo od tohto bodu sa vymieňajú medzi dvoma rodičovskými chromozómami.
  • Dvojbodové kríženie: Dva krížové body sa vyberajú náhodne z rodičovských chromozómov. Bity medzi dvoma bodmi sa vymieňajú medzi rodičovskými organizmami.
  • Rovnomerné kríženie: Pri rovnomernom krížení sa obvykle každý bit vyberie z ktoréhokoľvek z rodičov s rovnakou pravdepodobnosťou.

K potomstvu sa pripája nový potomok.

b) Mutácia

U niekoľkých novo vzniknutých potomkov môžu byť niektoré z ich génov vystavené mutácii s nízkou náhodnou pravdepodobnosťou. To naznačuje, že niektoré z bitov v bitovom chromozóme je možné prevrátiť. Mutácia sa snaží postarať sa o rozmanitosť obyvateľstva a zastaviť predčasnú konvergenciu.

5. Konvergencia (kedy zastaviť)

Nasleduje niekoľko pravidiel, ktoré určujú, kedy sa má zastaviť:

  • Ak nedôjde k zlepšeniu kvality riešenia po dokončení určitého počtu generácií pred rukou.
  • Keď sa dosiahne tvrdý a rýchly rozsah generácií a času.
  • Až do získania prijateľného roztoku.

Aplikácia genetického algoritmu

V tejto časti sa budeme venovať niektorým oblastiam, v ktorých sa často používa genetický algoritmus.

1. Cestovanie a smerovanie zásielok

Problém cestujúceho obchodníka je jednou z hlavných aplikácií genetického algoritmu. Napríklad, keď je plánovač cesty požiadaný, aby naplánoval cestu, využil by genetický algoritmus, ktorý pomáha nielen znižovať celkové náklady na cestu, ale aj pri znižovaní času.GE sa tiež používa na plánovanie dodávky. výrobkov z miesta na miesto najlepším efektívnym spôsobom.

2. Robotika

Genetický algoritmus je široko používaný v oblasti robotiky. Roboty sa navzájom líšia podľa účelu, pre ktorý sú vyrobené. Napríklad málo z nich je zostavených pre úlohu varenia, málo z nich je zostavených pre úlohy výučby atď.

  • Výber dôležitých funkcií v danom súbore údajov.
  • V tradičnej metóde sa dôležité vlastnosti v súbore údajov vyberajú pomocou nasledujúcej metódy. tj. Pozeráte sa na dôležitosť tohto modelu, potom nastavíte prahovú hodnotu pre prvky a ak má prvok dôležitú hodnotu vyššiu ako prahová hodnota, berie sa do úvahy.
  • Ale tu používame metódu nazývanú batohový problém.
  • Znovu začneme s populáciou chromozómu, kde každý chromozóm bude binárny reťazec. 1 označuje „zahrnutie“ prvku do modelu a 0 označuje „vylúčenie“ prvku v modeli.
  • Funkcia fitness tu bude našou metrikou presnosti konkurencie. Čím presnejšia je naša sada chromozómov v predikčnej hodnote, tým bude vhodnejšia.
  • Existuje mnoho ďalších aplikácií genetických algoritmov, ako je analýza DNA, plánovanie aplikácií, inžiniersky dizajn.

záver

V súčasnom scenári sa GE používa vo veľkých výrobných spoločnostiach, ako sú lietadlá atď., S cieľom optimalizovať využitie času a zdrojov. Ďalší vedci pracujú na hľadaní nových spôsobov kombinovania genetických algoritmov s inými optimalizačnými technikami.

Odporúčané články

Toto je príručka Čo je genetický algoritmus? Tu diskutujeme úvod, fázy a aplikácie genetického algoritmu. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Algoritmy smerovania
  2. Druhy algoritmov
  3. Algoritmy neurónovej siete
  4. Algoritmy dolovania údajov
  5. sprievodca príkladmi algoritmov C ++

Kategórie: