Prob. hipergeométrica
Ao tirar 5 cartas de um baralho de 52 com 4 ases, saem exatamente 2 ases em cerca de 4 % das mãos: 6 vezes 17296 das 2598960 mãos possíveis. Informe população, sucessos, retiradas e alvo e receba o valor exato. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Tamanho da população
- 52
- K
- 4
- N
- 5
- K
- 2
- Probabilidade
- 0,0399298181
- Coeficiente de sucesso
- 6
- Coeficiente de falha
- 17296
- Coeficiente total
- 2598960
A amostragem sem reposição é o cenário cotidiano de cartas, lotes de controle de qualidade e modelos de urna: cada extração muda a composição do que resta, de modo que ensaios sucessivos não são independentes. Quando uma população finita de tamanho N contém exatamente K estados de sucesso e você extrai n itens de uma vez ou em sequência sem devolvê-los, a chance de observar exatamente k sucessos segue a função de massa de probabilidade hipergeométrica. Essa fórmula multiplica as formas de escolher k sucessos entre os K bons pelas formas de escolher as extrações restantes entre os não sucessos, e divide pelas formas de escolher qualquer amostra de tamanho n de toda a população. Esta capacidade aceita N, K, n e k, valida que os parâmetros sejam coerentes com um experimento legal sem reposição, e devolve a probabilidade junto com coeficientes binomiais exatos como strings decimais, uma string curta de fórmula e o intervalo factível de k para esses N, K e n. Combinações impossíveis, como mais sucessos na amostra do que existem na população, são rejeitadas com erro de validação claro em vez de um zero silencioso.
Como a probabilidade hipergeométrica funciona sem reposição
Comece com uma população finita de N itens distintos dos quais exatamente K estão rotulados como sucesso (ases, defeituosos, peixes marcados, bilhetes premiados). Você extrai uma amostra de tamanho n sem reposição, de modo que a ordem das extrações não cria combinações novas: todo subconjunto de tamanho n é igualmente provável. Seja X o número de sucessos nessa amostra.
Então X segue uma distribuição hipergeométrica, e a probabilidade de observar exatamente k sucessos é C(K, k) vezes C(N menos K, n menos k) dividido por C(N, n), onde cada C(a, b) é um coeficiente binomial que conta combinações. O suporte de X não é simplesmente de zero a n: k não pode exceder K nem n, e não pode cair abaixo de max(0, n menos (N menos K)), porque você pode ser forçado a pegar alguns sucessos quando o pool de não sucessos se esgota.
Checagens clássicas incluem um baralho de 52 cartas com quatro ases, extraindo cinco cartas e pedindo exatamente dois ases: C(4, 2) vezes C(48, 3) sobre C(52, 5). Outro caso de livro é uma urna com vinte bolas das quais oito são vermelhas, extraindo cinco e pedindo exatamente três vermelhas.
Casos de borda importam para a correção: se n é zero então só k igual a zero tem probabilidade um; se K é zero então só k igual a zero é possível quando n é positivo; se k fica fora do intervalo factível os parâmetros são inconsistentes para este modelo.
Esta implementação nunca usa amostragem de Monte Carlo, sementes aleatórias, relógio de parede nem consultas de rede: calcula coeficientes binomiais exatos com aritmética BigInt e avalia a probabilidade de forma numericamente estável para que produtos intermediários se comportem bem com N maiores.
Onde as probabilidades hipergeométricas aparecem no trabalho real
Cursos introdutórios de estatística e matemática discreta pedem constantemente a chance de exatamente k itens marcados em uma mão ou amostra extraída sem reposição, de problemas de cartas no estilo pôquer a esboços de recaptura de peixes marcados que motivam a amostragem de populações finitas. Engenheiros de qualidade usam a mesma função de massa quando um lote de tamanho N contém K defeituosos e um inspetor extrai n unidades, precisando da probabilidade de achar exatamente k peças ruins antes de aceitar ou rejeitar o lote.
Ecólogos e desenhistas de pesquisas comparam recuperações de marcas observadas com expectativas hipergeométricas quando a população de indivíduos marcados é conhecida e a amostragem é sem reposição. Cientistas de dados validam simuladores de Monte Carlo de urnas finitas e baralhos comparando frequências amostradas com a probabilidade hipergeométrica em forma fechada para N modestos antes de escalar simulações. Educadores constroem gabaritos e autocorretores que precisam de um único valor determinístico em vez de uma simulação aleatória que mudaria entre execuções.
Designers de jogos e demos de probabilidade muitas vezes expõem padrões de baralho e urna ainda permitindo controle total de N, K, n e k para ensinar a dependência da composição populacional. Se mais tarde precisar da distribuição acumulada P(X menor ou igual a k), tabelas do teste exato de Fisher, quantis inversos ou odds binomiais de ensaios independentes com reposição, trate-os como intenções de busca separadas em vez de sobrecarregar esta página.
Mantenha N dentro do limite documentado para que a latência do nível gratuito fique previsível, e lembre que a probabilidade em ponto flutuante é ideal para ranking e limiares enquanto os coeficientes em string permanecem exatos para checagens combinatórias.
Casos de uso
Cartas, urnas e lições de estatística
Calcule probabilidades exatas sem reposição para mãos, extrações de urna e problemas hipergeométricos de livro com gabaritos determinísticos.
Checagens de simuladores e Monte Carlo
Valide código de amostragem de populações finitas contra a f.m.p. hipergeométrica em forma fechada para N modestos antes de confiar em extrações em larga escala.
Perguntas frequentes
Qual fórmula esta ferramenta usa?
A função de massa de probabilidade hipergeométrica: P(X=k) = C(K,k) × C(N−K, n−k) / C(N,n), para amostragem sem reposição de uma população finita.
Como isso difere da probabilidade binomial de moedas?
A binomial (com reposição ou ensaios independentes) mantém a chance de sucesso fixa em cada ensaio. A hipergeométrica modela extrações sem reposição de uma população finita, então cada extração muda a composição restante.
O que acontece se os parâmetros forem inconsistentes?
Exemplos: K maior que N, n maior que N, k maior que n ou K, ou k fora do suporte factível max(0, n−(N−K))…min(n, K).
Os coeficientes binomiais são exatos?
Sim. C(K,k), C(N−K, n−k) e C(N,n) são calculados com BigInt e devolvidos como strings decimais para que cada dígito seja exato dentro do intervalo de N suportado.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/prob/hypergeometric \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"N":52,"K":4,"n":5,"k":2}'const res = await fetch("https://api.kit.forhosting.com/prob/hypergeometric", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"N": 52,
"K": 4,
"n": 5,
"k": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/prob/hypergeometric",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"N": 52,
"K": 4,
"n": 5,
"k": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/prob/hypergeometric", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"N":52,"K":4,"n":5,"k":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"N":52,"K":4,"n":5,"k":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/prob/hypergeometric", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"N": 52,
"K": 4,
"n": 5,
"k": 2
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "prob.hypergeometric",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
min_N | 0 |
max_N | 10000 |
min_K | 0 |
min_n | 0 |
min_k | 0 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
O que você envia e o que recebe de volta
Mensagens de erro nomeiam o campo ofensivo ou a combinação inconsistente para que clientes de formulário e scripts corrijam a requisição sem adivinhar. Forneça quatro inteiros obrigatórios: N (tamanho da população; aliases population, pop ou population_size), K (sucessos na população; aliases successes_pop, good, marked ou population_successes), n (extrações ou tamanho da amostra; aliases draws, sample ou sample_size), e k (sucessos na amostra; aliases successes, observed ou sample_successes). Campos ausentes, não inteiros, decimais onde se exigem inteiros, valores negativos, K maior que N, n maior que N, k maior que n, k maior que K, e qualquer k fora do suporte hipergeométrico factível são rejeitados com invalid_input e não são cobrados. Em caso de sucesso a resposta sempre inclui o N, K, n e k normalizados; probability como número de ponto flutuante de zero a um; coefficient_success, coefficient_failure e coefficient_total como strings decimais exatas de C(K, k), C(N menos K, n menos k) e C(N, n); formula como string curta de exibição da razão hipergeométrica; e feasible_min_k mais feasible_max_k descrevendo o suporte legal de k sob esses parâmetros. Checagens de exemplo: N igual a 52, K igual a 4, n igual a 5, k igual a 2 produz a probabilidade clássica de dois ases e o triplo de coeficientes de uma mão de cinco cartas; N igual a 20, K igual a 8, n igual a 5, k igual a 3 produz um problema de urna padrão; N igual a 10, K igual a 3, n igual a 5, k igual a 4 produz invalid_input porque quatro sucessos não podem aparecer quando só existem três na população; N igual a 50, K igual a 60 é rejeitado porque K excede N. O preço de chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação não consomem saldo pré-pago.
Onde as probabilidades hipergeométricas aparecem no trabalho real
Como esta capacidade é um motor de parse puro, o preço da API é a base publicada de US$ 0,002 por item bem-sucedido e validação falha não consome saldo.
Casos de integração
Inspeção de lotes e controle de qualidade
Dado um lote de tamanho N com K defeituosos e uma amostra de n unidades, obtenha P(exatamente k defeituosos) para exemplos de ensino aceitar/rejeitar e fixtures.