gpdotnetv2.0 - darwin's theory of evolution in solving engineering problems by c#

Upload: bahrudin-hrnjica

Post on 02-Jun-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    1/31

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    2/31

    Thanks to all our sponsors,they made this possible!

    Thanks to all our sponsors,they made this possible!

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    3/31

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    4/31

    GENETICALGORITHM

    Genetic Algorithm (GA) is heuristic methodthat mimics the proces of natural selection.

    GA represents population of strings(chromosomes) which encode posiblesolutions (phenotypes)

    In GA every chromosom is defined withfixed size.

    Most GA problems used chromsomes inform of string of binary numbers.

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    5/31

    GENETICPROGRAMMING

    GP is variation of GA, with diferentChromosome sizes.

    GP envolves computer programs,represented as tree structure.

    Every tree contains: terminals and functions Inner nodes represent functions Outer nodes represent terminals

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    6/31

    GPFLOWCHART

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    7/31

    A COMPUTERPROGRAM IN C

    int foo (int time){

    int temp1, temp2;if (time > 10)

    temp1 = 3;else

    temp1 = 4;temp2 = temp1 + 1 + 2;return (temp2);

    }

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    8/31

    OUTPUT OF CPROGRAMTime Output

    0 6

    1 6

    2 6

    3 6

    4 6

    5 6

    6 6

    7 6

    8 6

    9 6

    10 6

    11 7

    12 7

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    9/31

    PROGRAM TREE

    (+ 1 2 (IF (> TIME 10) 3 4))

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    10/31

    CREATING RANDOMPROGRAMS

    Available functionsF = {+, -, *, %, IFLTE }

    Available terminalsT = {X, Y, Random-Constants } The random programs are :

    Of different sizes and shapes Syntactically valid Executable

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    11/31

    GP GENETICOPERATIONS

    Reproduction Mutation Crossover (sexual recombination) Others

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    12/31

    MUTATIONOPERATION

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    13/31

    CROSSOVEROPERATION

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    14/31

    REPRODUCTION

    OPERATION Select parent probabilisticallybased on fitness

    Copy it (unchanged) into the nextgeneration of the population

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    15/31

    RUNNING GP

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    16/31

    FIVE MAJOR PREPARATORYSTEPS FOR GP

    Determining the set of terminals

    Determining the set of functions Determining the fitness measure Determining the parameters for the run Determining the method for designating a result

    and the criterion for terminating a run

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    17/31

    GPdotNET Codeplex open source project Started with development in 2006, as PGS

    First published on Codeplex at 5 Nov. 2009. WinForms, C#, .NET4.0, Mono2.8 This year will be released v2.0 Cross-OS and Cross Platform application .NET and Mono

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    18/31

    GPDOTNET USER PERSPECTIVE

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    19/31

    GPDOTNET DEV. PERSPECTIVE

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    20/31

    GPdotNET

    Implementation Core Engine Util Common.Tools Application

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    21/31

    Chromosome

    implementation- Tree based GP Chromosome

    - Binary Type GA Chromosome- Continuous Type GA Chromosome

    - Derived from IChromosome

    - MemoryPool support at compile time

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    22/31

    Memory Pooling Chromosome Level Simple Stack implementation of

    Pool Memory Pooling has to be Thread -

    Safe

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    23/31

    DEMOMEMORY POOLINGIMPLEMENTATION

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    24/31

    Random Number

    Generation Most important in this project Almost all data is generated randomly

    Random has to be Thread-Safe ThreadLocal implementation

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    25/31

    DEMORANDOM IMPLEMENTATION

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    26/31

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    27/31

    Fitness level GP

    paralelization

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    28/31

    Chromosome level ofParalelization

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    29/31

    Paralelization at level

    of Independent runs

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    30/31

    DEMOPARALIZATION IN GPDOTNET

  • 8/10/2019 GpdotNETv2.0 - Darwin's theory of evolution in solving engineering problems by C#

    31/31

    More info

    www.genetic-programming.org oficial web page http://gpdotnet.codeplex.com http://bhrnjica.wordpress.com/gpdotnet latest information

    about the GPdotNET

    http://www.genetic-programming.org/http://gpdotnet.codeplex.com/http://bhrnjica.wordpress.com/gpdotnethttp://bhrnjica.wordpress.com/gpdotnethttp://gpdotnet.codeplex.com/http://www.genetic-programming.org/http://www.genetic-programming.org/http://www.genetic-programming.org/