JJ / 2019-concurrent-ea-gecco

Paper for the GECCO conference
GNU General Public License v3.0
0 stars 0 forks source link

Examine message content #7

Open JJ opened 5 years ago

JJ commented 5 years ago

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

juanluck commented 5 years ago

+1 for using EDAs for messaging.

Sargaleano commented 5 years ago

I agree, using EDAs is an interesting alternative. I suggest we consider for an initial study, univariate algorithms: UMDA and PBIL. These two algorithms work by estimating a prototype vector PD = [p_1, p_2, ..., p_m] representing the distribution of the population, where p_i = P(x_i = 1).

My guess of how it may work is like this: say two concurrent UMDA1 and UMDA2 are evolving PD1 and PD2, respectively. At each evolution iteration they both send only PD1 and PD2, which are length m bits. Then the "mixing populations" concurrent operator reads these two vectors from the channel, and locally samples n individuals for each population, mixes them, updates distribution vectors PD1' and PD2' with the mixed populations, and finally sends back PD1' and PD2' to the channel.

(hope the above does not sound too wild, please correct me if i'm wrong)

JJ commented 5 years ago

For the time being, I was thinking only about using them for representing the population and reconstructing them after the message. But I guess that after that, extending it to a full-EDA will not be a big problem.

Sargaleano commented 5 years ago

Ok, that's a very good idea!!! (just using the probabilistic model bulding part of EDA, to represent the population and transmit to/from channel).

On the same line of thought, if working with binary populations, maybe another alternative to transmit to/from channel would be trying a lossless compression technique (like Hauffmann code or LZW).

JJ commented 5 years ago

That would be interesting. And it would work very well with binary coding, plus the compression would give us an idea of the population entropy...

Sargaleano commented 5 years ago

Good point!! ☺

On Wed, 14 Nov 2018, 14:22 Juan Julián Merelo Guervós < notifications@github.com wrote:

That would be interesting. And it would work very well with binary coding, plus the compression would give us an idea of the population entropy...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JJ/2019-concurrent-ea-gecco/issues/7#issuecomment-438785103, or mute the thread https://github.com/notifications/unsubscribe-auth/AqOOm1qj3MNWygOWKVzr9ojnFjDjYWXfks5uvG2AgaJpZM4YbCcZ .

JJ commented 5 years ago

Finally we used EDA for sending messages, but I leave this open to discuss other options.