Live data from Hacker News

Show HN: Genetic Hello World

github.com

11–19 of 19 posts

Re: Show HN: Genetic Hello World

#11

The cost function just looks like difference squared, but I'm not sure how that yields results like this: Hglmo,wosmd! (8) Gflln* wosle! (9) Hello, wosld! (9999) Hello, world (9999) The bottom two seem to be much closer to the desired result, but the top two score lower cost? Seems weird to me. :-/

I wonder how using Levenshtein distance as a fitness metric would affect the speed of progress:

https://en.wikipedia.org/wiki/Levenshtein_distance

OP, if you want to experiment, here's a gist with a JS implementation that I found after some googling:

https://gist.github.com/andrei-m/982927

How the cost function compares to how you mutate probably also matters here.

Re: Show HN: Genetic Hello World

#15

Cool! A minor nitpick about the README - genetic algorithm is not the same thing as genetic programming . The former is what you're doing here, the latter refers to building a program using genetic algorithms. See: https://en.wikipedia.org/wiki/Genetic_programming .

It is not a minor nit & good to point out.

Re: Show HN: Genetic Hello World

#16

The cost function just looks like difference squared, but I'm not sure how that yields results like this: Hglmo,wosmd! (8) Gflln* wosle! (9) Hello, wosld! (9999) Hello, world (9999) The bottom two seem to be much closer to the desired result, but the top two score lower cost? Seems weird to me. :-/

I wonder how using Levenshtein distance as a fitness metric would affect the speed of progress: https://en.wikipedia.org/wiki/Levenshtein_distance OP, if you want to experiment, here's a gist with a JS implementation that I found after some googling: https://gist.github.com/andrei-m/982927 How the cost function compares to how you mutate probably also matters here.

I used Levenshtein distance for a similar thing some years ago:

https://tomnomnom.com/posts/methinks-it-is-like-an-incestuou...

It worked very well!

Re: Show HN: Genetic Hello World

#17

Earlier quoted context omitted.

I wonder how using Levenshtein distance as a fitness metric would affect the speed of progress: https://en.wikipedia.org/wiki/Levenshtein_distance OP, if you want to experiment, here's a gist with a JS implementation that I found after some googling: https://gist.github.com/andrei-m/982927 How the cost function compares to how you mutate probably also matters here.

I used Levenshtein distance for a similar thing some years ago: https://tomnomnom.com/posts/methinks-it-is-like-an-incestuou... It worked very well!

Very nice and simple example!

> The phrase METHINKS IT IS LIKE A WEASEL is 28 characters long, and has 27 possibities for each character, making for 27^28 (about 10^40) possible combinations. To put that into perspective: it's reckoned that there's about 10^80 atoms in the visible universe. Even if the monkey could try millions of combinations per second, he would almost certainly never get there - and that's assuming he never repeated a combination.

> So it would take a very long time for the monkey to hit the right keys at random, but what about if it weren't completely random? Dawkins suggests a computer program to simulate the monkey, only using something akin to evolution to form the phrase instead of complete randomness. That is: randomness would still be involved, but in a slightly more predictable capacity than the virtual equivilent of a monkey bashing its head against a keyboard.

Funny you should mention that, because one of the unsolved questions for the theory of Evolution is that even with our current understanding of evolution, life evolves faster than one would expect based purely on DNA mutations alone. A few issues back Nautilus had a excellent article on the problem, and the current work being done to solve this problem:

http://nautil.us/issue/20/creativity/the-strange-inevitabili...

Post reply on HN