C'est probablement mieux d'inventer quelque chose.
Le problème lorsqu'on se concentre trop sur les mathématiques, c'est qu'il est facile de consacrer beaucoup d'efforts à l'échantillonnage précis d'une distribution de probabilité qui ne correspond pas à l'idée que les joueurs se font de la réalité .
En particulier, le distribution binomiale Proposition de par Gandalfmeansme modélise avec précision la distribution du nombre de réussites en \$n\$ les tentatives que chacun réussit indépendamment les uns des autres avec un Correction de probabilité \$p\$ . Cependant, dans la vie réelle, les tentatives sont rarement indépendantes et les probabilités sont rarement fixes.
Par exemple, dans votre exemple d'un groupe de citadins visitant une forêt dangereuse, attendriez-vous vraiment que les autres ne réagissent pas si quelque chose arrive à l'un d'entre eux ? (Peut-être que oui, s'ils partent et reviennent tous en même temps et s'ils veillent à rester hors de portée de vue et d'ouïe les uns des autres. Mais dans quelle mesure cela est-il plausible ?) Et est-il vraiment raisonnable de supposer que le risque de pénétrer dans la forêt est le même chaque jour, ou serait-il plus raisonnable de supposer que la forêt est parfaitement sûre la plupart du temps, sauf lorsqu'une meute de prédateurs errants ou de bandits ou autre se trouve à proximité.
Maintenant, mon point est no que vous devriez ajuster et compliquer vos mathématiques pour modéliser tous ces aspects supplémentaires de la situation. Ce que j'essaie plutôt de suggérer, c'est que, puisque vous savez que votre modèle mathématique ne sera pas entièrement réaliste de toute façon tu devrais juste inventer quelque chose de simple et se sent raisonnable, que les mathématiques soient damnées. (Et je dis cela en tant que diplômé en mathématiques appliquées). Et soyez ensuite prêt à modifier les choses à la table si vous le jugez nécessaire.
Par exemple, pour votre forêt dangereuse, vous pourriez simplement lancer un d20 une fois par jour (en secret, si nécessaire !) pour voir si la forêt est sûre à visiter aujourd'hui. Si vous obtenez un résultat de 2 ou plus (ou de 3 ou plus, si vous voulez le rendre plus sûr), vous pouvez lancer un d20. vraiment dangereux), c'est sûr et rien ne se passe. Si vous obtenez un 1, il y a quelque chose de dangereux qui se cache dans la forêt et quiconque s'y rend devra y faire face. Ou, si cela ne vous convient pas, faites autre chose. Mais restez simple.
De même, pour l'exemple de la population de votre ville, vous devez d'abord considérer le nombre de personnes qualifiées et non qualifiées qu'elle compte sens pour cette ville particulière, et quelles compétences ils doivent avoir. S'agit-il d'une ville agricole, d'une ville de pêcheurs ou d'une ville minière (et si c'est le cas, qu'est-ce qu'ils cultivent, pêchent ou extraient ?) Se trouve-t-elle sur une route principale ou une route commerciale ? Y a-t-il des industries ? Y a-t-il une église ou un sanctuaire quelconque ? Y a-t-il un fort ou un camp militaire à proximité, et la ville elle-même est-elle entourée de murs pour sa défense ? Est-ce la plus grande ville de la région et, si ce n'est pas le cas, où et à quelle distance se trouve la plus grande ville la plus proche ? Y a-t-il autre chose dans la ville ou à proximité qui la rende spéciale ? Des sources d'eau chaude ? Des grottes mystérieuses ? Des ruines anciennes ? Une tour de sorcier ?
Quoi qu'il en soit, quelle que soit la ville, elle comptera probablement un certain nombre d'artisans divers et qualifiés tels que meuniers, tisserands, cordonniers, potiers, tonneliers, charpentiers, forgerons, commerçants, aubergistes, etc. Et le nombre de ces personnes dans chaque ville d'une taille donnée sera plus ou moins le même, car si un seul cordonnier peut fabriquer et réparer suffisamment de chaussures pour toute la ville, il est peu logique qu'il y en ait deux. Plus probablement, s'il y en avait deux mais que la demande était suffisante pour un seul, l'autre partirait dans une autre ville qui n'a pas encore son propre cordonnier.
À moins, bien sûr, qu'il n'y ait une demande supplémentaire pour une profession particulière pour une raison spécifique, comme l'une de celles que j'ai énumérées ci-dessus. Une ville commerciale sur une route très fréquentée a probablement plus d'aubergistes qu'une ville agricole au milieu de nulle part. Une ville militaire a besoin de forgerons, tout comme une ville minière (mais ils travailleront surtout sur des choses différentes). Une ville qui produit du vin aura besoin de tonneliers (et/ou de potiers, selon les traditions locales et la disponibilité du bois et de l'argile). Mais tout le monde a toujours besoin de chaussures, même si toutes les petites villes n'ont pas nécessairement leur propre cordonnier - mais même si ce n'est pas le cas, il y en a probablement un qui travaille quelque part dans un rayon d'un jour de voyage au maximum.
Et si vous voulez juste générer une ville aléatoire ? Eh bien, vous pouvez commencer par supposer qu'il y a au moins un de chaque type de commerçant que vous pensez qu'une ville de cette taille devrait probablement avoir. (Et ne vous inquiétez pas si vous en oubliez, car si vos joueurs demandent si la ville a, par exemple, un maréchal-ferrant, vous pouvez simplement leur montrer les écuries et leur dire "bien sûr, c'est le cas !"). Ensuite, réfléchissez aux métiers spécifiques pour lesquels la ville pourrait avoir une demande supplémentaire, et ajoutez-en quelques-uns. Mais n'en ajoutez pas trop, car dans une société pré-moderne, quelque chose comme plus de 90% de la population globale devrait être en train de cultiver ou de pêcher ou de faire autre chose qui les nourrit directement (et qui nourrit indirectement tous les artisans et soldats et tous ceux qui ne cultivent ou ne cueillent pas leur propre nourriture).
Au final, votre ville devrait avoir la composition démographique suivante vous vous sentez bien . Et vous n'avez probablement pas besoin de tout planifier à l'avance ; vous pouvez simplement décrire la ville à vos joueurs en termes généraux (par exemple, "la plupart des gens ici sont de simples fermiers, mais il y a aussi une auberge qui fait office de magasin général") et inventer les détails au fur et à mesure qu'ils se présentent.
Mais je veux quand même une solution mathématique !
OK, bien, supposons juste que la distribution binomiale est une approximation raisonnable de la situation réelle que vous voulez modéliser. Ce que nous voulons faire, à notre tour, est d'approximer la distribution binomiale avec quelque chose qui nécessite moins de lancers de dés.
Tout d'abord, un résultat mathématique utile connu comme le Théorème de la limite de Poisson dit que, pour les grandes \$n\$ (et pour les besoins du RPG, nous pouvons considérer sans risque de nous tromper que \$n \ge 10\$ ou même \$n \ge 5\$ comme "grande"), la forme de la distribution binomiale dépend principalement du nombre moyen attendu de résultats positifs, qui est simplement le nombre de tentatives indépendantes. \$n\$ fois la probabilité \$p\$ d'une seule tentative réussie.
Maintenant, selon que ce nombre attendu de succès est (beaucoup) inférieur ou supérieur à un, ou approximativement égal à un, nous avons trois cas possibles :
-
Si \$n \cdot p\$ est bien inférieur à un Les réussites seront rares, et les réussites multiples encore plus rares. Dans ce cas, vous pouvez raisonnablement lancer 1d100 et traiter tout résultat comme suit égal ou inférieur à \$100 \cdot n \cdot p\$ comme un succès (unique), et tout résultat supérieur comme un échec.
-
Si \$n \cdot p\$ est beaucoup plus grande qu'une la distribution binomiale a l'apparence d'une courbe en cloche, et est bien approximée par un distribution normale (gaussienne) avec une moyenne \$ \mu = n \cdot p\$ et la variance \$ \sigma ^2 = n \cdot p \cdot (1-p)\$ . Nous pouvons à notre tour approximer cette distribution normale avec un ensemble approprié de lancers de dés :
-
Par exemple, nous pourrions rouler (approximativement) \$n \cdot p\$ Dés de caramel résumez-les et ajoutez \$n \cdot p\$ au résultat.
-
Si \$n \cdot p\$ est trop grand, divisez-le par \$10\$ . Lancez autant de dés de caramel, multipliez le résultat par \$3\$ ( \$ \approx \sqrt {10}\$ ) et ajoutez \$n \cdot p\$ à ce sujet.
-
Si cela fait toujours trop de dés, divisez \$n \cdot p\$ por \$100\$ à la place. Lancez autant de dés de caramel, multipliez le résultat par \$10\$ ( \$= \sqrt {100}\$ ) et ajoutez \$n \cdot p\$ à ce sujet.
Si vous n'avez pas de dés Fudge sous la main, utilisez des dés normaux à six faces et soustrayez le nombre de 1 et 2 du nombre de 5 et 6.
(Cette méthode sous-estime quelque peu la variance pour les petites entreprises. \$p\$ et peut être légèrement surestimé pour les grandes entreprises. \$p\$ mais dans l'ensemble, il donne des résultats plutôt raisonnables. Pour les très petites \$p\$ et une taille correspondante \$n\$ , flipper \$n \cdot p\$ et en comptant le nombre de têtes et de queues, on obtiendrait une variance plus précise qu'en utilisant les dés Fudge. Mais pour des valeurs modérées de \$p\$ Comme dans vos exemples, la variance légèrement inférieure des dés Fudge est en fait une caractéristique. Et ils ont tendance à produire une distribution plus lisse, aussi).
-
Si \$n \cdot p\$ est d'environ un (par exemple, entre 0,2 et 5), les deux méthodes précédentes peuvent donner de mauvais résultats.* Dans ce cas, nous pouvons utiliser le théorème de la limite de Poisson mentionné ci-dessus, et approcher la distribution binomiale que nous voulons avec une autre distribution binomiale qui a une plus petite \$n\$ mais un \$p\$ .
Par exemple, au lieu de lancer 20d20 et de compter les 1 pour savoir combien de résidents sur 20 rencontrent quelque chose dans la forêt, vous pouvez plutôt lancer 6d6 ou même 4d4 et obtenir approximativement la même distribution .
De manière plus générale, vous pourriez par exemple lancer la commande suivante \$X\$ d20 et comptez le nombre de résultats inférieurs ou égaux à \$n \cdot p \cdot 20 \mathbin / X\$ . Bien entendu, pour que cette approximation ait un sens, ce seuil devrait être au moins égal à 1 et inférieur à 20. (En fait, il devrait de préférence être de 10 ou moins).
D'ailleurs, quelle que soit la méthode utilisée, si la probabilité de succès \$p\$ est supérieure à 50%, vous devez échanger les résultats de sorte que \$p\$ devient inférieure à 50% avant d'appliquer l'une des approximations ci-dessus.
*) En fonction des valeurs exactes de \$n\$ y \$p\$ et le niveau de précision que vous souhaitez, les deux premières méthodes ci-dessus peut parfois, même pour \$n \cdot p\$ près d'un. En particulier, la méthode des dés truqués fonctionne assez bien, même pour les petits nombres de succès attendus, à condition que \$n \cdot p\$ se trouve être (proche de) un entier, mais présente un biais d'arrondi si ce n'est pas le cas.
Ps. Voici un script AnyDice pour tester les approximations données ci-dessus. Vous pouvez modifier les valeurs de \$n\$ y \$p\$ (que le script s'attend à voir être un pourcentage, c'est-à-dire multiplié par 100) pour voir comment les différentes approximations se comparent à la distribution binomiale exacte.
Alors que le script applique quelques vérifications sur la valeur de \$n \cdot p\$ Pour éviter d'afficher des approximations qui n'ont absolument aucun sens, les contrôles sont délibérément assez lâches, car il est potentiellement intéressant de voir comment les approximations commencent à s'effondrer aux limites de leur zone de validité.
Par exemple, pour votre exemple de rencontre avec la forêt (avec \$n = 20\$ y \$p = 0.05\$ ), le script affiche les approximations possibles suivantes :
Vous pouvez voir que toutes les approximations présentées dans le graphique obtiennent le nombre attendu de rencontres ( \$n \cdot p = 1\$ ) correctes, alors que toutes les méthodes, à l'exception de la méthode d100 (qui n'est pas vraiment applicable pour des valeurs aussi élevées de \$n \cdot p\$ de toute façon) produisent également un écart type qui est au moins dans la bonne fourchette. Mais dans ce cas, la méthode " compter les jets ≤ 4 dans 5d20 " est bien meilleure que les autres pour obtenir la bonne forme de la distribution.
En attendant, pour l'exemple de la population de votre ville (avec \$n = 200\$ y \$p = 0.3\$ ), le résultat ressemble à ceci :
Dans ce cas, seules les approximations des dés de Fudge sont présentées, car ce sont les seules qui conviennent à des valeurs d'espérance aussi élevées ( \$n \cdot p = 60\$ ). La première approximation est clairement très proche, mais nécessite de lancer 60 dés Fudge - ce qui est mieux que, disons, 200d20, mais toujours peu pratique. La seconde approximation ne nécessite que 6 lancers au lieu de 60, mais présente l'inconvénient de toujours produire un résultat qui est un multiple de 3 (c'est pourquoi le graphique a un aspect bizarre). Si vous voulez lisser le résultat, vous pouvez toujours lancer un dé supplémentaire et l'ajouter au résultat. sans en le multipliant par 3.