J'espère qu'il y a des amateurs de sport parmi les lecteurs. Si vous jouez au badminton ou au tennis de table, vous vous êtes probablement demandé: quelle est la probabilité de gagner la partie avec une probabilité connue de gagner un point? Supposons que vous perdiez contre votre adversaire avec un score d'environ 11: 7. Il semblerait que seulement 4 points de différence, mais en même temps ne parvient pas à gagner le match. Pas de chance? Je propose de résoudre ce problème et d'obtenir une réponse à cette question.
Ayant une relation indirecte avec les mathématiques financières, je sais que pour les mathématiques financières une telle tâche semblera particulièrement simple. Les méthodes possibles pour le résoudre sont très similaires aux méthodes de calcul du prix de l'option. Mais il y a des nuances dans cette tâche qui sont quelque peu atypiques pour la finance. Examinons les options de solution.
Pour commencer, j'ai confié à mon fils de 15 ans, qui fait un peu de programmation en Python (le mot clé est «un peu»), pour résoudre un tel problème en utilisant des méthodes numériques. Je lui ai suggéré d'essayer la méthode de l'arbre binaire (en matière de risque financier, l'analyse est généralement appelée méthode binomiale ou réseau) et Monte Carlo. Son étonnamment vite traité avec Monte Carlo, en écrivant un code assez compact. Si quelqu'un ne le sait pas, l'idée de Monte Carlo est de faire un grand nombre de lancers aléatoires en simulant un problème et en trouvant une réponse. Supposons que vous soyez le premier joueur. Dans ce cas, nous avons la probabilité de gagner le point (7 / (11 + 7)) ~ = 0,39. Nous commençons le jeu en générant un nombre aléatoire X dans la plage [0., 1.]. Si X <0,39, alors vous gagnez le point. Nous terminons le jeu et notons qui a gagné. Pour atteindre une précision acceptable, nous effectuons cette procédure un grand nombre de fois. En finance, la plage de 100K à 1M est généralement utilisée, ce qui garantit la précision de 8 chiffres significatifs. Mon fils a compté jusqu'à 10K, il a été instantanément et sans équivoque fourni une précision suffisante. Ce que nous n'avons cependant pas poursuivi, car pour des raisons de simplicité, nous avons décidé d'ignorer la bataille de chèvres. Autrement dit, le score de 11:10 a été considéré comme une victoire. Une demi-page de code suffit facilement pour résoudre un tel problème. Essayez-le et vous l'aimerez.
Je n'étais pas satisfait de la simplicité de la solution avec l'aide de Monte Carlo et j'ai décidé de charger mon fils avec la méthode de l'arbre binaire. Il a nié pendant longtemps et s'est plaint de la difficulté. Il a dû aider légèrement avec le matériel.
L'arbre binaire est construit comme suit. Nous partons du score 0-0. Si le premier joueur gagne le premier point, montez et montez à droite; si le second gagne, descendez et allez à droite. Un mouvement vers la droite est un mouvement sur des points du début à la fin du jeu. Pour un jeu, jusqu'à 3 arbres complets sont indiqués ci-dessous. Les sommets des résultats intermédiaires sont surlignés en bleu, jaune - le premier joueur gagne le match et vert - le deuxième joueur gagne.

Nous partons du score 0: 0, dont la probabilité est de 100%. Chaque transition vers la droite a sa propre probabilité. Indique la probabilité de gagner un point par le premier joueur - p1, et le second - p2. Naturellement, la somme p1 + p2 = 1. Nous suivons l'arbre du début à la fin et calculons la probabilité d'entrer dans cette cellule. Pour les cellules supérieures et inférieures, la transition n'est possible qu'à partir d'une cellule du niveau précédent. Par exemple, un score de 3: 0 n'est possible qu'après 2: 0. L'entrée dans les cellules restantes se fait à partir de deux cellules voisines à gauche. Par exemple, un score de 1: 1 est possible après 1: 0 lorsque le deuxième joueur remporte le point par la suite, ou lorsque 0: 1 lorsque le premier joueur gagne.

Les pics sont mis en évidence en bleu, frappé dans lequel vient d'un des sommets précédents, jaune - de deux. Les cellules en surbrillance indiquent la fin de la partie, c'est-à-dire la victoire de l'un des joueurs. Lors du calcul, un seul sommet précédent est également utilisé, car l'autre est la fin de la partie après laquelle la transition n'est pas effectuée.
Le problème du fils était de représenter un tel arbre à l'aide d'outils linguistiques. Un graphique s'est suggéré, mais en Python, c'est en quelque sorte difficile avec ça, ou il ne le sait pas. Je ne connais pas moi-même presque cette langue. J'ai dû déplacer cette structure dans un tableau, en la déformant légèrement comme suit.

De plus il reste à aller dans un double cycle de gauche à droite et de haut en bas, en comptant les probabilités cellulaires et en tenant compte des conditions aux limites. Ils sont intégrés dans if / if / else. Eh bien, il reste à résumer les probabilités de gagner des cellules pour l'un des joueurs (il est possible pour le second de vérifier que leur somme est 1).
Et enfin, la troisième méthode. Tout score final du jeu (par exemple 11: 7) implique un certain nombre d'options. Les statistiques indiquent que c'est le nombre de combinaisons de 7 à 17. La valeur est 17! / ((17-7)! 7!). 17 est le nombre total de points marqués pour ce compte moins un, car le dernier point est toujours gagnant pour le gagnant, c'est-à-dire que 7 perdus ne peuvent pas être à cet endroit. Les options possibles pour gagner des comptes sont les suivantes (Ignorer le combat de chèvre) - 11: 0, 11: 1, ..., 11: 10.
Autrement dit, vous pouvez trier tous les résultats d'un score gagnant pour un joueur en additionnant le nombre d'options dans chacun d'eux, multiplié par la probabilité de ce résultat. Le tableau contient les résultats du calcul de la probabilité de gagner un point de 39%. power1 est le degré auquel la probabilité de gagner un point est augmentée par le gagnant, power2 par le perdant.

Toutes les méthodes ci-dessus fonctionnent de manière fiable et donnent les mêmes résultats.
En conclusion, je donnerai un graphique de la probabilité de gagner un match de tennis de table (jusqu'à 11) et de badminton (jusqu'à 21) en fonction de la probabilité moyenne de gagner un point.

La ligne bleue représente le tennis de table, la ligne orange représente le badminton. Comme vous pouvez le voir sur le graphique, afin d'avoir au moins quelques chances (~ 3%) de gagner le jeu de tennis de table, vous devez gagner au moins 30% des points. Déjà à 25%, les chances descendent en dessous de 1%.
En badminton, les exigences sont encore plus strictes. Là, il faudra plus de 35% pour espérer une victoire de match avec une probabilité d'environ 3%.
Naturellement, la probabilité de gagner un match (à partir de plusieurs matchs) diminue encore plus si vous marquez moins de 50% pour chaque point.
De précieux conseils se suggèrent - pour gagner des matchs, vous devez travailler à gagner chaque point.