Table of Contents

evoluční algoritmy

genetické algoritmy

Princip práce genetického algoritmu je postupná tvorba generací různých řešení daného problému. Při řešení se uchovává tzv. populace, jejíž každý jedinec představuje jedno řešení daného problému. Jak populace probíhá evolucí, řešení se zlepšují. Tradičně je řešení reprezentováno binárními čísly, řetězci nul a jedniček, nicméně používají se i jiné reprezentace (strom, pole, matice, …). Typicky je na začátku simulace (v první generaci) populace složena z naprosto náhodných členů. V přechodu do nové generace je pro každého jedince spočtena tzv. fitness funkce, která vyjadřuje kvalitu řešení reprezentovaného tímto jedincem. Podle této kvality jsou stochasticky vybráni jedinci, kteří jsou modifikováni (pomocí mutací a křížení), čímž vznikne nová populace. Tento postup se iterativně opakuje, čímž se kvalita řešení v populaci postupně vylepšuje. Algoritmus se obvykle zastaví při dosažení postačující kvality řešení, případně po předem dané době.

chromozóm

gen

populace

fitness hodnota

operátory

jak to funguje

  1. inicializace - vygeneruju to náhodně ty řetězce, prostě 0 a 1 → pak to aji ohodnotím podle fitness fce
  2. selekce - vážená ruleta, což je jako obyčejná ruleta, ale počítá se tam i s pravděpodobností (sečtu všechny fitness hodnoty a každý řetězec tou hodnotou vydělím. V této generaci se tedy s největší pravděpodobností nevyskytují nejslabší jedinci.
  3. křížení - výměna informací mezi dvěma jedinci. Může být jednobodové nebo dvoubodové. Ty dva řetězce, mezi kterými bude probíhat výměna jsou vybrány náhodně.

křížení genetický algoritmus

  1. mutace - pokud mám podmínku, že třeba velmi kvalitní řetězec obsahuje na 4. pozici jedničku, ale takový řetězec nemám, tak ani křížením ani selekcí nedosáhnu toho, aby na 4. pozici ta jednička byla. Proto zmutuju řetězec na 4. pozici a mám to!
  2. reprodukce - abych mohla zase skočit na bod č.2, je potřeba vybrat ty nejsilnější jedince - tudíž ty řetězce, které mají nejvyšší fitness hodnotu. A slabí jedinci se nahradí kopiemi těch silných a jede se znova dokola.