-
Notifications
You must be signed in to change notification settings - Fork 97
Review Request: Stojic #36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thanks for your submission. I will edit it and will invite reviewers soon. |
|
@anne-urai @qihongl Could you review this submission ? |
|
Hi @rougier, I'm happy to review and will aim to do so before the end of this week. |
|
@anne-urai Great, thank you ! |
|
I have ran the code provided (using Rstudio 1.0.153, on my Macbook Pro laptop running OS X El Capitan) and I was able to reproduce the author's original figures. I applaud the author for reviving this classic, and found the paper generally clear and concise. I have a few suggestions for further improvement. Major suggestions:
Suggestions for improving the useability of the code:
Suggestions for the paper:
|
|
Sorry for the delayed response! The notification was buried by other messages... I would love to review it! I will try to respond by the end of this week! |
|
@anne-urai @qihongl Thank you both for accepting the review. I'm supposed to write now that review can start but @anne-urai already sent her review 😄. |
|
@hstojic You can wait for second review to make suggested changes if your prefer to address comments all at once. |
|
@rougier @anne-urai @qihongl Thank you very much for accepting the editor/reviewer roles and for being so prompt about it. I will wait for Quihong's coments and then address both reviews. |
|
Hi, Folks ( @hstojic , @rougier, @anne-urai ), Sorry for the waiting! Nice replication! I was able to run your code (R version 3.4.0 (2017-04-21), MacOS 10.12.6). I really enjoyed reading Hinton and others' early work! @anne-urai nicely covered many points in my mind. Though I do have some additional thoughts that might be worth considering. First of all, I think having a clean and well-documented code for the referenced work is valuable, since the original paper is of interest to many people. It is highly cited. Multiple attempts of replicating the result also reflect people's interest. I really appreciate your effort for trying to understand the interesting difference between your result and the original result. I think it would be even better if you can recover the original plot, if the original finding is flawed as you said. I agree with @anne-urai that summarizing your discussion with the author would be very informative. However, in my opinion, successfully replicating the original plot is more convincing than the author's approval. I guess some potential readers of your work would be interested to see concrete evidence as well. By the way, in the MATLAB replication listed by @anne-urai, the frequency of learnable genes converged at around 0.2. (instead of decreasing monotonically). This trend is more similar to the original result. Understanding how does this implementation differ from yours might be useful for recovering the original finding. (Thanks! @anne-urai) Second, your code can be slightly more general. For example, the number of alleles in your code is set to 20. I think it is useful to let it be a parameter that user can specify at the beginning of the simulation code, so that the user can explore some potential effect of varying the number of alleles. One reason why this is interesting to explore is articulated here: https://egtheory.wordpress.com/2014/02/07/learning-guide-evolution/ This is just one example. My general point is that, though the purpose of the code (and this journal) is to replicate the finding, having slightly a more generic implementation (that goes above and beyond replicating the original result) might provide additional educational value. Some detail:
Example 5.1:
Something like the following might be better?
Example 5.2: "... One explanation is that the results reported in Figure 2 in the reference article stem from a non-typical draw. This is unlikely, as upon examining the evolutionary paths of Undecided alleles in all simulation runs, they all show a strong downward trend already in the first 50 generations, differing only in the exact generation when this decrease onsets." Thank you very much for spending the time to read my thoughts. I hope some of them are useful. And feel free to implement them as you see fit! |
|
Thank you all for quick responses and all the comments - they are very helpful and will allow me to improve the article. I'll think about all the issues raised in the next few days and give you my response. |
Response to reviewsI provide a comment below each suggestion of the reviewer. AnneI have ran the code provided (using Rstudio 1.0.153, on my Macbook Pro laptop running OS X El Capitan) and I was able to reproduce the author's original figures. I applaud the author for reviving this classic, and found the paper generally clear and concise. I have a few suggestions for further improvement. Major suggestions:
Suggestions for improving the useability of the code:
Suggestions for the paper:
QuihongHi, Folks ( @hstojic , @rougier, @anne-urai ), Sorry for the waiting! Nice replication! I was able to run your code (R version 3.4.0 (2017-04-21), MacOS 10.12.6). I really enjoyed reading Hinton and others' early work! @anne-urai nicely covered many points in my mind. Though I do have some additional thoughts that might be worth considering. First of all, I think having a clean and well-documented code for the referenced work is valuable, since the original paper is of interest to many people. It is highly cited. Multiple attempts of replicating the result also reflect people's interest.
This is just one example. My general point is that, though the purpose of the code (and this journal) is to replicate the finding, having slightly a more generic implementation (that goes above and beyond replicating the original result) might provide additional educational value. Some detail:
Finally, I think some wording can be slightly more concise. Example 5.1:
Something like the following might be better?
Example 5.2:
Thank you very much for spending the time to read my thoughts. I hope some of them are useful. And feel free to implement them as you see fit! |
|
Dear @rougier @anne-urai and @qihongl, thanks again for all the comments, I have updated the article reflecting all your suggestions, let me know if you are satisfied with the changes and the final article and the code. Best, |
|
Thanks. @anne-urai @qihongl are you satisfied with all the modifications by @hstojic ? |
|
Hi @hstojic, Unfortunately your changes to package management seem to have caused the code to malfunction in my installation of R. devtools should be loaded also when already installed, and the packages should only be installed if not already present (now, it seems like they will be re-installed at each run of the code? e.g. https://gist.github.com/stevenworthington/3178163). If I manually set the packages and uncomment this part of the code, it runs smoothly. It would be great if you could still check this, so that future users can run the script easily. |
|
Hi @anne-urai, thanks, I have modified the code so that now it first checks whether a package exists before installing. Nevertheless, it still check whether a correct version exists and installs it even if it finds a different version. I think this is important as packages do change over time and the code might not work in the future otherwise. Best, |
|
Thanks @anne-urai. @qihongl Are your back from your conference? Did you make your decision ? |
|
Sorry for the delayed response. I'm overall happy with all of the modifications. I was just slightly concerned about the differences between the replication and the original result. Since the referenced paper is highly cited, to claim that the original implementation is flawed, I think we're responsible for providing a crystal clear explanation. And I think this replication would be more impactful if we can understand exactly what was going on. I do understand that it might be hard to recover the original result. In this case, it might be useful provide a thorough mathematical analysis of why the number of undecided alleles should decrease continuously over time. What do you folks think? @anne-urai @hstojic @rougier If people agree that a more precise explanation of the deviation from the original result is not necessary, I would recommend this paper for publication. The current result does show learning can act as "2nd order mutation" that guide exploration over certain optimization landscapes, which was the main point of the original paper. By the way, overriding user's packages might not be a good idea. I guess a better practice is to use a container (e.g. Docker) or getting a virtual machine image. |
|
Dear @qihongl, thanks for a prompt response. I agree, I would be happier as well if I could explain exactly what went wrong. Nevertheless, in my opinion tracking down the source of it is beyond the scope of a replication, and same holds for doing an additional mathematical analysis. Perhaps I would be tempted to put more effort in getting at the bottom of it if it weren't for correspondence with Geoff where he agreed with the replication results. I have also checked Java and Matlab code found by @anne-urai and with those same results are obtained (with Matlab code after correcting some bugs). Finally, the main result and conclusion of the paper still holds, as you also indicated. Indeed, overriding packages is not nice, but I thought it's necessary. Perhaps a Docker is a better idea, do @rougier and @anne-urai have opinion on this? That might be a good idea for a general journal policy, to make the code in the articles more reproducible (independent of operating systems etc). Best, |
|
@qihongl I see your point but in the same time it seems impossible to recover the original code/result. As for a thorough mathematical analysis, I think it may be beyond the scope of this replication (but I've no estimation of how much work this would represent). @hstojic Do you have any idea on that matter ? Another option would be to develop such an analysis in a new paper (I mean not a replication) if it brings new interpretation. |
|
Genetic algorithms are not really my domain of expertise, so I'm not sure how much work would it be. If I would put an effort into it, then I think the paper would go beyond a replication and I could submit it to a different journal as well. |
|
The docker question has been raised a couple of times and we have no definitive answer. I'm not familar at all with R so I've no real opinion (I'm not sure what it means to override packages). Can't you use virtual environment of local packages ? |
|
I see! Then I would recommend this paper for publication! Thank you very much again @hstojic ! BTW @hstojic sorry about asking too much... I used to get stuck on some research project due to seemingly irrelevant differences between the replicated result vs. the original result. And I still have a little bit of PTSD I guess... lol |
|
I therefore accept the submission. Congratulations @hstojic and many thanks @qihongl @anne-urai for the fast and detailed reviews. |
|
The paper will soon be published. |
|
The article will be soon listed on http://rescience.github.io/read/ |
|
Done ! 🎉 |
AUTHOR
Dear @ReScience/editors,
I request a review for the following replication:
Original article
Title: G. E. Hinton, and S. J. Nowlan
Author(s): How learning can guide evolution
Journal (or Conference): Complex Systems, 1 (3), 495-502
Year: 1987
DOI: NA
PDF: http://www.complex-systems.com/pdf/01-3-6.pdf
Replication
Author(s): H. Stojic
Repository: https://github.com/hstojic/ReScience-submission/tree/Stojic-2017
PDF: https://github.com/hstojic/ReScience-submission/raw/Stojic-2017/article/stojic2017.pdf
Keywords: Evolution; Learning; Baldwin effect
Language: R
Domain: Cognitive science
Results
Potential reviewers
Potential editor: Nicolas P. Rougier, Benoît Girard, C. Titus Brown
Potential reviewers: Yoav Ram, Anne Urai, Anya Vostinar, David Garcia, Qihong Lu
EDITOR
Aug 21, 2017)Aug 21, 2017)Aug 22, 2017)Sep 11, 2017Sep 13, 2017Sep 13, 2017