2 thoughts on “SpeedyGA v1.2.1

  1. Ramo says:

    Hi Keki,

    I congratulate you on you SpeedyGA, it is very useful and quick !

    I was wondering if you would be able to provide a detailed overview
    of what exactly it is doing and how? and may be explain the reason behind
    variables such as maxResposFactor and others?

    Also, would you recommend it for time-series clustering (i.e. clustering different companies’ stock performance across time; where the fitness function is the degree of correlation within a cluster)?

    what is the best way to implement it?

    Your help in this matter is greatly appreciated,,
    Thanks,

  2. Hi Ramo,

    Thanks for your kind comments.

    maskReposFactor is indeed a confusing name for a variable. Essentially, SpeedyGA pre-generates two “repositories” of random binary digits from which it picks the masks used in crossover and mutation operations (Since SpeedyGA is not generating these masks on the fly it saves time; random numbers are costly to generate.) maskReposFactor determines the size of these repositories.

    Depending on how it is interpretted, your question—what exactly is speedyGA doing?—is either a relatively simple question, or a very difficult one.

    SpeedyGA is just an implementation of a Simple Genetic Algorithm (SGA). For a description of the SGA, see Melanie Mitchell’s book on genetic algorithms. If you’re interested in how I’ve *implemented* the SGA in Matlab, please read the comments in the code. If you’re new to the idea of vectorization, there’s some excellent online documentation to bring you up to speed. See http://www.mathworks.com/support/tech-notes/1100/1109.html .)

    On the other hand, if you’re asking *why* the SGA works as well as it does when it is applied to hard combinatorial optimization problems, then you’re asking a question which does not currently have a good answer. Answering this question has been the singular aim of my research over the past three years. I’m currently writing up a theory which, I hope, will be well received by other researchers interested in this question.

    I’m afraid I don’t know enough about your problem to make a recommendation about a good way to apply an SGA to it.

    Hope this helps.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s