Warning
This page is located in archive. Go to the latest version of this course pages.

Genetické programování

Na dnešním cvičení si v prostředí HeuristicLab vyzkoušíme GP v akci na těchto problémech:

  • problém umělého mravence, stezka Santa Fe
  • symbolická regrese
  • klasifikace

HeuristicLab

HeuristicLab je aplikace pro definici a řešení optimalizačních problémů prostřednictvím implementovaných optimalizačních algoritmů. Jedná se o aplikaci pro Windows, v .NET frameworku.

  • Máte-li na vlastním počítači Windows, instalace by měla být snadná.
  • Máte-li na vlastním počítači Linux, mělo by jít aplikaci spouštět přes Mono, ale vyžaduje to více práce.
  • Na školních počítačích:
    • Rebootujte počítače, v boot menu vyberte volbu s Mono (Debian 9 mono RO).
    • Po přihlášení byste měli vidět položku HeuristicLab v nabídce Applications/Development.
    • Pokud tam není, spusťte terminál a zkuste spustit /opt/HeuristicLab/HeuristicLab.sh.

Spuštění testovacích problémů:

  • spusťte HL Optimizer
  • na záložce Start Page v okně Samples zvolte příslušný problém
    • Genetic Programming - Artificial Ant
    • Genetic Programming - Symbolic regression
    • Genetic Programming - Symbolic Classification

Jak měnit nastavení parametrů GP

Parametry se nastavují na záložkách Problem a Algorithm.

Výběr funkční sady:

  • Artificial Ant - záložka ProblemEncoding SymbolicExpressionTreeSymbolicExpressionTree.Grammar: Simple Grammar
  • Symbolic regression, Symbolic Classification → záložka ProblemSymbolicExpressionTreeGrammar: TypeCoherentExpressionGrammar

Fitness:

  • Záložka ProblemEvaluatorDetailsValue

Použití vlastního csv souboru pro Symbolic Regression:

  • Pozor: musí být vybrán správný Separator a Decimal Separator

Kde sledovat průběžné a finální výsledky

Vše je na záložce Results.

Kromě různých statistik je tam i něco jako Best Solution nebo Best training solution, kde jsou podrobné charakteristiky nejlepšího nalezeného řešení.

Co byste si měli vyzkoušet

  • různé funkční sady
  • různá data, např. SR_data
  • různé nastavení
    • velikosti populace,
    • maximální hloubky generovaných výrazů,
    • pravděpodobnosti křížení a mutace,
    • selekce
  • různé instance klasifikačního a regresního problému
courses/a0m33eoa/cviceni/tyden_08.txt · Last modified: 2019/11/23 18:33 by kubalik