Earlier quoted context omitted.
See my reply here for an explanation of how little that conclusion of the paper means: http://news.ycombinator.com/item?id=4561418 In particular they tuned the GA but not he hill climber, so it's not clear that GAs win even on this artificially designed problem.
Wait a minute. First you were citing the paper's conclusion as supporting your position and now you're attacking the paper's conclusion?
Genetic Algorithms in CoffeeScript
41–48 of 48 posts
Re: Genetic Algorithms in CoffeeScript
#42Earlier quoted context omitted.
I'm not saying that it being your main language is bad, it's just the syntax is absolutely terrible to read and understand for those of us on C-style languages. If the point was to teach others, the vast majority of your audience is not going to be reading coffeescript and learning much.
In all code examples you can press the down arrow to view the horrible (c-style) Javascript source. The javascript seems to be mainly horrible because of the coffeescript code being object oriented and its lack of a more powerful looping construct.
Population = (function() { Population.prototype.genomes = []; })();
This throws a ReferenceError because Population is not defined.
Genome = (function() {
Genome.prototype.values = [];
function Genome(values) {
this.values = values != null ? values : this.initial();
}
Genome.prototype.inital = function(){
return [RANDOMARRAY FROM [0-14]]
}
})();After this part Genome will be undefined.
Re: Genetic Algorithms in CoffeeScript
#43Earlier quoted context omitted.
In all code examples you can press the down arrow to view the horrible (c-style) Javascript source. The javascript seems to be mainly horrible because of the coffeescript code being object oriented and its lack of a more powerful looping construct.
It looks like there is something missing in the first example in Javascript. Population = (function() { Population.prototype.genomes = []; })(); This throws a ReferenceError because Population is not defined. Genome = (function() { Genome.prototype.values = []; function Genome(values) { this.values = values != null ? values : this.initial(); } Genome.prototype.inital = function(){ return [RANDOMARRAY FROM [0-14]] } }…
Re: Genetic Algorithms in CoffeeScript
#44That's supernice! You may want to fix the links in the readme though.
Re: Genetic Algorithms in CoffeeScript
#45Earlier quoted context omitted.
"Even if it did, this is a problem explicitly designed to give GAs an advantage." Well, yeah, you'd want to use GAs on problems for which they were well-suited. That's not at all the same as "clearly shows that GAs are NOT a good way to solve any problem".
Sure. The point is the effort they had to find such a problem. That indicates that it is very unlikely that any given practical problem is suitable for GAs. Again, if you are aware of any real problem where GAs work better than hill climbing, please do share. Note that this is not a very high bar. For example the same applied to quicksort vs insertion sort is "find any real example where quicksort outperforms inserti…
But I agree, that they are not a silver bullet for any kind of problem and for most problems there is almost always a way smarter and more efficient algorithm. I did not hold this presentation to show that GAs were the best solution for any problem. My intention was to teach sth. that I myself liked in university. Especially I thought that the way we were taught GAs in university was too complicated and complex.
Re: Genetic Algorithms in CoffeeScript
#46Re: Genetic Algorithms in CoffeeScript
#47Earlier quoted context omitted.
"We then analyze an "idealized" genetic algorithm (IGA) that is signi cantly faster than RMHC and that gives a lower bound for GA speed. We identify the features of the IGA that give rise to this speedup, and discuss how these features can be incorporated into a real GA." "As can be seen, the time to reach level one is comparable for the two algorithms, but the GA is much faster at reaching levels 2 and 3. Further, t…
Note that the "IGA" is not a real algorithm. Knowledge of the solution is encoded into the algorithm. It's no surprise that it outperforms an algorithm that does not have the privilege of knowing the solution before it starts. Second, to get a result where a GA outperformed hill climbing they did the following: 1. They started with a problem that was DESIGNED to be very well suited to GAs and not so well suited to hi…
GA (specially pseudo-boolean GA) is not a "Golden Algorihtm" that solves every problem as most people think, rather it is a "idea" that was pioneered by Hollad in the sixties, now it's sole purpose is to explain the theoretical aspects of other GA-offshoot Evolutionary Optimization techniques like GP(Genetic Programming), EA (Evolutionary Algorithm), DE(Differential Evolution), ES(Evolutionary Strategy) etc, etc.
I think GP has much more impact in attacking real world problems, GECCO Humies award list has many interesting results where RMHC's may not be suitable -- http://www.genetic-programming.org/combined.html
Re: Genetic Algorithms in CoffeeScript
#48What did you/he use to make the presentation?