Probabilité d’une série de piles consécutifs
Ce calculateur détermine la probabilité qu’au moins une série de piles consécutifs de la longueur choisie apparaisse pendant un nombre donné de lancers d’une pièce équilibrée.
Lancer gratuitement
Indiquez le nombre total de lancers et la longueur de la série : le calcul examine toutes les évolutions possibles sans simulation. Le résultat fournit la probabilité de l’événement et celle de son complément. Il convient ainsi aux jeux, aux cours de probabilités, à la préparation d’expériences et à la vérification de votre intuition sur des essais indépendants répétés.
Ce que mesure le calculateur
L’événement mesuré est la présence d’au moins une série ininterrompue de la longueur demandée, où qu’elle se trouve parmi les lancers. Elle peut commencer au premier lancer, finir au dernier ou se situer entre deux faces. Une série plus longue compte également : quatre piles consécutifs répondent à une demande de trois, puisqu’ils contiennent des groupes superposés de trois piles. Le calcul ne porte pas sur un nombre total exact de piles et n’exige pas que la série n’apparaisse qu’une fois ; ce sont d’autres questions. Chaque lancer est supposé indépendant et la pièce équilibrée, donc chaque côté a une probabilité d’un demi. Par exemple, dix lancers avec une cible de trois demandent si PPP apparaît au moins une fois. Les autres piles n’ont aucune incidence. Si la série demandée dépasse le nombre de lancers, elle ne peut pas tenir dans l’expérience ; la capacité signale alors une entrée invalide afin de rendre cette incohérence visible.
Méthode de calcul de la probabilité
Additionner la probabilité d’un départ à chaque position donne une réponse erronée, car les séries possibles se chevauchent. Dans PPPP, par exemple, une série de trois commence à deux endroits, mais ce résultat ne doit compter qu’une fois. Le calculateur évite ce double comptage par programmation dynamique. Après chaque lancer, il conserve la probabilité que la cible ne soit pas encore apparue et que la suite se termine par zéro, un, deux ou davantage de piles consécutifs, sans atteindre la cible. Une face ramène tous les chemins survivants à zéro ; un pile les fait progresser, et tout chemin atteignant la cible quitte les états sans série. À la fin, la somme des états survivants donne la probabilité de ne jamais voir la série. Son complément fournit la réponse recherchée. Cette méthode déterministe évalue directement l’événement et évite l’erreur d’échantillonnage d’une simulation de Monte-Carlo.
Interpréter et exploiter le résultat
La réponse indique une probabilité entre zéro et un, le pourcentage correspondant et probability_no_streak, l’événement complémentaire. Une valeur de 0.5078125 signifie que la série apparaît dans environ 50.78125 pour cent des expériences réalisées selon ces hypothèses ; elle ne prédit pas une suite particulière. Sur de nombreuses répétitions, la fréquence observée devrait se rapprocher du résultat calculé, tout en conservant une variation aléatoire normale. Utilisez le complément pour étudier l’absence d’une longue série dans un jeu, ou comparez plusieurs longueurs afin de voir comment des motifs rares deviennent plausibles avec davantage d’occasions. Le modèle concerne uniquement une pièce équilibrée et des lancers indépendants. Une pièce biaisée, des dépendances, une règle d’arrêt ou une série de l’un ou l’autre côté exigent un autre calcul. La limite de mille lancers garantit la réactivité du même algorithme pur dans le navigateur et par l’API. Chaque appel automatisé coûte $0.002 ; la page permet aussi un calcul local.
Cas d’usage
Vérifier un cours de probabilités
Comparez votre intuition à la probabilité exacte d’observer des piles consécutifs pendant une expérience définie.
Concevoir une règle de jeu
Estimez la fréquence d’un bonus déclenché par plusieurs piles consécutifs au cours d’une partie.
Préparer des essais répétés
Choisissez assez de lancers pour rendre une série cible suffisamment fréquente lors d’une démonstration sans simulation.
Questions fréquentes
Que signifie au moins une série ?
La série demandée apparaît une ou plusieurs fois, où que ce soit. Toute série plus longue la contient également et compte.
Le calcul cherche-t-il exactement ce nombre de piles ?
Non. Il cherche des piles consécutifs, quel que soit leur nombre ailleurs. Pour un total exact, utilisez un calcul binomial.
Pourquoi la série ne peut-elle pas dépasser les lancers ?
Elle ne tiendrait pas dans l’expérience. La capacité renvoie une erreur d’entrée pour signaler la demande incohérente.
Le résultat provient-il d’une simulation ?
Non. Une programmation dynamique déterministe tient compte des chevauchements et fournit la probabilité mathématique sans échantillonnage aléatoire.
Une pièce biaisée est-elle acceptée et quel est le prix de l’API ?
Non ; chaque côté vaut un demi et les lancers sont indépendants. Chaque requête API coûte $0.002 ; vous pouvez aussi utiliser le calculateur du navigateur.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/stat/coin-streak \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"tosses":10,"streak":3}'const res = await fetch("https://api.kit.forhosting.com/stat/coin-streak", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"tosses": 10,
"streak": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/coin-streak",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"tosses": 10,
"streak": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/coin-streak", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"tosses":10,"streak":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"tosses":10,"streak":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/coin-streak", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"tosses": 10,
"streak": 3
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.coin_streak",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_tosses | 1000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |