Probabilità di una serie di teste consecutive
Questo calcolatore determina la probabilità che compaia almeno una serie di teste consecutive della lunghezza scelta in un dato numero di lanci di una moneta equa.
Esegui gratis nel browser
Inserisca il totale dei lanci e la lunghezza della serie: il calcolo considera ogni possibile evoluzione senza ricorrere a simulazioni. Il risultato comprende sia la probabilità dell’evento sia quella del suo complemento, risultando utile per giochi, lezioni di probabilità, pianificazione di esperimenti e verifiche dell’intuizione sulle prove indipendenti ripetute.
Che cosa misura il calcolatore
L’evento misurato è la presenza di almeno una serie ininterrotta della lunghezza richiesta in qualunque punto dei lanci. Può iniziare al primo lancio, terminare all’ultimo o trovarsi fra due croci. Contano anche le serie più lunghe: quattro teste consecutive soddisfano una richiesta di tre, perché contengono gruppi sovrapposti di tre teste. Il calcolatore non cerca un totale esatto di teste e non richiede che la serie si verifichi una sola volta; si tratta di domande diverse. Ogni lancio è considerato indipendente e la moneta è equa, quindi testa e croce hanno entrambe probabilità pari a un mezzo. Per esempio, dieci lanci con obiettivo tre chiedono se TTT appare almeno una volta in qualunque posizione. Le altre teste non influiscono sull’evento. Se la serie richiesta supera il totale dei lanci, non può essere contenuta nell’esperimento; la capacità restituisce un errore di input per rendere evidente la configurazione incoerente.
Come viene calcolata la probabilità
Sommare le probabilità che una serie inizi in ogni posizione produce una risposta errata, perché le serie candidate si sovrappongono. In TTTT, per esempio, una serie di tre inizia in due posizioni, ma l’esito va contato una sola volta. Il calcolatore evita questo doppio conteggio con la programmazione dinamica. Dopo ogni lancio registra la probabilità che l’obiettivo non sia ancora comparso e che la sequenza termini con zero, una, due o più teste consecutive, fermandosi prima della lunghezza obiettivo. Una croce riporta tutti i percorsi superstiti allo stato zero; una testa li fa avanzare, mentre quelli che raggiungono l’obiettivo escono dagli stati senza serie. Al termine, la somma degli stati superstiti dà la probabilità di non osservare mai la serie. Sottraendola da uno si ottiene la probabilità richiesta. Il metodo valuta direttamente l’evento, è deterministico ed evita l’errore di campionamento delle simulazioni Monte Carlo.
Come interpretare e usare il risultato
La risposta riporta la probabilità fra zero e uno, la percentuale equivalente e probability_no_streak, cioè l’evento complementare. Un valore di 0.5078125 indica che la serie compare in circa il 50.78125 per cento degli esperimenti svolti con queste ipotesi; non predice una singola sequenza. Ripetendo molte volte l’esperimento, la frequenza osservata dovrebbe avvicinarsi al valore calcolato, pur con una normale variabilità casuale. Usi il complemento per studiare l’assenza di serie, per esempio in una partita, e confronti varie lunghezze per vedere come schemi rari diventino plausibili aumentando le opportunità. Il modello vale specificamente per una moneta equa e lanci indipendenti. Monete truccate, dipendenze, regole di arresto o serie di entrambi i lati richiedono un calcolo diverso. Il limite di mille lanci mantiene reattivo lo stesso algoritmo puro nel browser e tramite API. Ogni chiamata automatizzata costa $0.002; nella pagina è disponibile anche l’esecuzione locale.
Casi d'uso
Verificare una lezione di probabilità
Confronti l’intuizione con la probabilità esatta di osservare teste consecutive in un esperimento definito.
Progettare una regola di gioco
Stimi quanto spesso si attiverà durante una partita un bonus basato su più teste consecutive.
Pianificare prove ripetute
Scelga un numero di lanci che renda una serie obiettivo abbastanza comune da dimostrare senza simulazioni.
Domande frequenti
Che cosa significa almeno una serie?
La serie richiesta compare una o più volte in qualsiasi posizione. Una serie più lunga la contiene e viene conteggiata.
Viene calcolato esattamente quel numero di teste?
No. Si calcolano teste consecutive, indipendentemente dalle altre. Per un totale esatto, usi un calcolatore binomiale.
Perché la serie non può superare i lanci?
Non potrebbe rientrare nell’esperimento. La capacità restituisce un errore di input per segnalare la richiesta incoerente.
Il risultato deriva da una simulazione?
No. Una programmazione dinamica deterministica considera le sovrapposizioni e restituisce la probabilità matematica senza campionamento casuale.
Supporta monete truccate e quanto costa l’API?
No; ogni lato ha probabilità di un mezzo e i lanci sono indipendenti. Ogni richiesta API costa $0.002; può anche usare il calcolatore nel browser.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"tosses": 10,
"streak": 3
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.coin_streak",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_tosses | 1000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |