Daniel Kvak
Genetické algoritmy jsou souborem populačně orientovaných heuristik, které se využívají pro hledání série možných řešení. V praxi tyto postupy operují s populací jedinců (agentů), kde každý jednotlivec představuje potenciálně optimální řešení. Populace agentů je podmnožinou prohledávaného prostoru možných řešení. Na počátku dochází k inicializaci prvotní populace, a to buď stochasticky, nebo jinou heuristickou metodou. 1
Každému agentovi je přiřazen parametr biologické zdatnosti (fitness), který vyjadřuje jeho vhodnost z hlediska kriteriální funkce. 2 Hodnota fitness popisuje, zdali agent disponuje náležitými předpoklady pro zachování populace. V našem případě fitness definuje melodickou, harmonickou a hlasovou zdatnost. Stručně řečeno, tato referenční hodnota určuje jakýsi tónový atraktor. Harmonická zdatnost bere v úvahu souzvuk akordu, zatímco hlasová zdatnost měří, zda jsou tóny uvnitř uživatelem zadaného intervalu.
Genetické algoritmy lze, stejně jako jiné heuristiky inspirované přírodními jevy, klasifikovat jako iterativní algoritmy. Během iteračního procesu je část stávající populace nahrazena novou, přičemž jedinci s nejvyšší biologickou zdatností jsou zachováni. V tento moment nastává reprodukce agentů, během které dochází ke křížení a mutaci genetických operátorů (v tomto případě se jedná o změny genetického kódu, který sestává z bitové sekvence).