Modeling Zipf's Law

Zipf's law is the observation "that for many types of data studied in the physical and social sciences, the rank-frequency distribution is an inverse relation" [Wikipedia]. I wanted to understand the underlying reasons for this, so attempted to write down a simple model which results in such a distribution. The simplest thing I could write down, a Markov model whose probability transition matrix only depends on whether or not the neighboring node has more quantity, rather than on the quantities themselves, did indeed show this pattern over long times. See the README on GitHub for more details.

Coincidentally, I found out a friend of mine along with his collaborators wrote a much more rigorous paper closely related to this. Theirs is rooted in probability theory. Preprint: