4 ms·
Camme for the evolutionary stuff (wrote mh PhD on it). Left having leaned that you can switch Tail Call Optimisation on or off in Ruby code.
by steve_gh 2y ago
Camme for the evolutionary stuff (wrote mh PhD on it).
Left having leaned that you can switch Tail Call Optimisation on or off in Ruby code.
- thih9 2y agoI wondered why tail call optimization isn’t on by default. Found this in an article linked from the submission: > There was some talk of enabling tail call optimization by default around the time that Ruby 2.0 was released, however this hasn't come to be for a number of reasons: Primary concerns were that tail call optimization makes it difficult to implement set_trace_func and also causes backtrace weirdness due to the absence of a new stack frame. http://blog.tdg5.com/tail-call-optimization-in-ruby-background/ http://blog.tdg5.com/tail-call-optimization-in-ruby-backgrou...
- matsemann 2y agoI've never seen the main loop of an ea be written recursively before, so got a bit surprised when I came to that part. Also came for ea, and also wrote my thesis (master's) on it (check my profile), so have a soft spot for it. I like how it can be used for all kinds of problems. We actually also use these traditional optimizations processes/algorithms quite a lot at work, even more than ML that's quite hyped, as it's just more in line with the problems we actually face. Cool article, OP, I like the esthetics of the final image.
- thomascountz 2y agoThanks for having a look! What do you use EAs/optimizations for in your work? As I was doing research for the project, I had a hard time coming across concrete applications
- matsemann 2y agoI work in logistics. I can't write too much about it, but many things suit EAs well. Often it's a local search with a nice objective function that pops out when you model a problem. Like, "where should things be placed at the warehouse" is the state/solution, and the fitness function is "given last month of sales, how would these placements affect our operational metrics". And then scale it up from local search to EAs, since searching the solution space in parallel and cross-reuse good smaller parts between the solutions are beneficial.
- thomascountz 2y agoThanks! It sounds like a really satisfying domain to work in. If you're willing to share, in industry, is the work in modeling the domain to fit the EA tooling, or is there a lot of work done in tuning the various operations, i.e. crossover, mutation, etc.?
- steve_gh 2y agoThat sounds really interesting - I have used GAs to optimise scheduling partition problems: Given a set of postcodes, a volume of work in each postcode, and preferences in that postcode for appointment times, find a schema to divide a geographic area to be served by N teams (where the N areas don't have to be contiguous)