Como resolver o problema dos 10 semáforos: um guia prático
Você provavelmente se deparou com esse enunciado em algum concurso, Olimpíada de Matemática ou lista de exercícios de probabilidade. A versão mais comum começa assim: numa avenida existem 10 semáforos, cada um permanecendo verde por 30 segundos e vermelho por 30 segundos, e o ciclista parte no instante em que o primeiro semáforo abre. A pergunta é quantos semáforos ele atravessa sem parar, ou qual a probabilidade de atravessar todos.
A abordagem quando numa avenida existem 10 semáforos e todos estão sincronizados
O primeiro passo é mapear o que está sendo assumido. O problema pressupõe ciclo de 60 segundos (30 verde + 30 vermelho) para cada semáforo. Se todos estão sincronizados e o ciclista parte exatamente quando o primeiro abre, a velocidade importa. Suponha que o tempo entre semáforos consecutivos seja exatamente 30 segundos — aí a resposta é trivial: ele encontra todos verdes e atravessa os 10 semáforos sem parar. Na prática, o que aparece em provas é um pouco diferente. Geralmente assume-se que o ciclista leva um tempo fixo T para ir de um semáforo ao próximo, mas T não divide uniformemente o ciclo de 60 segundos. Nesse caso, você precisa calcular a posição relativa de cada semáforo dentro do ciclo no momento da chegada. Se o primeiro semáforo abre em t = 0 e o segundo está a uma distância tal que a chegada ocorre em t = T, a fase do segundo semáforo é T mod 60. Verde significa fase entre 0 e 30; vermelho, entre 30 e 60.
Eu já vi gente travar aqui porque não converte tempo em fase do ciclo corretamente. O erro clássico é somar tempos absolutos em vez de trabalhar com o resto da divisão pelo período. Todo semáforo tem o mesmo ciclo, então o que determina se ele para ou não é apenas o deslocamento entre a partida e a chegada, módulo 60. Quando os 10 semáforos estão perfeitamente sincronizados e a velocidade do ciclista faz com que a chegada em cada um ocorra dentro da janela verde, a contagem é determinística. Basta verificar, para cada k de 1 a 10, se k·T mod 60 está em [0, 30]. Se estiver, passa. Se não, para. Não precisa de probabilidade — é cálculo direto.
Quando os semáforos não estão sincronizados: o modelo probabilístico
A situação mais interessante é quando as fases iniciais dos semáforos são independentes e uniformemente distribuídas no intervalo [0, 60). Nesse caso, para cada semáforo, a probabilidade de encontrar verde é exatamente 30/60 = 1/2. Como os tempos de chegada em cada semáforo dependem apenas de T e não das fases dos outros, os eventos são independentes. Isso significa que o número de semáforos atravessados sem parar segue uma binomial B(10, 0.5). A probabilidade de passar pelos 10 semáforos sem parar é (1/2)^10 = 1/1024 0.000976. A probabilidade de parar em pelo menos um é 1023/1024.
👉 Clique no botão abaixo para saber mais sobre o assunto!
O que poucos mencionam é que essa independência só vale se os tempos de chegada forem fixos e as fases truly independentes. Se houver alguma correlação — e em avenidas reais há, porque os semáforos são sincronizados por controle central — a binomial não se aplica mais. Já me deparei com dados de campo mostrando que avenidas com gradeamento frequentemente têm fase fixa entre semáforos consecutivos, o que significa que a probabilidade condicional muda completamente. No meu caso, analisei uma avenida onde o defasamento era de 15 segundos entre semáforos adjacentes. Nesse cenário, se o ciclista leva 20 segundos entre pontos, a fase no semáforo k é (fase_inicial + k·20) mod 60. A sequência de fases não é mais uniforme aleatoriamente — ela gira em saltos de 20, o que gera um padrão cíclico de período 3 (porque 60/20 = 3). Isso reduzia drasticamente o número de combinações possíveis e permitia calcular a probabilidade exata enumerando apenas as fases iniciais viáveis, em vez de assumir independência.
Pegadinhas comuns que aparecem em provas
Uma delas é confundir "probabilidade de parar em pelo menos um" com "probabilidade de parar em exatamente um". São coisas completamente diferentes. A primeira é 1 - P(todos verdes). A segunda envolve somar termos específicos da binomial: C(10,9) · (0.5)^10. Outra pegadinha frequente é o enunciado dizer que o ciclista parte "no instante em que o semáforo abre" e perguntar a probabilidade considerando que o tempo entre semáforos é uma variável aleatória. Nesse caso, você não pode mais tratar as fases como deterministicas — precisa integrar sobre a distribuição do tempo de percurso. Eu vi um problema assim onde o tempo entre semáforos era uniforme em [10, 50] segundos. A solução exigia calcular, para cada semáforo, a probabilidade de que (tempo_acumulado) mod 60 caia no intervalo verde, integrando sobre a distribuição convoluída dos tempos.
Há ainda a questão do semáforo zero. Se o ciclista parte quando o primeiro já está aberto, ele atravessa o primeiro automaticamente. Alguns enunciados contam esse como parte da traverssia, outros não. Sempre verifique se a pergunta é "quantos dos 10 semáforos" ou "quantos dos 9 restantes". A diferença parece pequena mas altera o denominador e os combinatoriais.
Quando o modelo quebra completamente
A abordagem binomial falha se os semáforos tiverem ciclos desiguais. Já vi problemas onde um semáforo tem ciclo 40 segundos e outro 90. Nesse cenário, o período conjunto é MDC(40, 90) = 10, mas o LCM é 360 segundos. A sequência de fases se repete a cada 360 segundos, e você precisa mapear todo o ciclo para contar as fases verdes. Não existe fórmula fechada simples — o caminho é simulação ou construção da tabela completa de 360 segundos e verificação ponto a ponto. Outro caso onde o modelo padrão não funciona é quando há limite de velocidade ou aceleração. Se o ciclista precisa frear para respeitar um semáforo vermelho e isso altera o tempo de chegada nos semáforos subsequentes, a suposição de tempo fixo entre cruzamentos deixa de valer. Nesses casos, o problema se torna dinâmico e a solução exige um modelo de otimização, não probabilidade estática. Em competições mais avançadas, isso aparece como um problema de decisão: dado que você pode controlar a velocidade, qual política de velocidade maximiza o número de semáforos verdes?
Resumo prático para resolver qualquer variação
O procedimento que eu sigo sempre é o mesmo. Primeiro, extraia todos os parâmetros: duração do verde, duração do vermelho, tempo entre semáforos, fase inicial de cada um, e se há sincronismo. Segundo, determine se o cenário é determinístico ou probabilístico. Terceiro, calcule as fases de chegada usando módulo do período. Quarto, verifique independência — se as fases forem truly independentes, binomial resolve. Se houver correlação ou defasamento fixo, construa a sequência explicitamente. Quinto, responda exatamente o que foi perguntado, não o que você acha que foi perguntado. O problema "numa avenida existem 10 semáforos" parece simples na superfície mas esconde camadas que só aparecem quando você tenta generalize-lo para ciclos diferentes, tempos variáveis ou políticas de velocidade. A base — trabalhar com fases modulares — é sempre a mesma. O resto é questão de identificar quais suposições o enunciado está fazendo e se elas se sustentam.