Slide 1

Slide 1 text

Evolutionary algorithms in Perl JJ Merelo [email protected] Free Software Office University of Granada http://osl.ugr.es

Slide 2

Slide 2 text

Evolutionary Algorithms - JJ Merelo 2 What is an evolutionary algorithm?

Slide 3

Slide 3 text

Evolutionary Algorithms - JJ Merelo 3 What's an evolutionary algorithm?

Slide 4

Slide 4 text

Evolutionary Algorithms - JJ Merelo 4 What's an evolutionary algorithm?

Slide 5

Slide 5 text

Evolutionary Algorithms - JJ Merelo 5 What's an evolutionary algorithm?

Slide 6

Slide 6 text

Evolutionary Algorithms - JJ Merelo 6 This is science!

Slide 7

Slide 7 text

Evolutionary Algorithms - JJ Merelo 7 Optimize speed-to- Optimize speed-to- publish publish

Slide 8

Slide 8 text

Evolutionary Algorithms - JJ Merelo 8 Let's do it in Perl

Slide 9

Slide 9 text

Evolutionary Algorithms - JJ Merelo 9 Evolving STRINGS FULL OF ONES

Slide 10

Slide 10 text

Evolutionary Algorithms - JJ Merelo 10 TMTOWTDI

Slide 11

Slide 11 text

Evolutionary Algorithms - JJ Merelo 11 And, finally, evolution

Slide 12

Slide 12 text

Evolutionary Algorithms - JJ Merelo 12 Please don't leave, there's more! Mastermind! Pseudo ( ) Parallel Eas with POE!

Slide 13

Slide 13 text

Evolutionary Algorithms - JJ Merelo 13 Keeping up with the joes

Slide 14

Slide 14 text

Evolutionary Algorithms - JJ Merelo 14 Crank up the speed ● Devel::NYTProf for I'ing bottlenecks ● Sort::Key and Sort::Key::Top ● XS (in some cases) Apps that suck less

Slide 15

Slide 15 text

Evolutionary Algorithms - JJ Merelo 15 I need your help! And your questions! http://search.cpan.org/~jmerelo/

Slide 16

Slide 16 text

Evolutionary algorithms in Perl JJ Merelo [email protected] Free Software Office University of Granada http://osl.ugr.es

Slide 17

Slide 17 text

Evolutionary Algorithms - JJ Merelo 2 What is an evolutionary algorithm?

Slide 18

Slide 18 text

Evolutionary Algorithms - JJ Merelo 3 What's an evolutionary algorithm?

Slide 19

Slide 19 text

Evolutionary Algorithms - JJ Merelo 4 What's an evolutionary algorithm?

Slide 20

Slide 20 text

Evolutionary Algorithms - JJ Merelo 5 What's an evolutionary algorithm? Images are public domain and extracted mainly from pixabay. Onion from perl.com

Slide 21

Slide 21 text

Evolutionary Algorithms - JJ Merelo 6 This is science! Image from the movie “Weird science”

Slide 22

Slide 22 text

Evolutionary Algorithms - JJ Merelo 7 Optimize speed-to- Optimize speed-to- publish publish What's important is not so much how fast is your program (but more on this later). It's how fast are you able to go from idea to a paper. Perl helps a lot in all the process, from data massaging to rapid prototyping to logging and statistical processing. You can write code faster in Perl than in any other language. Imagen by quinn.anya in http://www.flickr.com/photos/quinnanya/202167244

Slide 23

Slide 23 text

Evolutionary Algorithms - JJ Merelo 8 Let's do it in Perl That's module you can download from CPAN, right now if you want. You can do your own evolutionary algorithm in minutes.

Slide 24

Slide 24 text

Evolutionary Algorithms - JJ Merelo 9 Evolving STRINGS FULL OF ONES

Slide 25

Slide 25 text

Evolutionary Algorithms - JJ Merelo 10 TMTOWTDI

Slide 26

Slide 26 text

Evolutionary Algorithms - JJ Merelo 11 And, finally, evolution

Slide 27

Slide 27 text

Evolutionary Algorithms - JJ Merelo 12 Please don't leave, there's more! Mastermind! Pseudo ( ) Parallel Eas with POE! All of them duly uploaded to CPAN, Algorithm::MasterMind and Poe::Component::Algorithm::Evolutionary License AttributionNoncommercialShare Alike Some rights reserved by Michael Keith Photography http://www.flickr.com/photos/michaelkeith/702714256 3

Slide 28

Slide 28 text

Evolutionary Algorithms - JJ Merelo 13 Keeping up with the joes Image from ttp://www.flickr.com/photos/earlg/2480406206/ Earl-What I saw 2.0 The main problem is speed. You have to do a lot of tweaking to be not incredibly slower than Java, C++ is probably out of reach. So what can we do?

Slide 29

Slide 29 text

Evolutionary Algorithms - JJ Merelo 14 Crank up the speed ● Devel::NYTProf for I'ing bottlenecks ● Sort::Key and Sort::Key::Top ● XS (in some cases) Apps that suck less

Slide 30

Slide 30 text

Evolutionary Algorithms - JJ Merelo 15 I need your help! And your questions! http://search.cpan.org/~jmerelo/