Execução de Prisioneiros em Fila

Infelizmente, a legislação de Problemópolis ainda prevê a pena de morte, e o rei atual é particularmente sanguinário: dez prisioneiros deverão ser executados hoje.

Por outro lado, o artigo sobre pena de morte contém um certo parágrafo, não visto na maioria dos outros países:

  1. Toda vez que um certo número de prisioneiros tiver que ser executado, o seguinte procedimento deverá ser seguido. O carrasco os colocará em fila indiana, todos virados para a frente da fila, de modo que o último da fila veja todos os outros prisioneiros, o penúltimo veja todos exceto o último, e assim por diante: o prisioneiro no início da fila não verá ninguém. Em seguida, o carrasco lhes colocará chapéus pretos e brancos, da maneira que quiser, podendo até escolher aleatoriamente; a única restrição é que seja colocado exatamente um chapéu em cada condenado. Não deve ser permitido a nenhum deles ver seu próprio chapéu; apenas os chapéus dos prisioneiros que estão à sua frente, na fila.
  2. O carrasco fará as execuções de trás para a frente da fila, começando com o prisioneiro que pode ver todos os outros. A cada um, antes de morrer, deve-se perguntar a cor de seu chapéu. Se responder corretamente, será poupado; incorretamente, e será morto. Todos os prisioneiros deverão ouvir, claramente, todas as respostas, bem como o resultado de cada uma (morte ou salvação).
  3. Na noite anterior à execução, todos os prisioneiros deverão encontrar-se para discutir.

Que estratégia os dez prisioneiros devem adotar, para salvarem-se em maior número possível? No mínimo quantos serão salvos, no pior caso? E no melhor caso?

Se considerarmos Problemópolis como uma Atenas moderna, com sua preocupação com as coisas da mente, então Infinitópolis, cidade vizinha, certamente é Esparta: sua legislação é muito mais severa. Eis aqui os parágrafos correspondentes:

  1. Em Infinitópolis, não será desperdiçado dinheiro público nas preparações para a execução de um número finito de pessoas. Somente infinitas pessoas são executadas de cada vez. Porém, devido a limitações de espaço, somente um infinito enumerável de pessoas serão executadas de cada vez.
  2. Quando infinitos prisioneiros tiverem que ser executados, eles deverão ser postos em bijeção com os números naturais, configuração também conhecida como “fila indiana”. Todos os prisioneiros devem estar virados para o lado interminável da fila: o de número 1, último da fila, podendo ver todos os demais à sua frente; o de número 2, penúltimo, vendo todos exceto o de número 1, etc. Não haverá “primeiro da fila”: isto seria uma exaltação indevida do indivíduo, numa sociedade coletivista como a nossa.
  3. O carrasco colocará um chapéu em cada prisioneiro, preto ou branco, como melhor lhe aprouver. A escolha poderá ser aleatória. Nenhum prisioneiro poderá ver nenhum chapéu, exceto os daqueles prisioneiros que estiverem à sua frente.
  4. O carrasco iniciará a execução pelo fim da fila, no prisioneiro de número 1. A cada prisioneiro perguntará a cor de seu chapéu; matará os que errarem, e poupará os que acertarem. Não é permitido a nenhum prisioneiro ouvir as respostas dos outros, nem saber o resultado. Isto é assunto do Estado.
  5. Na noite anterior à discussão, os prisioneiros poderão se reunir para discutir.

Como o leitor pode ver, em Infinitópolis a vida é mais difícil. Porém, graças a este ambiente hostil, a população evoluiu certas adaptações, que auxiliam a sobrevivência. Uma delas é excelente visão: o prisioneiro de número 1 consegue mesmo enxergar a fila toda, e cada um dos outros enxerga toda a parte que se estende à sua frente. Outra adaptação é a memória: cada infinitopolita consegue guardar uma quantidade ilimitada de informação.

Existe uma estratégia que os prisioneiros podem adotar, que garante mais do que 50% de sobrevivência?

(A questão de como definir porcentagens pro caso infinito é sutil; aqui há algumas possibilidades. Por exemplo, salvar todos os prisioneiros de número par seria admirável, mas ainda “50%” no sentido da Wikipedia. Salvar todos os prisioneiros, exceto aqueles cujo número é um quadrado perfeito, seria salvar “100%” — é, em conjuntos infinitos a probabilidade é um pouco diferente. Salvar todos exceto os de número primo também seria “100%”, mas um pouco pior que o 100% anterior, pois a densidade dos primos entre 1 e N é aproximadamente 1/\log(N), para N grande, enquanto a densidade dos quadrados é 1/\sqrt{N}. Tente apenas fazer o melhor que vc puder.)

9 Responses to Execução de Prisioneiros em Fila

  1. Thiago Hirai disse:

    Exploring the loopholes:

    Já que você não restringiu isso, o primeiro prisioneiro poderia responder:
    “Olha, seu carrasco, a cor do _meu_ chapéu eu não sei, mas as cores de todos os outros são: (…)”. Assim 9 sempre vivem e o primeiro sempre morre. 😛

    Assumindo que as únicas respostas válidas sejam “branco” e “preto”:

    Uma estratégia simples é que a cada grupo de dois prisioneiros, digamos Pn e Pn-1, Pn responda com a cor de Pn-1 (que ele vê) e Pn-1 responda com a cor que Pn disse. Assim, para 10 prisioneiros, pelo menos 5 seriam sempre salvos. Os outros 5 podem ou não se salvar, dependendo da distribuição de chapéus que o carrasco escolheu. Particularmente se ele gostar de chapéus alternados, todos os outros 5 morrem. 😛

  2. Pietro disse:

    Thiago, esses loopholes sempre escapam. E olha que eu tive o cuidado de incluir a cláusula “eles podem decidir uma estratégia de antemão” pra evitar críticas de que, sem nada combinado, nada poderia ser feito… :o)

    A sua solução é boa, pois garante 50% de salvação, com os outros 50% sendo aleatórios (caso o carrasco escolha chapéus aleatoriamente). Bem melhor do que todo mundo falar coisas aleatórias! Porém, há uma estratégia ainda melhor para o caso finito.

    Relacionadamente, vc consegue dar um limite *inferior* sobre quantos prisioneiros vão morrer, no pior caso? (De qualquer estratégia.)

    Btw, há uma estratégia muito surpreendente para o caso infinito.

  3. Andre Lima disse:

    Consegui achar a solução ótima (ou me lembrar dela, porque acho que eu já conhecia o problema) para os prisioneiros de Problemópolis.

    Quanto a Infinitópolis, se eles não podem trocar informação alguma (pois “Não é permitido a nenhum prisioneiro ouvir as respostas dos outros, nem saber o resultado”), como é que definir uma estratégia pode alterar alguma coisa no resultado? Dar um exemplo disso seria entregar a resposta de bandeja?

  4. Pietro disse:

    Sim, incrivelmente, há algo que pode ser combinado que altera substancialmente o resultado. Este algo depende de modo crucial do fato de serem infinitas pessoas.

    Intuitivamente, quando há N pessoas na fila, a pessoa na posição k enxerga N-k pessoas, que, em algum sentido, é “menos informação” do que saber toda a fila de N. Porém, com infinitas, cada pessoa vê “infinita informação”, que é a mesma “quantidade” da fila toda. (A quantidade de aspas deve alertá-lo de que tudo isto é muito informal.)

    Talvez eu tenha sido um pouco misleading no enunciado do problema, falando sobre as diversas noções de “tamanho” pra um subconjunto dos naturais. A estratégia que tenho em mente não usa muito estas noções combinatórias e quantitativas; é mais qualitativa.

  5. Andre Lima disse:

    Intuitivamente, me parece que apostar na cor com maior “densidade natural” seria a resposta. Cada prisioneiro diria que a cor de seu chapéu é aquela mais predominante no restante visível da fila. Restaria calcular a expectiva de pessoas salvas com essa política, ou simplesmente provar que mais de 50% se salvariam assim. Vou tentar trabalhar em cima disso…

  6. Pietro disse:

    Esta estratégia deve superar dois obstáculos: primeiro, nem todo subconjunto de N tem uma densidade natural, como o artigo da Wikipedia mostra. E, obviamente, se um subconjunto não tem densidade natural, tampouco tem o seu complementar. Uma solução seria trabalhar com densidades inferior ou superior.

    Segundo, se o carrasco colocasse chapéus alternadamente brancos e pretos, ambos teriam densidade 1/2. Como decidir, neste caso? Note que qualquer decisão unânime neste caso resultaria em 50% de salvação.

  7. Nikolas e Akira disse:

    Esta explicação é meio simples, mas explicar em palavras ficara dificil, eu mostrarei exemplos ate o 5º, você vai ver que todos do 2º ao último irão sobreviver, e o primeiro tera 50% de sobreviver, e neste caso, podemos supor também que todos os prisoneiros apenas sabem as cores e não sabem se morreram ou viveram.
    Aqui vai :

    Devemos associar valores para cada cor, exemplo:

    P= Preto
    B= Branco

    Preto = 2
    Branco = 1

    Preto = Par
    Branco = Impar

    Vamos supor que o carrasco coloque essa ordem de cores:
    1 2 3 4 5 6 7 8 9 10
    P P B P B B P B B P
    ————-
    1º vê (PBPBBPBBP) que equivale à (2+1+2+1+1+2+1+1+2) = Número ímpar.

    Como Branco é igual à ímpar, 1º fala para o carrasco Branco (50% de acertar)
    ————-
    2º então sabe que a soma de todos os números que ele vê* + o dele é = à um número ímpar porque o primeiro somou todos e respondeu ao carrasco Branco, ou seja, a soma é ímpar.

    a = [Números que ele vê* = (1+2+1+1+2+1+1+2) = Ímpar]
    b = [Ao próprio número = ele não sabe se é par ou ímpar]

    a (3º ao 10º) + b (2º) + c (Nenhum) = 2º ao 10º [Soma de todos, que o 1º falou, ou seja ímpar]

    a + b = Impar
    Ímpar + b = Impar
    b = Impar – Impar
    b = Par
    b = Preto
    2º = Preto (100%)
    ————
    3º então sabe que a soma de todos os números que ele vê* + o dos anteriores (sem contar o 1º) + o dele é = à um número ímpar porque o primeiro somou todos e respondeu ao carrasco Branco, ou seja, a soma é ímpar.

    a = [Números que ele vê* = (2+1+1+2+1+1+2)= Par]
    b = [Ao próprio número = ele não sabe se é par ou ímpar]
    c = [Números anteriores# que ele ouviu (sem contar o 1º) = 2º = Par]
    a (4º ao 10º) + b (3º) + c (2º) = 2º ao 10º [Soma de todos, que o 1º falou = ímpar]

    a + b + c = Impar
    Par + b + Par = Impar
    b = Impar – 2 Par
    b = Impar
    b = Branco
    3º = Branco (100%)
    ————
    4º então sabe que a soma de todos os números que ele vê* + o dos anteriores (sem contar o 1º, neste caso apenas o 2º e o 3º) + o dele é = à um número ímpar porque o primeiro somou todos e respondeu ao carrasco Branco, ou seja, a soma é ímpar.

    a = [Números que ele vê* = (1+1+2+1+1+2)= Par]
    b = [Ao próprio número = ele não sabe se é par ou ímpar]
    c = [Números anteriores# que ele ouviu (sem contar o 1º) = 2º + 3º = Ímpar]
    a (5º ao 10º) + b (4º) + c (2º e 3º) = 2º ao 10º [Soma de todos, que o 1º falou, ou seja ímpar]

    a + b + c = Impar
    Par + b + Ímpar = Impar
    b = Impar – Impar – Par
    b = Par
    b = Preto
    4º = Preto (100%)
    ————
    5º então sabe que a soma de todos os números que ele vê* + o dos anteriores (sem contar o 1º, neste caso apenas o 2º, o 3º e o 4º) + o dele é = à um número ímpar porque o primeiro somou todos e respondeu ao carrasco Branco, ou seja, a soma é ímpar.

    a = [Números que ele vê* = (1+2+1+1+2)= Ímpar]
    b = [Ao próprio número = ele não sabe se é par ou ímpar]
    c = [Números anteriores# que ele ouviu (sem contar o 1º) = 2º + 3º + 4º = Ímpar]
    a (6º ao 10º) + b (5º) + c (2º, 3º e 4º) = 2º ao 10º [Soma de todos, que o 1º falou, ou seja ímpar]

    a + b + c = Impar
    Impar + b + Ímpar = Impar
    b = Impar – Impar – Impar
    b = Impar
    b = Branco
    5º = Branco (100%)
    ————
    E assim vai…
    Caso tenha alguma dúvida deixa um comentario que eu explico, ou caso veja um erro comente para que o próximo que leia veja o erro, porque as chances de eu errar nas palavras é muito facil (de tanto falar de pares, impares, +1 +2)…

    Podemos dizer que ficamos meia hora para resolver…
    e mais 1 hora para poder explicar aqui 😀

  8. Pietro disse:

    Sucesso, é isso mesmo! :o)

    Um follow-up interessante: vcs conseguem resolver o mesmo problema se os chapéus tiverem 3 possíveis cores diferentes (e.g. preto, branco e vermelho)? Ou k cores, em geral?

  9. Nikolas disse:

    sim, tbm dá, eu fiz mas eskeci de colocar aqui… axo que eu me lembre era assim :
    faz do msm jeito que eu fiz antes, mas substituindo os valores das cores para

    Branco – 0
    Vermelho – 2
    Preto – 6

    e o primeiro (o que vai ter 50% de morrer) conta os que ele vê
    e diz qual o ultimo algarismo (unidades):
    Vermelho – 0 e 2
    Preto – 4 e 6
    Branco – 8

    o carrasco coloca BVPBBPBBVV
    ex:o primeiro vê
    VPBBPBBVV = 18, e fala Branco(8), entao o da frente ja sabe que a soma dele mais os 8 que esta vendo dará algum numero terminado em 8, então ele soma o que ele vê (PBBPBBVV) que = 16, entao o unico numero que pode chegar a 8 é 2=Vermelho, então diz Preto e se salva….

Deixe um comentário