Page 1 sur 2

Sauts de croissance démographique

Publié : lun. oct. 08, 2007 10:31 am
par Bob Brache
Bonjour, bonjour.

Je trouve la progression de la croissance démographique en fonction de la taille de la population un peu brusque. L'une de mes planètes a mis deux fois plus de temps à passer 90k à 100k habitants que pour passer de 100k à 200k.

Apparemment, vous avez pour divers seuils avec divers facteurs de l'indicateur de la croissance démographique (x0.1 ; x1 ; ...). Ne pourrait-on pas plutôt utiliser une gaussienne du log10 de la population ? Le calcul n'étant fait qu'une fois par jour et par planète, ce ne serait pas gourmand et plus efficace.

Exemple avec I*exp( - (log10(pop) - P0)² / Lambda)
Soit I l'indicateur démographique.

Voici ce que ça donne avec P0 = 6 et Lambda = 3.
La croissance est donnée en multiple de I.
1k.............0,05
10k...........0,26..........Plus rapide que le 0.1 actuel
100k.........0,71..........Plus lent que le 1.0 actuel
1M............1,00
10M..........0,71
100M.........0,26
1G............0,05..........Assez bon pour atteindre doucement les 10G
10G..........0,005........Croissance faible (qqs millions par soir)

Pour l'intégration temporelle de L*f(L), si quelqu'un peut me dépanner, je suis un poil rouillé et je manque de temps.
Qu'en pensez-vous ?

Publié : lun. oct. 08, 2007 11:07 am
par Hugo - Adminscenario
J'en pense que c'est une suggestion claire nette précise bien argumentée.
Si les autres sont d'accord, je veux bien qu'on change ça. En plus, même pas besoin de changer les explications de la rubrique d'aide car ça colle tjrs. C'est juste plus "fin".

Macolu t'en penses quoi?

Publié : lun. oct. 08, 2007 11:38 am
par Sandalphon
Je suis pas Macolu, mais chapeau bas pour le Bob ! :shock: :wink:

Publié : lun. oct. 08, 2007 12:09 pm
par Bob Brache
Merci pour vos commentaires. :-)

Je viens de reprendre tout ça en utilisant mon tableur préféré pour m'éviter d'avoir à sortir l'artillerie lourde mathématique. Voici le nombre de cycles nécessaires pour arriver, avec un indicateur démo de 20, d'arriver à une population N en partant de 10k habitants.

Pop...........Temps
100k.........28 (un mois)
1M............42
10M..........56 (deux mois)
100M.........83 (trois mois)
1G............190 (six mois)
10G..........1067 (trois ans)

Je tiens à votre dispotion une feuile de calcul OOo permettant de tout recalculer en faisant varier I, Lambda et P0.

Publié : lun. oct. 08, 2007 12:46 pm
par Didier
trop aimable :shock:

je te fais tout a fait confiance :wink: pas la peine de controler :roll:

Publié : lun. oct. 08, 2007 2:18 pm
par Bob Brache
Il ne s'agit pas de pouvoir vérifier mais de pouvoir tester d'autres jeux de valeurs sans aucun effort. :wink:

Par exemple, en deux secondes je vois qu'avec P0 = 6,25 et Lambda = 4 on a :
Pop...........Temps
100k.........28 (un mois)
1M............43
10M..........56 (deux mois)
100M.........75
1G............119 (quatre mois)
10G..........303 (dix mois)

Et aussi : 100G........1596 (cinq ans :lol: )
Le 100G ne devrait pas pouivoir être atteint dans le design original. Ici on vérifie qu'en pratique ce n'est pas possible.

Publié : lun. oct. 08, 2007 5:55 pm
par toto0
:shock: :shock: :shock: Wowww... Chapeau bas... Bob. :shock: :shock:
10G..........1067 (trois ans)
C'est pas un peu long? 8)

Publié : lun. oct. 08, 2007 7:13 pm
par Bob Brache
toto0 a écrit ::shock: :shock: :shock: Wowww... Chapeau bas... Bob. :shock: :shock:
10G..........1067 (trois ans)
C'est pas un peu long? 8)
C'est bien pour ça que je propose d'autres valeurs et que j'offre une jolie feuille de calcul OOo toute prête pour tester d'autres valeurs et choisir le modèle de gameplay.
:wink:

Publié : mer. oct. 10, 2007 3:34 pm
par Bob Brache
Bon, voilà, j'ai rebossé un peu sur ma formule qui ne me satisfaisait pas complètement. Avec la précédente, il était trop dur de s'assurer qu'on resterait sous les 10G habitants. Cette condition exercait de trop grandes contraintes sur les paramètres qu'on ne pouvait fixer librement pour ajuster finement la durée des différents palliers de population. Alors, j'ai ajouté un filtre passe-bas modifié.

La nouvelle formule est donc :
C = I * exp( - (log10(P)/L0)² / Lambda) / sqrt(1 + (P / PC)^Ec)

- Le résultat, C, est la croissance par cycle de la planète
- I est l'indice démographique de croissance
- P est la population
- L0 est le logarithme base 10 de la population pour laquelle la croissance est maximale
- Lambda est la finesse de la courbe : la gaussienne est plus ou moins piquée
- Pc est la population de coupure, à partir de laquelle la croissance doit rapidement chuter, de façon à s'arrêter avant les 10G
- Ec est l'exposant de coupure, permettant de rendre la chute plus ou moins brutale à l'approche des 10G


Voilà ce que ça donne avec :
I = 25 (25% de croissance par cycle au max)
L0 = 7 (pic à dix millions d'habitants)
Lambda = 10 (courbe épaisse)
Pc = 8E9 (coupure à partir de 8 milliards d'habitants)
Ec = 100 (coupure rapide)

En partant d'une population initiale de 10k, voici le nombre de cycles nécessaires pour parvenir à chacun des palliers de population
100k 19
1M 32
10M 43
100M 54
1G 66
2G 71
5G 78
8G 82
9G 145
10G Quelques millénaires

On arrive un milliard en à peu près autant de temps qu'avec la formule actuellement utilisée par Apo. Au-delà, je ne sais pas comment le jeu se comporte aujourd'hui.

Publié : mer. oct. 10, 2007 3:40 pm
par Didier
8) 8) pas mal bob ......

:lol:

Publié : mer. oct. 10, 2007 3:43 pm
par mickpyro68
clair

bien joué bob :D

Publié : jeu. oct. 11, 2007 4:04 pm
par toto0
19! rien que pour arriver à 100 000 habitants!

Et si quand on cronstruisait rien cela augmenterait la croissance?

Publié : jeu. oct. 11, 2007 4:06 pm
par toto0
Je veut dire que quand on construit pas ça monte plus vite.

Ca serait pas mieux? En europe, la population vieillit faute de temps pour s'occcuper de ses enfants... Alors pourquoi pas dans Apo?

Publié : jeu. oct. 11, 2007 4:08 pm
par Didier
toto tu peux pas faire un edit de ton post precedent .... :lol:

Bob tu as une equation pour prevoir le nombre de post de toto ^^ :roll: :roll: Est ce previsible ....

Publié : jeu. oct. 11, 2007 4:09 pm
par toto0
Malheureusement...