SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
EvoSpace-i: A framework for
Interactive Evolutionary
Algorithms
Mario García-Valdez,
Leonardo Trujillo
José C. Romero,
Alejandra Mancilla
Inst. Tec. de Tijuana, México
Juan-J. Merelo
University of Granada, Spain
EvoSoft @ GECCO’13, Amsterdam, The Netherlands.
Francisco Fernández-de-Vega
Universidad de Extremadura, Spain
1
Saturday, July 6, 13
How artists use EAs?
What can technology offer us?
2
Why EvoSpace
Interactive?
Saturday, July 6, 13
3
Gaudí. Casa Batlló.
Diego Rivera. El hombre controlador del universo
Saturday, July 6, 13
4
Endless	
  Forms:	
  Clune	
  and	
  Lipson,	
  2011
Langdon,	
  2004
Picbreeder:
2011
EvoEco:
Kowaliw	
  et	
  al.	
  2011
Distributed IEAs & the Cloud
Saturday, July 6, 13
5
Few cloud based EAs
SOFEA (Merelo et al.)
FlexGP (Sherry et al.)
EAs using Map/Reduce (Fazenda et al.)
EvoSpace (Garcia et al)
No specific Collaborative-IEA (C-IEA)
Big Companies offering Cloud services
Amazon EC2, Google Apps …
SaaS, PaaS, IaaS
Currently...
Saturday, July 6, 13
Local Goals
Developing computational framework
EvoSpace-Interactive: A cloud based C-
IEA tool.
Distributed
Collaborative
Interactive
Flexible
EA tool for Artists
6
Saturday, July 6, 13
EvoSpace
1.	
  The	
  EvoSpace	
  container	
  that	
  stores	
  the	
  
evolving	
  population.
2.	
  Remote	
  clients	
  called	
  EvoWorkers,	
  which	
  
execute	
  the	
  actual	
  evolutionary	
  process.
	
  EvoSpace	
  consists	
  of	
  two	
  main	
  components	
  :
7
Saturday, July 6, 13
evospace
evospace
read(n)	
  
get_sample(n)
re_insert(i)	
  
insert(A)
put_back(A,i)
remove(A)	
  
8
Saturday, July 6, 13
evospace.get_sample(n)
9
Saturday, July 6, 13
evoWorker 2
evospace
evoWorker 1
10
Saturday, July 6, 13
evoWorker 2
evospace
get_Sample(5)
evoWorker 1
10
Saturday, July 6, 13
evoWorker 2
evospace
evoWorker 1
10
Saturday, July 6, 13
evoWorker 2
evospace
evoWorker 1
phantom
10
Saturday, July 6, 13
evoWorker 2
evospace
evoWorker 1
10
Saturday, July 6, 13
evoWorker 2
evospace
evoWorker 1
get_Sample(3)
10
Saturday, July 6, 13
evoWorker 2
evospace
evoWorker 1
get_Sample(3)
10
Saturday, July 6, 13
evoWorker 2
evospace
evoWorker 1
10
Saturday, July 6, 13
worker1.evolve(n)
11
Saturday, July 6, 13
evospace
evoWorker 2
evoWorker 1
12
Saturday, July 6, 13
evospace
evolve(50)
evoWorker 2
evoWorker 1
12
Saturday, July 6, 13
evospace
evoWorker 2
evoWorker 1
12
Saturday, July 6, 13
evospace.put_back(samplei)
13
Saturday, July 6, 13
evospace
evoWorker 2
evoWorker 1
14
Saturday, July 6, 13
evospace
put_back(s1)
evoWorker 2
evoWorker 1
14
Saturday, July 6, 13
evospace
evoWorker 2
evoWorker 1
14
Saturday, July 6, 13
evospace
evoWorker 2
evoWorker 1
14
Saturday, July 6, 13
evospace
phantoms
from s1
are deleted
evoWorker 2
evoWorker 1
14
Saturday, July 6, 13
evospace
phantoms
from s1
are deleted
evoWorker 2
evoWorker 1
14
Saturday, July 6, 13
evospace
evoWorker 2
evoWorker 1
14
Saturday, July 6, 13
evospace.re_insert(samplei)
15
Saturday, July 6, 13
evospace
evoWorker 2
evoWorker 1
16
Saturday, July 6, 13
evospace
evoWorker 2
evoWorker 1
16
Saturday, July 6, 13
evospace
re_insert( )
evoWorker 2
evoWorker 1
16
Saturday, July 6, 13
evospace
re_insert( )
evoWorker 2
evoWorker 1
16
Saturday, July 6, 13
evospace
evoWorker 2
evoWorker 1
16
Saturday, July 6, 13
evospace.read_sample(n)
17
Saturday, July 6, 13
evospace
evoWorker 2
evoWorker 1
18
Saturday, July 6, 13
evospace
read_Sample(5)
evoWorker 2
evoWorker 1
18
Saturday, July 6, 13
evospace
evoWorker 2
evoWorker 1
18
Saturday, July 6, 13
evospace
read_Sample(3)
evoWorker 2
evoWorker 1
18
Saturday, July 6, 13
evospace
read_Sample(3)
evoWorker 2
evoWorker 1
18
Saturday, July 6, 13
EvoSpace
19
Saturday, July 6, 13
Implementation
Redis
evospace.py
cherrypy
javascript Python c# Objective-C Others
json-rpc
application-server
redis-server
process
python
20
Saturday, July 6, 13
Implementation
Redis
evospace.py
cherrypy
javascript Python c# Objective-C Others
json-rpc
application-server
redis-server
process
python
core
20
Saturday, July 6, 13
Implementation
Redis
evospace.py
cherrypy
javascript Python c# Objective-C Others
json-rpc
application-server
redis-server
process
python
20
Saturday, July 6, 13
Advanced	
  key-­‐value	
  store	
  
Keys	
  can	
  contain	
  strings,	
  hashes,lists,	
  sets,	
  
sorted	
  sets.
In-­‐memory	
  but	
  persistent	
  on	
  disk	
  
database.
Single	
  threaded.
Master-­‐slave	
  replication.
21
Saturday, July 6, 13
Efficient	
  implementation	
  of	
  Set	
  operations	
  
needed	
  for	
  evospace:
Add,	
  remove,	
  and	
  test	
  for	
  existence	
  of	
  
members	
  in	
  O(1).
Returning	
  and	
  removing	
  a	
  random	
  member	
  
from	
  a	
  set	
  is	
  also	
  O(1).	
  
22
Saturday, July 6, 13
Each	
  individual	
  is	
  a	
  unique	
  key	
  and	
  a	
  JSON	
  
object	
  string.
ind:123	
  -­‐>	
  {	
  chromosome:[0,1,0,1],	
  fitness:0.2}
A	
  Population	
  is	
  a	
  set	
  of	
  keys.
pop:1-­‐>	
  {ind:123,	
  ind:124,	
  ind:13,	
  ind:132}
Samples	
  are	
  also	
  sets.
Re-­‐Insertion	
  is	
  a	
  union	
  of	
  sets.
23
Saturday, July 6, 13
EvoSpace Interactive Evolution
Remote
Clients
EvoWorker
EvoSpace Re-Insertion
Manager
Server
Get Sample1
Feed to
Processing Script
2User evaluates
Representations
3
Put Sample
Back
4
After n evaluations
Evolve a sample
5
24
Saturday, July 6, 13
EvoSpace Interactive
25
Saturday, July 6, 13
Client Side
26
ind:21	
  -­‐>	
  {	
  chromosome:[0,1,0,1],	
  fitness:3.0,	
  ...	
  }
ind:42	
  -­‐>	
  {	
  chromosome:[1,1,0,0],	
  fitness:3.0,	
  ...	
  }
parameters
JQuery
EvoSpace
getSample(2)
JQuery
rendersprocessingjs
individual:110
individual:3889individual:4006
individual:948individual:1882individual:3743
individual:110
individual:4042
individual:3889individual:4006
individual:4123individual:1383
individual:948individual:1882
ind:21 ind:42
html	
  canvas html	
  canvas
Saturday, July 6, 13
Client Side II
27
JQuery
User	
  Likes	
  
idual:3743
vidual:110
individual:4017individual:4123individual:1383
individual:948 individual:1204individual:1882dual:3743
dual:110
individual:4017individual:4123individual:1383
individual:948 individual:1204individual:1882
ind:21 ind:42
html	
  canvas html	
  canvas
EvoSpace
putback(sample)
Saturday, July 6, 13
28
Why Processing?
http://processingjs.nihongoresources.com/test/PjsGameEngine/docs/tutorial/mario.html
Saturday, July 6, 13
EvoSpace Interactive
29
Saturday, July 6, 13
Why Django?
30
Python Web Development Framework
In House experience
Provides:
OR-Mapper
Authentication
Elegant URL design
Template System
MVC Patterns
http://www.djangoproject.com/
Saturday, July 6, 13
Django
31
Framework is a Django Application
Authentication with Facebook credentials
Collections
Also implements the EvoSpace population
store
Interactive data stored in PostgreSQL
Saturday, July 6, 13
32
Saturday, July 6, 13
33
Saturday, July 6, 13
Fireworks IEA
34
Saturday, July 6, 13
Conclusions
35
EvoSpace-Interactive:
A new cloud based C-IEA tool
Linked to Social Networks
Offering Processing to Artists
Can evolve artistic animations
Free Software
Saturday, July 6, 13
Thank You
Please	
  visit	
  www.evospace.org	
  	
  for	
  more	
  
information.	
  
All	
  code,	
  data,	
  matplotlib	
  scripts,	
  latex	
  files	
  with	
  
authors	
  original	
  comments	
  and	
  edits	
  (in	
  
spanish)	
  available	
  in:	
  
https://github.com/mariosky/EvoSoft2013
https://github.com/mariosky/evospacei
36
Saturday, July 6, 13

Mais conteúdo relacionado

Destaque

Computador (informatica) 2 2
Computador (informatica) 2 2Computador (informatica) 2 2
Computador (informatica) 2 2
luismarlmg
 
Manual de el lenguaje de programacion c# (español spanish) x richy(1)
Manual de el lenguaje de programacion c# (español spanish) x richy(1)Manual de el lenguaje de programacion c# (español spanish) x richy(1)
Manual de el lenguaje de programacion c# (español spanish) x richy(1)
dulcecitom3
 
Ejericicio Diapositivas Exposición "Lineas de Espera"
Ejericicio Diapositivas Exposición "Lineas de Espera"Ejericicio Diapositivas Exposición "Lineas de Espera"
Ejericicio Diapositivas Exposición "Lineas de Espera"
AliniuZiz Rguez T
 
Unidad III SISTEMAS I
Unidad III SISTEMAS IUnidad III SISTEMAS I
Unidad III SISTEMAS I
luismarlmg
 

Destaque (18)

Presentacion de mapa conceptual de web quest elabora por luisana gonzález
Presentacion de mapa conceptual de web quest elabora por luisana gonzálezPresentacion de mapa conceptual de web quest elabora por luisana gonzález
Presentacion de mapa conceptual de web quest elabora por luisana gonzález
 
Computador (informatica) 2 2
Computador (informatica) 2 2Computador (informatica) 2 2
Computador (informatica) 2 2
 
Is there a free lunch for cloud-based evolutionary algorithms?
Is there a free lunch for cloud-based evolutionary algorithms?Is there a free lunch for cloud-based evolutionary algorithms?
Is there a free lunch for cloud-based evolutionary algorithms?
 
Bucles en python
Bucles en pythonBucles en python
Bucles en python
 
Transformación Agile
Transformación AgileTransformación Agile
Transformación Agile
 
Componente Docente Trabajo I -UNIVERSIDADES NACIONALES
Componente Docente Trabajo I -UNIVERSIDADES NACIONALESComponente Docente Trabajo I -UNIVERSIDADES NACIONALES
Componente Docente Trabajo I -UNIVERSIDADES NACIONALES
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Bucles con Scratch
Bucles con ScratchBucles con Scratch
Bucles con Scratch
 
Taac II
Taac IITaac II
Taac II
 
Programación Java
Programación JavaProgramación Java
Programación Java
 
Manual de el lenguaje de programacion c# (español spanish) x richy(1)
Manual de el lenguaje de programacion c# (español spanish) x richy(1)Manual de el lenguaje de programacion c# (español spanish) x richy(1)
Manual de el lenguaje de programacion c# (español spanish) x richy(1)
 
UX Mobile
UX MobileUX Mobile
UX Mobile
 
Manejo de Equipos Ágiles en Startups - El "Yo" por el "Nosotros"
Manejo de Equipos Ágiles en Startups - El "Yo" por el "Nosotros"Manejo de Equipos Ágiles en Startups - El "Yo" por el "Nosotros"
Manejo de Equipos Ágiles en Startups - El "Yo" por el "Nosotros"
 
Liderazgo y Dirección de las Mujeres en las TICs
Liderazgo y Dirección de las Mujeres en las TICsLiderazgo y Dirección de las Mujeres en las TICs
Liderazgo y Dirección de las Mujeres en las TICs
 
Primer Rails Girls Cali - Abril 2016
Primer Rails Girls Cali - Abril 2016Primer Rails Girls Cali - Abril 2016
Primer Rails Girls Cali - Abril 2016
 
GDG Summit Latam Bogotá - Mayo 2016
GDG Summit Latam Bogotá - Mayo 2016GDG Summit Latam Bogotá - Mayo 2016
GDG Summit Latam Bogotá - Mayo 2016
 
Ejericicio Diapositivas Exposición "Lineas de Espera"
Ejericicio Diapositivas Exposición "Lineas de Espera"Ejericicio Diapositivas Exposición "Lineas de Espera"
Ejericicio Diapositivas Exposición "Lineas de Espera"
 
Unidad III SISTEMAS I
Unidad III SISTEMAS IUnidad III SISTEMAS I
Unidad III SISTEMAS I
 

Semelhante a EvoSoft 2013 Presentation

JavaProgrammingForBeginners-Presentation.pdf
JavaProgrammingForBeginners-Presentation.pdfJavaProgrammingForBeginners-Presentation.pdf
JavaProgrammingForBeginners-Presentation.pdf
Sathwika7
 

Semelhante a EvoSoft 2013 Presentation (20)

Research @ RELEASeD (presented at SATTOSE2013)
Research @ RELEASeD (presented at SATTOSE2013)Research @ RELEASeD (presented at SATTOSE2013)
Research @ RELEASeD (presented at SATTOSE2013)
 
JavaScript Editions ES7, ES8 and ES9 vs V8
JavaScript Editions ES7, ES8 and ES9 vs V8JavaScript Editions ES7, ES8 and ES9 vs V8
JavaScript Editions ES7, ES8 and ES9 vs V8
 
Purely Functional I/O
Purely Functional I/OPurely Functional I/O
Purely Functional I/O
 
Apache Groovy: the language and the ecosystem
Apache Groovy: the language and the ecosystemApache Groovy: the language and the ecosystem
Apache Groovy: the language and the ecosystem
 
Scalable JavaScript
Scalable JavaScriptScalable JavaScript
Scalable JavaScript
 
A Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software SystemsA Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software Systems
 
Practical pairing of generative programming with functional programming.
Practical pairing of generative programming with functional programming.Practical pairing of generative programming with functional programming.
Practical pairing of generative programming with functional programming.
 
Clojure And Swing
Clojure And SwingClojure And Swing
Clojure And Swing
 
xlab #7 - ReactJS & NodeJS
xlab #7 - ReactJS & NodeJSxlab #7 - ReactJS & NodeJS
xlab #7 - ReactJS & NodeJS
 
Invitation to Scala
Invitation to ScalaInvitation to Scala
Invitation to Scala
 
Knowledge of Javascript
Knowledge of JavascriptKnowledge of Javascript
Knowledge of Javascript
 
Bringing Characters to Life for Immersive Storytelling - Dioselin Gonzalez
Bringing Characters to Life for Immersive Storytelling - Dioselin GonzalezBringing Characters to Life for Immersive Storytelling - Dioselin Gonzalez
Bringing Characters to Life for Immersive Storytelling - Dioselin Gonzalez
 
function* - ES6, generators, and all that (JSRomandie meetup, February 2014)
function* - ES6, generators, and all that (JSRomandie meetup, February 2014)function* - ES6, generators, and all that (JSRomandie meetup, February 2014)
function* - ES6, generators, and all that (JSRomandie meetup, February 2014)
 
Bringing characters to life for immersive storytelling
Bringing characters to life for immersive storytellingBringing characters to life for immersive storytelling
Bringing characters to life for immersive storytelling
 
From Java To Clojure (English version)
From Java To Clojure (English version)From Java To Clojure (English version)
From Java To Clojure (English version)
 
Everything is Permitted: Extending Built-ins
Everything is Permitted: Extending Built-insEverything is Permitted: Extending Built-ins
Everything is Permitted: Extending Built-ins
 
Art & music vs Google App Engine
Art & music vs Google App EngineArt & music vs Google App Engine
Art & music vs Google App Engine
 
What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)
 
JavaProgrammingForBeginners-Presentation.pdf
JavaProgrammingForBeginners-Presentation.pdfJavaProgrammingForBeginners-Presentation.pdf
JavaProgrammingForBeginners-Presentation.pdf
 
MCE^3 - Jorge D. Ortiz - Fuentes - Escape From Mars
MCE^3 - Jorge D. Ortiz - Fuentes - Escape From Mars MCE^3 - Jorge D. Ortiz - Fuentes - Escape From Mars
MCE^3 - Jorge D. Ortiz - Fuentes - Escape From Mars
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

EvoSoft 2013 Presentation