Introdução: O milagre mais contraintuitivo da probabilidade
Em 2003, o cientista da computação dinamarquês Peter Bro Miltersen apresentou o famoso problema dos 100 prisioneiros:
- $100$ condenados à morte são numerados de $1$ a $100$. Em uma sala há $100$ caixas fechadas contendo os números de $1$ a $100$ embaralhados aleatoriamente (uma permutação $\sigma \in S_{100}$).
- Regra: Cada prisioneiro entra sozinho por vez e pode abrir no máximo $50$ caixas procurando seu próprio número. Ao sair, a sala é deixada exatamente como estava e toda comunicação é proibida após o início (mas uma estratégia pode ser combinada antes).
- Condição de sobrevivência: Somente se todos os $100$ prisioneiros encontrarem seu número todos são libertados; se um único falhar, todos os $100$ são executados.
Se cada prisioneiro abrir $50$ caixas ao acaso (estratégia independente), cada um tem chance $1/2$, mas a sobrevivência coletiva cai para:
$$\mathbb{P}(\text{todos sobrevivem})_{\text{indep.}} = \left(\frac{1}{2}\right)^{100} \approx 7.89 \times 10^{-31}$$Contudo, Sven Skyum descobriu a estratégia de rastreamento de ponteiros (Pointer-Following Strategy), que eleva a sobrevivência coletiva para $31.18\%$ sem transmitir um único bit de informação!
Capítulo 1: Rastreamento de ponteiros e decomposição em ciclos disjuntos
Para o prisioneiro número $k \in \{1, \dots, 100\}$, a estratégia de Skyum consiste em:
- Passo 1: Abrir primeiro a caixa n.º $k$.
- Passo 2: Se o bilhete interno mostrar $x_1 = k$, sucesso; se $x_1 \neq k$, abrir em seguida a caixa n.º $x_1$.
- Passo 3: Ler o número $x_2$ e abrir a caixa n.º $x_2$, seguindo a cadeia $k \mapsto \sigma(k) \mapsto \sigma^2(k) \mapsto \cdots$ até achar $k$ ou esgotar as $50$ tentativas.
flowchart TD
Start["O prisioneiro k entra na sala (máx. 50 tentativas)"]
Step1["Passo 1: Abrir a caixa k, ler o bilhete x = σ(k)"]
Check{"Bilhete x == k ?"}
Win["Número próprio k encontrado!"]
Limit{"Caixas abertas < 50 ?"}
Next["Seguir o ponteiro: Abrir a caixa x (x ← σ(x))"]
Lose["Não encontrado em 50 passos: Execução de todos"]
Start --> Step1 --> Check
Check -- "Sim" --> Win
Check -- "Não" --> Limit
Limit -- "Sim" --> Next --> Check
Limit -- "Não (comprimento do ciclo ℓ > 50)" --> Lose
Por que funciona? O mapeamento caixa $\mapsto$ bilhete é uma bijeção $\sigma$ do grupo simétrico $S_{2n}$ ($2n=100$). Toda permutação finita decompõe-se de forma única em ciclos disjuntos:
$$\sigma = C_1 \circ C_2 \circ \cdots \circ C_m, \qquad \sum_{i=1}^m |C_i| = 2n = 100$$Como $\sigma$ é bijetiva, partindo da caixa $k$ o prisioneiro percorre o único ciclo fechado que contém $k$ e termina em $\sigma^{-1}(k)$ (a caixa que guarda o bilhete $k$). Portanto:
- O prisioneiro $k$ tem sucesso em $\le 50$ passos se e somente se seu ciclo tiver comprimento $\ell \le 50$.
- Os $100$ prisioneiros sobrevivem todos se e somente se a permutação $\sigma \in S_{100}$ não contiver nenhum ciclo de comprimento $\ell > 50$!
Capítulo 2: Contagem de ciclos longos e números harmônicos ($1 - \ln 2$)
Para $2n$ prisioneiros ($n = 50$), uma permutação $\sigma \in S_{2n}$ pode ter no máximo um único ciclo de comprimento $\ell > n$, pois dois ciclos disjuntos de comprimento $> n$ somariam pelo menos $2n+2 > 2n$ elementos. Assim, os eventos $E_\ell := \{\sigma \text{ contém um ciclo de comprimento } \ell\}$ para $\ell = n+1, \dots, 2n$ são mutuamente exclusivos. O número de permutações em $E_\ell$ é:
- Escolher os $\ell$ elementos do ciclo longo: $\binom{2n}{\ell}$;
- Ordená-los em um único ciclo circular: $(\ell - 1)!$;
- Permutar os $2n - \ell$ elementos restantes: $(2n - \ell)!$.
Multiplicando, os fatoriais se cancelam:
$$|E_\ell| = \binom{2n}{\ell} \cdot (\ell - 1)! \cdot (2n - \ell)! = \frac{(2n)!}{\ell! \, (2n - \ell)!} \cdot (\ell - 1)! \, (2n - \ell)! = \frac{(2n)!}{\ell}$$Dividindo por $|S_{2n}| = (2n)!$, temos $\mathbb{P}(E_\ell) = \frac{1}{\ell}$. Usando os números harmônicos $H_N = \sum_{k=1}^N \frac{1}{k}$, a probabilidade exata de sobrevivência é:
$$\boxed{P_{\text{success}}(2n) = 1 - \sum_{\ell = n+1}^{2n} \frac{1}{\ell} = 1 - \left(H_{2n} - H_n\right) \xrightarrow{n \to \infty} 1 - \int_1^2 \frac{dx}{x} = 1 - \ln 2 \approx 30.685\%}$$Para $2n = 100$, obtemos $P_{\text{success}}(100) = 1 - (H_{100} - H_{50}) \approx \mathbf{31.1828\%}$.
Capítulo 3: Acoplamento de riscos sem transmissão de informação
flowchart TD
Pool["Risco total fixo: Esperança de falhas E[falhas] = 50"]
Indep["Estratégia independente: Falhas dispersas em quase todos os universos"]
Cycle["Seguimento de ciclos: Destinos acoplados à estrutura cíclica de σ"]
ResI["Pelo menos 1 falha em 99.99...92% dos universos → Sobrevivência ≈ 7.89×10⁻³¹"]
ResC["Falhas concentradas em 68.82% (ℓ>50) → 31.18% de universos com 100% de sucesso!"]
Pool --> Indep --> ResI
Pool --> Cycle --> ResC
| Característica | 1. Estratégia independente | 2. Estratégia de ciclos |
|---|---|---|
| Sucesso individual $\mathbb{P}(A_k)$ | $50.00\%$ | $50.00\%$ (idêntico) |
| Esperança de sucessos $\mathbb{E}[X]$ | $50$ prisioneiros | $50$ prisioneiros (idêntico) |
| Correlação | Nula (independente) | Fortemente acoplada via $\sigma$ |
| Sobrevivência dos $100$ | $(1/2)^{100} \approx 7.89 \times 10^{-31}$ | $1 - (H_{100} - H_{50}) \approx 31.18\%$ |
| Limite $n \to \infty$ | $0$ | $1 - \ln 2 \approx 30.685\%$ |
- Acoplamento (Coupling): Como 1 falha ou 51 falhas produzem a mesma condenação, a estratégia de ciclos concentra todas as falhas nos $68.82\%$ de permutações com um ciclo $\ell > 50$, liberando $31.18\%$ do espaço amostral com zero falhas!
- Defesa contra um diretor malicioso: Combinando antes uma bijeção aleatória secreta $\tau \in S_{100}$, a conjugação $\tau \sigma \tau^{-1}$ garante exatamente os $31.18\%$ de sobrevivência.
