genetic - events.static.linuxfound.org · particle swarm optimization genetic algorithms memetic...

43
Genetic .io Genetic Algorithms in all their shapes and forms ! Genetic.io Make something of your big data

Upload: truongkiet

Post on 07-Jul-2018

302 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Genetic.io

Genetic Algorithms in all their shapes and forms !

Genetic.ioMake something of your big data

Page 2: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Genetic.io

• Self-taught, passion for development.

• Java, Cassandra, Spark, JPPF.

• @jsebrien, [email protected]

• Distribution of IT solutions (SaaS, On Premise) allowing the implementation of evolutionary algorithms (genetics, ant colonies, etc.) to optimize business processes.

• Natively distributed architecture.

• Multi-platform (Windows, Unix, Mac), polyglot (Java, Scala, Python, Javascript, R).

Genetic.io

Make something of your big data

Julien Sebrien

Page 3: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Ant colony

Simulated annealing

Differential evolution

Particle swarm optimization

Genetic Algorithms

Memetic Algorithms

And all their variants...

Genetic.ioMake something of your big data

Evolutionary computation

Page 4: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Applications

• Inspired by natural physical mechanisms.

• Generate high-quality solutions for optimization and search problems by relying on bio-inspired operators such as mutation, crossover and selection.

Make something of your big data

Evolutionary Algorithms

Marketing

Tourism marketing :https://goo.gl/aCc9SJ

Genetic algorithms 'naturally select' better satellite orbits :

https://goo.gl/eauC32Astronautics

And others : Imagery, Linguistics: https://en.wikipedia.org/wiki/List_of_genetic_algorithm_applications

Genetic.io

Page 5: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Genetic Algorithms

Page 6: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Workflow

Make something of your big data

Genetic.io

Page 7: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Selection

Make something of your big data

Several selection method exist: Roulette Wheel, Tournament, Ranking, etc.

Roulette Wheel example :

Parents are selected according to their fitness.

The fittest individuals have a greater chance of survival than weaker ones.

Selection probability:

Genetic.io

Page 8: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Crossover

Make something of your big data

Parent 1 Parent 2

Child 1 Child 2

1 crossover point 1 crossover point

Genetic.io

Page 9: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Mutation

Make something of your big data

• Injects diversity into the population, reducing the risk of stagnation within a local optimum.

• Mutation rate generally between 1 and 5%.child

Genetic.io

Page 10: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Evaluation

Make something of your big data

• Takes a candidate solution to the problem as input and produces as output how “fit” or how “good” the solution is with respect to the problem in consideration.

• The assigned score is ideally independent of other individuals in the population.

• This function should be carefully implemented in order to increase the probability of convergence of the algorithm.

Genetic.io

Page 11: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Termination

Make something of your big data

The algorithm ends if one of the following termination conditions is satisfied :

• A maximum number of generations is reached.

• A candidate has a fitness score greater than or equal to a previously defined threshold.

• The algorithm has been running for too long.

• Etc.

Genetic.io

Page 12: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David
Page 13: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

« TOBEORNOTTOBE » use case

Modelization:

• Initial genome consisting of a sequence of 13 characters, generated randomly.

Fitness function:

• Sum of the differences between the letter of the genome and the target letter, at each position:

Make something of your big data

Genetic.io

Score = 131

Genome

Target

Gap (absolute value)

Page 14: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Execution

Make something of your big data

Genetic.io

Page 15: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

« Smart Rockets » use case

Page 16: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

« Smart Rockets » use case

Modelization:

A sequence of 300 acceleration vectors in a 2D plane.

Fitness function:

• The closer an individual is to his target at the end of his movement, the higher will be his score.

• An individual's score will be severely penalized if he touches the obstacle during his movement.

Score = 1/ R (with R = remaining distance from target) ; If Obstacle hit, Score = Score / 10 !

Make something of your big data

Genetic.io

Page 17: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Execution

Make something of your big data

Genetic.io

Page 18: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Tourist sites location optimization

Page 19: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Selection of tourist sites

Modelization:

• A sequence of bits, representing the presence of an agency on a site:010100001

Make something of your big data

Genetic.io

Page 20: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Selection of tourist sites

Fitness function:

• Depends on the following variables:

- The number of tourist sites.- The number of competitors in the territory in question.- The number of geographical areas within the territory concerned.- The number of categories of households.- The average expenditure of an individual in category k, for a tourist product or service.- The number of k categories of households located in an area i.- Subjective measures of attraction of a site j.- The subjective measures of attraction of the services offered on each site.- The transport time from an area i to a site j.- Transport time from an area i to an existing tourist location.

Make something of your big data

Genetic.io

Page 21: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Selection of tourist sites

Objective: maximize

Make something of your big data

Genetic.io

Page 22: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Execution

Make something of your big data

Genetic.io

Page 23: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

The Mona Lisa evolution

Page 24: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

The Mona Lisa evolution

Make something of your big data

Method:

• Random generation of polygons

DNA:

• Image pixels (int array)

Fitness:

• Calculation of color differences

for each component (R,G,B)

Score =

Genetic.io

Page 25: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Fonctions de test

Snakes and neural networks

Page 26: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Snakes and neural networks

Vision 240 degrees, divided into 16 parts

Three types of objects encountered:

- Wall

- Food

- Himself! 

=> 48 input neurons

Page 27: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Snakes and neural networks

Inputs Outputs (angle = output 1 – output 2)

Page 28: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Snakes and neural networks

DNA :

Fitness : 20 . Size + 5 . Health (ie. Dead or Alive!)

Page 29: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Antenna of NASA's ST5 mission

Page 30: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Antenna of NASA's ST5 mission

Make something of your big data

Objective:

• Optimize the design and efficiency of antennas placed on orbiting satellites

Constraints:

• VSWR < 1,2 (Voltage Standing Wave Ratio) at transmission frequency (8470 Mhz), VSWR < 1,5 at reception fréquency (7209,125 Mhz)

• Input Impedance at 50 Ohms

• Mass < 165g, contained in cylinder of diameter / height < 15,24 cm

Genetic.io

Page 31: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Antenna of NASA's ST5 mission

Make something of your big data

Fitness function:

Minimize:

With:

(Voltage Standing Wave Ratio) = , (« reflected wave », « forward wave »)

: the sum of the penalties calculated for each angle

: take into account the smoothing of gains

Genetic.io

Page 32: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Antenna of NASA's ST5 mission

Make something of your big data

Advantages :

• Better consumption, manufacturing time, performance, complexity, reliability

• Improved efficiency by 93%, for 2 QHA (quadrifilar helix antenna)

Genetic.io

Page 33: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Ant colony algorithm

Page 34: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

• the ant can only visit each city once

• the more a city is far away, the less likely it is to be chosen ("visibility")

• the greater the intensity of the pheromone trail on the ridge between two cities, the more likely the path will be chosen

• once the path has been completed, the ant deposits more pheromones on all the edges traveled if the path is short

• the pheromone tracks evaporate at each iteration

GeneticioMake something of your big data

Ant colony algorithm

Page 35: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

GeneticioMake something of your big data

Ant colony algorithm

Initial Path

New Pheromone Reinforced Path

Path finally adopted by the

colony

Page 36: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Simulated annealing

Page 37: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

• Generating an initial temperature, and a random solution.

• Iterations until a satisfactory solution is obtained, or the temperature falls sufficiently.

• Generating a New Solution from the Modified Current.

• Replacement of the current solution by the new solution according to the measured energies:

newEnergy < energy ? true : Math.exp((energy - newEnergy) / temperature) > Math.random()

• Temperature decreases with each iteration temp *= 1-coolingRate; coolingRate = 0.003

GeneticioMake something of your big data

Simulated annealing

Page 38: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Test functions

Page 39: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Sphere

Make something of your big data

Minimum:

Formula:

Genetic.io

Page 40: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Rosenbrock

Make something of your big data

Formula:

Minimum:

Genetic.io

Page 41: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Rastrigin

Make something of your big data

Formula:

Minimum:

Genetic.io

Page 42: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Clever Algorithms (Jason Brownlee):

https://users.info.uvt.ro/~dzaharie/ma2016/books/CleverAlgorithms_Brownlee_2011.pdf

The nature of code (Daniel Shiffman):

http://natureofcode.com/book/

Genetic Algorithms in Search, Optimization, and Machine Learning (David E. Goldberg):

https://www.amazon.com/Genetic-Algorithms-Optimization-Machine-Learning/dp/0201157675

Make something of your big data

Bibliography

Genetic.io

Page 43: Genetic - events.static.linuxfound.org · Particle swarm optimization Genetic Algorithms Memetic Algorithms ... Genetic Algorithms in Search, Optimization, and Machine Learning (David

Demo ! genetic.io/demo

Twitter ! @geneticio

Genetic.io

Questions?