Code Monkey home page Code Monkey logo

2019-concurrent-ea-gecco's People

Contributors

fergunet avatar gstvrmrlpz avatar jj avatar juanluck avatar mariosky avatar pacastillo avatar sargaleano avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

2019-concurrent-ea-gecco's Issues

Review state of the art

Right now it's copied from the WEA paper and stuck together with the latest EvoStar paper. It needs to be

  • Rewritten to avoid (auto) plagiarism.
  • Updated with papers published from June. Probably not so many.
  • Updated with other (missing) relevant papers. This paper emphasis is on improving communication, so it might go that way.

Decide on journal

I'm open to any journal. Once it's decided, please use corresponding format.

Analyze different replacement policies for the mixer

Right now mixers work as described in the paper:

Several populations are created initially, and a concurrent mixer is run which takes populations in couples, mixes them leaving only a single population with the best individuals selected from the two merged populations.

In the future, it would be interesting to study several policies, such as prioritizing high diversity over high quality solutions, a mix of both, etc.

Biological inspiration of concurrent GA paradigm

Hi everyone!
Following the presentation given by JJ at WEA in Medellin, Colombia, about concurrent stateless GAs, I'm wondering if there are any biological metaphors to the concurrent GAs model. I'm guessing it might be something around genomic population-mixing or mass migration phenomena, e.g.:

Population mixing promotes arms race host–parasite coevolution
http://rspb.royalsocietypublishing.org/content/282/1798/20142297

Population mixing accelerates coevolution
https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1461-0248.2003.00531.x

Y Chromosome Evidence for Anglo-Saxon Mass Migration
https://academic.oup.com/mbe/article/19/7/1008/1068561

Examine message content

It's probably not a good idea to send a 1024, 64-boolean bit individual to a message channel, it's probably not designed for that. Also, the size of the message scales up with the size of the population, son it's probably not a good idea to use that. We need to decide on a, if possible, fixed message size, but then we need to know what to do with that. Maybe we need to have some permanent population somewhere in an external webservice, maybe use a compact population, maybe just use a statistical distribution (EDA style) as a message... Please discuss @pacastillo @mariosky @Sargaleano @juanluck

Test batched individual concurrency

Same as individual based, but using batches with lots of individuals so that it actually takes some time to evaluate them.
Test them with or without implicit parallelism in evaluation.

Scaling-up concurrent population-mixing operator

I believe going stateless for population-based operators such as crossover, may have overhead effects in the concurrency communication channels, both reading and writing, specially in large-dimensional problems or large-size populations.

One alternative to scale-up such kind of operators would be to consider going for a "compact" stateless representation, by evolving EDA-style GA. It would be interesting to try classic variants such as Compact GA, UMDA or PBIL, or in large-scale problems to experiment with our own EDA variant, specially designed for that purpose (called TILDA), see:

A Memory Efficient and Continuous-valued Compact EDA for Large Scale Problems
https://dl.acm.org/citation.cfm?id=2330204

De-anonymize

Deanonymize adding authors and taking out anonymous references.

What to do for the new paper

Several possible things have been discussed (and were not eventually used on the current paper):

  • #1 on replacement policies (by @juanluck )
  • #2 scale-up mixer
  • #7 to work on different, possibly more general, policies. In general, migration policies should be examined.
  • #5 Batched individual concurrency, which should avoid the algorithmic problems of the other kind.
  • #3 Examine the biological inspiration, and maybe tap from it, by @Sargaleano
  • #4 Test other algorithms, running in different threads.

Any other idea?

Revise bibliography

GECCO bibliography is a bit picky.

Warning--I didn't find a database entry for "Tang:2007:PRI:1190215.1190218"
Warning--empty address in andrews1991concurrent
Warning--numpages field, but no articleno or eid field, in Briggs:2008:FGP:1375341.1375345
Warning--numpages field, but no articleno or eid field, in Cantu-Paz:1999:MPT:2933923.2934003
Warning--numpages field, but no articleno or eid field, in Hoare:1978:CSP:359576.359585
Warning--numpages field, but no articleno or eid field, in Huelsbergen:1996:TSE:1595536.1595579
Warning--empty publisher in kerdprasop2012concurrent
Warning--empty address in kerdprasop2012concurrent
Warning--empty address in wcci:evoag
Warning--empty publisher in DBLP:conf/evoW/LaredoBMG12
Warning--empty address in DBLP:conf/evoW/LaredoBMG12
Warning--empty address in lenzperl
Warning--empty address in DBLP:conf/gecco/GuervosV18
Warning--empty publisher in schippers2009towards
Warning--empty address in schippers2009towards
Warning--empty address in Sher2013
Warning--empty publisher in swan2015research
Warning--empty address in swan2015research
Warning--page numbers missing in both pages and numpages fields in swan2015research
Warning--empty address in Merelo:2018:MEA:3205651.3208317:anon
Warning--page numbers missing in both pages and numpages fields in Merelo:2018:MEA:3205651.3208317:anon
Warning--empty address in Garcia-Valdez:2018:MEA:3205651.3205719:anon
Warning--page numbers missing in both pages and numpages fields in Garcia-Valdez:2018:MEA:3205651.3205719:anon
Warning--empty address in merelo:WEA:anon
Warning--page numbers missing in both pages and numpages fields in merelo:WEA:anon
Warning--no number and no volume in valkov2018synthesis
Warning--page numbers missing in both pages and numpages fields in valkov2018synthesis

Please check them out (if they are not anonymous versions)

Create some original artwork

Describing now the two communication channels work.

  • Channel one receives population and performs several generations on it. It writes result to the "mixer" channel.
  • Mixer channel works in pairs. It takes two populations, sends a random one back to itself, sends a new population to channel one.
    threads
    Something like that, but better drawn. Maybe @mariosky is the best at that, but feel free.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.