\section{Speciální genetické algoritmy--The Selfish Gene Algorithm}
\label{chap:theory-special_ga}

Dosud popisovaný genetický algoritmus (GA) pracoval na základě
principů Darwinovského přírodního výběru, který předpokládá, že
pouze ti nejkvalitnější jedinci v rámci populace jsou schopni
dlouhodobého přežití a vydobytí si práva dále se rozmnožovat.
V takovém algoritmu je pak základní jednotkou selekce jedinec
v kontextu populace svého druhu.

Od 60-tých let minulého století se však začaly objevovat i jiné
modely evoluce, ve kterých už nebyl základní jednotkou selekce
jedinec jako takový, ale byl jí například klan nebo skupina jedinců
a v některých případech i celý druh. Kromě zmíněných vyšších úrovní
selekce se také uvažovalo o selekci přímo na úrovni genů (viz obr.
\ref{fig:theory-sel_table})
\cite{CORNO02}.

\begin{figure}[hbp]
\begin{center}
\includegraphics[width=\textwidth]{figs/sel_table.png}
\caption{Přehled úrovní selekce}
\label{fig:theory-sel_table}
\end{center}
\end{figure}

\subsection{Úrovně selekce}

\emph{Klan}
je skupina jedinců úzce propojených příbuzenskými vazbami. V takové
skupině se předpokládá, že každý její člen bude mít iminentní zájem
na tom, aby ostatní členové skupiny přežili. V přírodě může tato
snaha nabývat různých podob a nejvíce je patrná u některých druhů
hmyzu, které budují kolonie, jako je tomu např. u mravenců, vos nebo
včel.

V těchto společenstvech spolu jedinci za účelem přežití navzájem
spolupracují tak, že si mezi sebou rozdělí jednotlivé role v rámci
kolonie. V důsledku toho pak někteří jedinci zcela přijdou o možnost
rozmnožování, a ta tak zůstane pouze několika vybraným jedincům,
např. trubcům a královně.

Princip
\emph{skupinové selekce}
poprvé zformuloval v 60-tých letech minulého století britský zoolog
Vero\ C. Wynne-Edwards
\cite{WIKI_GS, CORNO02}.
Základní premisou tohoto typu selekce je, že některé geneticky
zakódované vlastnosti jedince mají pozitivní přínos pro celou
skupinu jedinců koexistujících v určitém prostředí, aniž by nutně
představovaly konkurenční výhodu pro jedince jako takového. Tyto
vlastnosti jsou pak v průběhu evoluce preferovány, a prospěch celé
skupiny je tak postaven nad roveň prospěchu samotných jedinců.

Typickým příkladem takového chování je omezení reprodukční
schopnosti jedinců ve skupině, ke kterému dochází v situacích vůči
této skupině nepříznivých. V přírodě můžeme takové chování pozorovat
například u populací virů nebo parazitů, kteří jsou okolnostmi
nuceni zbrzdit tempo své reprodukce, aby tak zcela nezahubili svého
hostitele.

V případě
\emph{druhové selekce}
spolu o přežití soutěží celé druhy a je přitom kladen ještě větší
důraz na chování jedinců prospěšné druhu, než je tomu v případě
selekce skupinové. To je způsobeno především nutností vyvážit velice
silný vliv
\emph{sexuální selekce}
na úrovni jedinců, jejíž tlak jde v většině případů proti tlaku
druhové selekce.

Druhy, které si vyvinuly nějakou formu samo-omezujících se
mechanismů, mají v dlouhodobém horizontu obecně menší
pravděpodobnost vyhynutí, protože se zpravidla dokáží lépe adaptovat
na prostředí, ve kterém se vyskytují.

Současně se zkoumáním stále vyšších a vyšších úrovní selekce se
také objevil pokus nahlížet na selekci, jako na proces pracující
na té nejnižší možné úrovni--na úrovni samotných genů. Tento přístup
rozpracoval ve své knize
\emph{,,Sobecký gen``}
britský biolog Richard Dawkins
\cite{DAWK90}.

Dawkins ve své knize považuje za základní jednotku selekce gen
a organismy pak považuje za pouhé kontejnery genů,
\emph{genetické stroje}
\cite{DAWK90},
jejichž hlavním účelem je odstínit geny v nich uložené od
nepříznivých okolních vlivů. Geny pak v rámci organismu tvoří
kolonii, která při pohledu z vnějšku funguje jako jeden celek. Tělo
organismu navíc představuje pouze určitou formu rozhraní takové
kolonie genů s okolním prostředím a umožňuje často velice
sofistikovanou interakci této kolonie s okolím za účelem získání
potravy, reprodukce atp.

Na kolonie genů obývajících různé organismy se tak můžeme z určitého
úhlu pohledu dívat jako na strojvůdce řídící komplikované stroje,
které mezi sebou buď soutěží o přežití, nebo spolu naopak, byť
nepřímo, spolupracují.

\subsection{Virtuální populace}

Výše uvedený pohled na selekci vedl k vytvoření varianty GA nazývané
\emph{The Selfish Gene Algorithm}, dále jen
\emph{SGA}.
Tento algoritmus přistupuje k populaci jedinců pouze jako ke skladu
s genetickým materálem. Kvalita jednotlivých genů, které se zde
vyskytují, pak přímo závisí na kontextu ostatních genů se kterými
momentálně tvoří uvažovaný gen kolonii v rámci nějakého organismu
\cite{CORNO02}.

Takto definovaný algoritmus tedy nepracuje přímo s populací jedinců,
jako tomu bylo např. v případě binárního GA, ale udržuje si tzv.
\emph{virtuální populaci}.
Tato je logicky rozčleněna do několika dílčích částí, z nichž každá
odpovídá jednomu locusu chromosomu jedinců, resp. organismů, které
geny ve skutečnosti obývají. Všechny geny, umístěné v libovolné
z částí virtuální populace, jsou tak vlastně allelami z hlediska
locusu odpovídajícímu uvažované části populace (viz obr.
\ref{fig:theory-virtual_pop}).

\begin{figure}[htp]
\begin{center}
\includegraphics[width=0.45\textwidth]{figs/virtual_pop.png}
\caption{Struktura virtuální populace}
\label{fig:theory-virtual_pop}
\end{center}
\end{figure}

Další výrazný rozdíl SGA oproti už zmiňovanému binárnímu GA je fakt,
že velikost ani skladba populace se v rámci samotného procesu
evoluce nijak nemění. Co se však v průběhu evoluce mění je
pravděpodobnost, s jakou různé allely v rámci každé části populace
obsazují jim odpovídající loci (pl. od locus).

\subsection{Turnaj}

Samotné schéma SGA je velice jednoduché (viz obr.
\ref{fig:theory-sga_scheme})
a jeho hlavní částí je
\emph{turnaj}.
Ten se v principu liší od turnaje popsaném v kapitole
\ref{chap:theory-selection}
tím, že se v něm utkávají vždy pouze dva jedinci. Tito jedinci
jsou vytvořeni na základě virtuální populace tak, že dva prázdné
chromosomy jsou obsazeny locus po locusu allelami z částí populace
odpovídajícím obsazovaným loci. Allely vítězného jedince jsou pak
odměněny tak, že jim zvýšíme pravděpodobnost s jakou budou pro
příště obsazovat právě ten locus, který už obsadily v chromosomu
vítězného jedince.

\begin{figure}[hbp]
\begin{center}
\includegraphics[width=0.65\textwidth]{figs/sga_scheme.png}
\caption{Obecné schéma algoritmu SGA}
\label{fig:theory-sga_scheme}
\end{center}
\end{figure}

