Probabilité de trois événements
Avec P(A) à 0,5, P(B) à 0,4 et P(C) à 0,3, plus leurs intersections, la probabilité qu'au moins un survienne vaut 0,8. Saisissez les sept probabilités pour obtenir l'union et la probabilité qu'aucun ne survienne, sans supposer l'indépendance. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- P a
- 0,5
- P b
- 0,4
- P c
- 0,3
- P ab
- 0,2
- P ac
- 0,15
- P bc
- 0,1
- Probabilité de l'union
- 0,8
- P de l'union (texte)
- 0.8
- P aucun
- 0,2
- P aucun (texte)
- 0.2
La chance qu'au moins un de trois événements nommés se produise n'est pas la somme de leurs probabilités individuelles. Additionner les trois chiffres compte deux fois chaque recouvrement par paires, puis sous-compte la zone où les trois arrivent ensemble. L'inclusion-exclusion corrige cela : on ajoute les trois individuels, on retranche les trois intersections deux à deux, puis on rajoute l'intersection triple. Ce calculateur accepte ces sept probabilités, vérifie que chacune appartient à l'intervalle unitaire fermé et que les conjointes respectent des bornes élémentaires à la Fréchet, et renvoie l'union P(A ∪ B ∪ C) ainsi que la probabilité complémentaire qu'aucun des trois n'arrive.
Ce que l'inclusion-exclusion calcule pour trois événements
Dans un espace de probabilité, l'union des événements A, B et C est l'ensemble des issues qui appartiennent à l'un d'eux au moins. Additionner naïvement P(A), P(B) et P(C) compte deux fois chaque issue d'une intersection par paires et trois fois chaque issue de l'intersection triple, si bien que cette somme n'est pas la probabilité d'une union.
L'identité d'inclusion-exclusion défait ce trop-plein en deux corrections : on retranche d'abord les trois conjointes par paires P(A ∩ B), P(A ∩ C) et P(B ∩ C), ce qui ôte la copie en trop de chaque recouvrement de deux ensembles ; on rajoute ensuite P(A ∩ B ∩ C), car la région triple a été ajoutée trois fois et retranchée trois fois et disparaîtrait sinon.
La formule compacte est P(A ∪ B ∪ C) égal à P(A) plus P(B) plus P(C) moins P(A ∩ B) moins P(A ∩ C) moins P(B ∩ C) plus P(A ∩ B ∩ C). L'événement complémentaire — aucun des trois ne se produit — a pour probabilité un moins cette union. L'exclusivité mutuelle est le cas particulier où toute intersection vaut zéro et l'union se réduit à une somme simple.
L'indépendance est un autre cas particulier, où chaque conjointe se factorise en produit des individuels correspondants. Cet outil n'assume aucun de ces cas : il utilise les conjointes que vous fournissez, de sorte que les exemples scolaires dépendants et les modes de défaillance qui se recouvrent se calculent correctement.
Qui a besoin de l'union de trois événements
Les salles de classe et les plateformes de tutorat utilisent un calculateur de probabilité de trois événements pour que les élèves vérifient un devoir d'inclusion-exclusion sans inverser le signe du terme triple. Les générateurs d'examens ont besoin d'un oracle déterministe qui refuse une probabilité de 1.2 au lieu de la tronquer en silence, afin qu'un correcteur défectueux ne traite pas une entrée impossible comme un zéro réussi.
Les notes de fiabilité et de sûreté partent souvent de trois modes de défaillance qui se recouvrent — capteur A, capteur B et une alarme de cause commune C — et ont besoin de P(au moins un se déclenche) à partir de taux calibrés et de recouvrements par paires mesurés, plutôt que d'une indépendance que les données contredisent.
Les équipes d'analytique produit transforment des taux publiés (part d'utilisateurs ayant vu la campagne A, B ou C) en union formelle lorsque l'outil de reporting fournit déjà les cellules de recouvrement par paires et triple. Une validation échouée ne consomme pas le solde. Ne confondez pas cette page avec un outil de probabilité conditionnelle qui divise une seule conjointe par une marginale, ni avec un actualiseur de Bayes qui prend des vraisemblances : ici vous connaissez déjà les sept masses et n'avez besoin que de l'union par inclusion-exclusion.
Cas d’usage
Risque de défaillances qui se recouvrent
Combinez trois taux de défaillance instrumentés et leurs recouvrements mesurés par paires et au triple en P(au moins une défaillance) sans supposer l'indépendance.
Portée des campagnes et des fonctions
Transformez les tailles d'audience et les cellules de recouvrement de trois campagnes ou indicateurs produit en part d'utilisateurs atteints par au moins l'un d'eux.
Questions fréquentes
Quelle formule le calculateur à trois événements utilise-t-il ?
Inclusion-exclusion : P(A ∪ B ∪ C) = P(A)+P(B)+P(C) − P(A ∩ B) − P(A ∩ C) − P(B ∩ C) + P(A ∩ B ∩ C). La réponse renvoie aussi 1 moins cette union comme probabilité qu'aucun des trois n'arrive.
Que se passe-t-il si une probabilité sort de 0 à 1 ?
Un nombre inférieur à 0 ou supérieur à 1 n'est pas une probabilité : l'appel est rejeté et n'est pas facturé.
Pourquoi faut-il envoyer l'intersection triple P(A ∩ B ∩ C) ?
Le dernier terme de l'inclusion-exclusion est la conjointe triple. L'omettre sous-compterait ou surcompterait la zone où les trois événements se produisent.
Les conjointes par paires peuvent-elles dépasser les individuelles ?
Non. P(A ∩ B) ne peut pas dépasser le plus petit de P(A) et P(B), ni tomber sous max(0, P(A)+P(B)−1). Les mêmes bornes de Fréchet s'appliquent aux autres paires et au triple face aux conjointes par paires.
Pourquoi ne pas simplement additionner les trois probabilités ?
Parce que chaque intersection par paire est comptée deux fois et l'intersection triple trois fois. Avec 0,5, 0,4 et 0,3, la somme brute donne 1,2, qui n'est même pas une probabilité ; l'inclusion-exclusion retire ces copies en trop.
Outils associés
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/probability-three-events \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"p_a":0.5,"p_b":0.4,"p_c":0.3,"p_ab":0.2,"p_ac":0.15,"p_bc":0.1,"p_abc":0.05}'const res = await fetch("https://api.kit.forhosting.com/stat/probability-three-events", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"p_a": 0.5,
"p_b": 0.4,
"p_c": 0.3,
"p_ab": 0.2,
"p_ac": 0.15,
"p_bc": 0.1,
"p_abc": 0.05
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/probability-three-events",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"p_a": 0.5,
"p_b": 0.4,
"p_c": 0.3,
"p_ab": 0.2,
"p_ac": 0.15,
"p_bc": 0.1,
"p_abc": 0.05
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/probability-three-events", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"p_a":0.5,"p_b":0.4,"p_c":0.3,"p_ab":0.2,"p_ac":0.15,"p_bc":0.1,"p_abc":0.05}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"p_a":0.5,"p_b":0.4,"p_c":0.3,"p_ab":0.2,"p_ac":0.15,"p_bc":0.1,"p_abc":0.05}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/probability-three-events", 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
{
"p_a": 0.5,
"p_b": 0.4,
"p_c": 0.3,
"p_ab": 0.2,
"p_ac": 0.15,
"p_bc": 0.1,
"p_abc": 0.05
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.probability_three_events",
"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.
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. |
Notes techniques
Les probabilités invalides sont rejetées avec invalid_input et ne sont pas facturées.
Contrat d'entrée, forme de la réponse et erreurs
Contrôle classique : P(A)=0.5, P(B)=0.4, P(C)=0.3, P(A ∩ B)=0.2, P(A ∩ C)=0.15, P(B ∩ C)=0.1 et P(A ∩ B ∩ C)=0.05 donne P(A ∪ B ∪ C)=0.8 et P(none)=0.2. Envoyez un corps JSON avec sept nombres obligatoires, chacun dans l'intervalle fermé de zéro à un. Le champ p_a est P(A) ; les alias pA, pa, P_A et prob_a sont acceptés. Le champ p_b est P(B), avec les alias pB, pb, P_B et prob_b. Le champ p_c est P(C), avec les alias pC, pc, P_C et prob_c. Le champ p_ab est la conjointe par paires P(A ∩ B) ; les alias pAB, ab et intersection_ab ont le même sens. Le champ p_ac est P(A ∩ C), avec les alias pAC, ac et intersection_ac. Le champ p_bc est P(B ∩ C), avec les alias pBC, bc et intersection_bc. Le champ p_abc est l'intersection triple P(A ∩ B ∩ C) ; les alias pABC, abc, triple et intersection_abc sont interchangeables. Une réponse réussie répète les sept entrées et renvoie p_union (le double IEEE de l'union), p_union_string pour un affichage stable, p_none et p_none_string pour la probabilité complémentaire qu'aucun des trois n'arrive, percent égal à cent fois l'union, et une chaîne formula qui reformule l'inclusion-exclusion. Toute valeur hors de [0, 1], un champ manquant, une conjointe par paires hors de son intervalle de Fréchet, un triple qui dépasse la plus petite conjointe par paires, ou une combinaison dont l'union quitterait [0, 1] échoue avec invalid_input en nommant le problème ; ces échecs ne sont pas facturés. Le tarif est un $0.002 forfaitaire par requête réussie.
Où une API d'union de trois événements justifie son usage
Comme l'implémentation est un parse pur de niveau A, chaque appel réussi coûte le tarif de base publié $0.002, sans jetons de modèle ni réseau sortant. Épinglez p_union_string dans les tests lorsque vous voulez des chiffres imprimés stables, et utilisez le champ numérique lorsque vous enchaînez d'autres calculs.
Cas d'intégration
Vérifications scolaires d'inclusion-exclusion
Donnez aux élèves P(A), P(B), P(C), les trois conjointes par paires et le triple, puis vérifiez leur union et la réponse complémentaire qu'aucun des trois n'arrive face à une API déterministe ou au résultat gratuit du navigateur.
Questions techniques
Combien coûte le calculateur de probabilité de trois événements ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.