Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Language Evolution Simulation (github.com/fatiherikli)
159 points by fatiherikli on July 18, 2016 | hide | past | favorite | 24 comments



Can you explain a little more about what you're trying to simulate and why you chose the model that you did?

Also... did you consider using known sound change processes? https://en.wikipedia.org/wiki/Sound_change


Hi, Sorry for the lack of explanation. it was a fun project. I wanted to simulate agents who talking and learning new words from themselves. Each island has 12 agents, and there are gates of islands for travelling between of them. In this way, the agents can spread their words to other islands.

Edit: I'm just replacing a vowel or const on a word for sound change. It may be better with natural sound change processes. I'll work on that. Thank you!


It would be interesting if the words from the different islands came from existing languages, for instance (and for myself) I would put French, Portuguese and English, to have the ability to understand how they get mixed


Thank you four your feedback. I'll work on that. Maybe I should remove Turkish specific characters.


You can pick words from the most common in a given language:

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

http://french.languagedaily.com/wordsandphrases/most-common-...

Although languages like English and French are very close and have a lot of cognates already. Maybe it's better to take languages more far apart from each other.


English and French are only distantly related. There are cognates, but they're hard to recognize: hound - chien, foot - pied, four - quatre. Words you might be thinking are cognates - such as restaurant, police, etc. - are actually loan words. Some are recent, others go back to the Norman Conquest.

English is closely related to these languages (in order of closeness): Scots; Frisian; Dutch and German; Norwegian, Swedish, Danish, and Icelandic.


Nice demo! Feature request: I'd like to see the people talking, like display sentence of a random pair of agents, every 10 sec e.g. That way I would feel immersed into users discussions :)


It would be more understandable and educational if your simulation had the following:

- A way of visually indicating the divergence between languages. Minimal differences are just "accents", but more make them dialects, and yet more make them distinct languages. Perhaps use color.

- A slider to change the frequency of exchange across islands. This would show that if interchanges were high, there would be little divergence (none if the interchanges were high enough). If interchanges were rare, divergence to distinct languages becomes inevitable. At some middle rate you get dialects but not languages.

- Perhaps another slider to change the mutation rate.

- Perhaps start with a small subset of a real language. This way people could click on an island and see the actual evolution, or the divergence between any two pairs. Instead showing the most used word, I'd show a sample of the same words (those with the same meaning) for each language, along with the original real language, so we could see, for example, how "tree" changed and diverged over time.

- I'm not a linguist, but I'd think divergence ends up negatively impacting interchanges -- i.e even if you had a bridge connecting the islands, fewer people would cross it if they can't speak the local language. If this is true, divergence would accelerate over time.


> I'm not a linguist, but I'd think divergence ends up negatively impacting interchanges

I think this is true if there is a meaningful iteration between the persons.

For example, some of them get some food and some water, and they have to interchange a some of it because both need food and water. And they only can interchange it if they can talk a little (only a greeting? a minimal barter?) Else they die and are somehow replaced with new agents.

But IIUC in simulations is more simpler and the agents only bounce against each other, and the words are somewhat contagious.


Feature request for Etymology:

https://github.com/fatiherikli/language-evolution-simulation...

Someone have a few free minutes to hack this together today? Could be cool.


Does anyone know of a good open-source Agent-based model simulation platform?

I want to create some educational simulations to help people understand various emergent "natural" phenomenon, such as evolution, the invisible hand of the free market, and the Matthew Effect. I want the simulations to be interactive so users can see how changing a parameters effects the outcome.

I could custom code each of these, but I'd rather us a platform, especially one in which the agent model and logic were easy to understand without being a hardcore coder, so that anyone could look under the hood if they didn't trust the accuracy of the simulation.


There's netlogo, a multi-agent modeling language. It's not quite what you're asking for, and it's not too stable, but it comes pre-loaded with at least starter code for almost every model you listed, and it's syntax is very readable.

https://github.com/NetLogo/NetLogo


I know Mesa. Python based, open-source framework for agent-based models.

https://github.com/projectmesa/mesa



This is really cool. I wonder if there were a way to show variances of individual agents - perhaps by calculating the difference of their current vocabulary from their native vocabulary - and altering their color as a marker.



Understandably, the results are less convincing when the original corpus is made of monosyllabic words. Maybe slightly longer swear words...


Aww, still not seeing "shite" after like 60 seconds. Not so realistic after all ;)


That was fast (and easy)! A great example of open source and forking.


What happens if you start with "fuddruckers"?


I was about to write my thesis on a simulation like this, agents would need to evolve a syntax to survive (not just words like in the simulation above). It truly is a fascinating subject! Never got around to building it, but still very high on my list of things I want to when I have a couple of months to spare.


This fits within the scientific field of evolutionary linguistics (https://en.m.wikipedia.org/wiki/Evolutionary_linguistics).


This is really cool.


cool




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: