BBR:
GUMBA: tohle všechno je hezké povídání, ale vlastně to je jen chození okolo horké kaše a konstatování, že "prostě to tak je a basta". Co je ale opravdu zajímavé, je ptát se, jaké jsou ty ekonomické, sociální a bůhvíjaké důvody, které vedou k tomu, že se velikosti sídel mají tendenci organizovat podle tohohle rozdělení...
U toho jazyka si troufám, že by to šlo zdůvodnit nějak informační teorií. Informační obsah (počet bitů) krátkých slov je zkrátka nižší, než u dlouhých slov. Pokud současně délku slova použijeme jako určitý "index", nebo spíš podtabulku, který mozek použije k jakémusi "indexování slovníku". Z hlediska programátora je to něco, jako kdyby řekli, že pro každou délku slova alokujeme další pole, takže (pro anglickou abecedu - v praxi bude asi mozek pracovat spíš s vyslovitelnými slabikami, než se samotnými znaky) bude mít první slovník max. 26 položek, druhý 26^2, třetí 26^3, apod. Pořád tam ale bude ještě nějaká tendence řadit dál v těch slovnících nejčastěji používaná slova na začátek a málo používaná někam na konec, ovšem vzhledem k dostupnému počtu vyslovitelných kombinací budou ty slovníky pro delší znova obsahovat daleko více záznamů a z lokiky věci se mozku (či spíše než jednomu mozku - komunitě mozků společně formujících mluvený jazyk) nebude chtít často používané a důležité termíny zařazovat do rozsáhlých slovníků, jejichž prohledávání je celkově náročnějí (at' už je ta technologie toho prohledávání jakákoliv).
Jazyky, které by tu rycholost prohledávání slovníku slov mozkem nezohlednily, by měly evolučně nižší šanci na přežití. Tak například, kdy se místo jednoslabičného tříznakového slova "šíp" použilo nějaké mnohoslabičné slovo, které se vyslovuje daleko dýl, tak může šíp během obléhání přiletět dřív, než někdo stihne vykřiknout varování. Tedy pochopitelně, jazyky, které tohle odhadly špatně, evolučně vyhynuly :-) Ale v rámci té evoluce se stejně slova navíc ještě vrstvila podle Zipfova zákona.
Ovšem to, že je mi víceméně nějak "pseudoprogramátorsky" jasné, proč se takhle zorganizoval jazyk, neznamená, že mi je jasné, proč se takhle zformovaly velikostí sídel. A stejně tak mi to není jasné u řek - žádná řeka nemůže vědět, jak velká v pořadí v rámci daného povodí je, takže tam musí být ve hře nějaký náhodný mechanismus, kdy si řeka hází kostkou, jestli zahnout doleva a udělat soutok s jinou řekou, nebo zahnout doprava ještě se chvíli klikatit. A tenhle mechanismus sám o sobě bude evolučně konvergovat k tomu zipfovu rozdělení: asi by to šlo nasimulovat opět softwareově nějakým rekurzivním "kreslítkem řek", které by v základních rysech kopírovala geologická pravidla.
V zásadě při pozorování světa kolem sebe bychom se mohli naučit rozlišovat, jestli příroda zrovna "sčítá", nebo "násobí". Když ale jdu po břehu řeky, tak si fakt neumím nijak jednoduše představit, že zrovna délky řek se rozloží podle Zipfa a ne podle Gausse :-) (nebo Pareta :-). Mimochodem, já jsem se takhle snažil klasifikovat klienty Internetu podle objemu přenesených dat, a před lety to začalo podle Parteova zákona (rozdělení) - ale pak to zdegenerovalo, že místo aby 20% klientů dělalo 80% přenosů, tak to posledních několik let asi 30% zákazníků dělá 80% přenosů - a u tohohle rozdělení se to setrvale drží úplně bez ohledu na technologie, podíl velkých a malých zákazníků, vývoj ceníku, apod. (ono i 30% místo 20% je obchodně dost šílených, ale budiž..)
Takže asi bych to shrnul, že zatímco některá tahle rozdělení jsou nějak "představitelná" (třeba u toho různého informačního obsahu slov podle délky), i když třeba je ta představa chybná, tak si jde udělat - tak u jiných rozdělení je to zkrátka WTF a nemáme nejmenší ponětí, proč se tak svět chová. (Ale kdychom to ponětí měli, tak bychom třeba uměli navrhovat zajímavější datové struktury, jako programátoři, apod. - tady si myslím, že jsme úplně na začátku, protože příroda zásadně vše "programuje" vysoce paralelizovaně, zatímco v prvních desetiletích programování převažovaly hodně "jednovláknové" algoritmy a uvažovat, jak efektivně využít víc vláken je trochu jinýc level, apod.)