1. 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
2. How artists use EAs?
What can technology offer us?
2
Why EvoSpace
Interactive?
Saturday, July 6, 13
4. 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. 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
6. 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
7. 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
46. 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
47. 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
48. 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
52. 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
55. 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
56. 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
61. 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