Em livro chamado ἱστορία Ἰουδαϊκοῦ πολέμου πρὸς Ῥωμαίους βιβλία, para encurtar: A Guerra Judaica, o historiador hebreu Flávio Josefo conta o que aconteceu após a captura de Jerusalém por Antíoco IV no ano de 164 aC até a destruição dessa cidade em 70 aC. Perdido o original em aramaico, ficamos com uma tradução grega (e também uma versão eslava, segundo me contou há muitos anos um amigo envolvido com o historiador). O Projeto Gutenberg disponibiliza uma antiga tradução inglesa da tradução grega, ed. Weidmann 1895.
Consta que Josefo fosse sagaz; mas que tenha usado problem-solving skills para salvar a sua vida pode ser novidade para muita gente. Vejamos o que escreveu no livro 3, capítulo 8, parágrafo 7 (pela habitual numeração de Whiston), no qual conta o ocorrido durante a tomada de Yodefat יוֹדְפַת em 67 aD pelos romanos, quando Josefo e 40 soldados ficaram presos em uma caverna, sob o encalço dos romanos:
Ὁ δ᾽ ἐν ταῖς ἀμηχανίαις οὐκ ἠπόρησεν ἐπινοίας, ἀλλὰ πιστεύων τῷκηδεμόνι θεῷ τὴν σωτηρίαν παραβάλλεται, κἀπεὶ δέδοκται τὸθνήσκειν, ἔφη, φέρε κλήρῳ τὰς ἀλλήλων σφαγὰς ἐπιτρέψωμεν, ὁλαχὼν δ᾽ ὑπὸ τοῦ μετ᾽ αὐτὸν πιπτέτω, καὶ διοδεύσει πάντων οὕτως ἡ τύχη,μηδ᾽ ἐπὶ τῆς ἰδίας κείσθω δεξιᾶς ἕκαστος: ἄδικον γὰρ οἰχομένων τινὰ τῶνἄλλων μετανοήσαντα σωθῆναι.” πιστὸς ἔδοξεν ταῦτα εἰπὼν καὶσυνεκληροῦτο πείσας. ἑτοίμην δ᾽ ὁ λαχὼν τῷ μεθ᾽ αὑτὸν παρεῖχεν τὴνσφαγὴν ὡς αὐτίκα τεθνηξομένου καὶ τοῦ στρατηγοῦ: ζωῆς γὰρ ἡδίω τὸνμετὰ [τοῦ] Ἰωσήπου θάνατον ἡγοῦντο. καταλείπεται δ᾽ οὗτος εἴτε ὑπὸτύχης χρὴ λέγειν, εἴτε ὑπὸ θεοῦ προνοίας σὺν ἑτέρῳ, καὶ σπουδάζων μήθ᾽ὑπὸ τοῦ κλήρου καταδικασθῆναι μήτε, εἰ τελευταῖος λείποιτο, μιᾶναι τὴνδεξιὰν ὁμοφύλῳ φόνῳ πείθει κἀκεῖνον ἐπὶ πίστει ζῆν.
[Tradução bem relax] Nessa situação angustiante, entretanto, não perdeu a cabeça. Colocando-se sob a proteção divina, se jogou no perigo, dizendo: “galera, vamos tirar a sorte para ver quem vai morrer, já que esse é o nosso destino. Façamos assim: quem for sorteado será morto pelo próximo, até que o processo chegue ao final. Ninguém se matará, porque, né, vai que o cara decide desistir [μετανοέω] e cair fora [σώζω σῶς].” Acharam justo, etc. Ele também tirou a sua sorte. Quem tirava a sorte colocava o seu pescoço à disposição do outro que vinha a seguir. Sabiam que o general [romano] poderia entrar a qualquer momento. Preferiam morrer ao lado de Josefo — algo que julgavam mais doce que a vida. Por sorte ou misericórdia de Deus, Josefo foi o último, com mais um soldado. Acabou por convencer o soldado a permanecer vivo e confiar-se a ele em vez de sujar a sua mão direita com o sangue do seu compatriota.
Misericórdia de Deus, sorte ou astúcia? Dizem que Josefo era um notável combinatorialista nas horas vagas. Diz-se, com efeito, que os 40 rebeldes + Josefo formaram um círculo e que este último escolheu a posição correta a fim de escapar da morte (e foi o que essencialmente aconteceu: afinal, justo Josefo sobreviveu para contar a história). A ideia é que cada um ocupou uma das 41 posições no círculo, a sorte foi tirada e cada terceiro homem era morto; a cada volta completa, novos terceiros homens eram mortos entre os que tinham sobrado; o círculo foi diminuindo, diminuindo a cada volta, até que sobraram apenas Josefo e um “co-conspirador involuntário”, que ele convenceu a permanecer vivo com ele.
Eis o chamado “Problema de Josefo”: um círculo formado por 41 posições, que serão eliminadas uma a uma, de três em três: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 <||> 1 2 4 5 7 8 10 11 13 14 16 17 19 20 22 23 25 26 28 29 31 32 34 35 37 38 40 41, e assim por diante. O último a sobrar será o número 31, que não terá quem o faça desaparecer. Há obviamente uma solução para cada escolha de n, k, sendo n o número de homens e k o k-ésimo homem que será morto na contagem-sequência (no problema original, n = 41 e k = 3) . Josefo(n, k) denota a posição segura para a configuração proposta; no original, Josefo(41, 3) = 31. É possível formular um algoritmo para resolver qualquer instância do problema-Josefo. Boa sorte.
A tradição se formou para explicar como Josefo, um personagem especial, fora justamente aquele poupado pela sorte, ao lado de 40 homens; ele teria explicado o seu proceder aos romanos — o algoritmo usado — e contribuído, assim, para a sua fama de homem sagaz. O engenhoso Ulisses era um parvo se comparado ao lendário judeu, mestre na ars combinatoria. Arte cujo nome apareceria apenas com Leibniz e seria aplicada por ele a problemas jurídicos. Assunto para outro post.
.
ah, a formatação saiu toda errada… não é Python legal, agora… vai, de novo, com pontos para indicar as tabs:
from pylab import *
def josephus(n, k):
…if n > k:
…..print “error %d cannot be smaller than %d” % (n,k)
…..return 0
…l = arange(0,k)
…l += 1
…i = 0
…m = 0
…j = 0
…while(j < k):
…..if l[i] != 0 : m = (m+1)%n
…..if m == 0 and l[i] != 0:
……..l[i] = 0
……..j += 1
……..for v in l:
……….if v != 0: res = v
…..i = (i+1)%k
…return res
Muito bom, Victor. Ainda mais em Python! Só precisa ter o pylab instalado. Vou testar em casa.
pelos meus cálculos foram 39 soldados que morreram sob trapaça, enganados;
Além disso, pode bem ser que o leitor esteja sendo enganado. Acho improvável que Leibniz tenha sido antecipado dessa fora
Não é a versão integral, mas está em português: http://www.paulus.com.br/flavio-josefo-uma-testemunha-do-tempo-dos-apostolos_p_476.html
O trecho mencionado começa no último parágrafo da página 12.
Desconhecia totalmente esse talento Josefiano. Em homenagem a ele compartilho com vocês o “problema de prisioneiros” mais interessante que eu conheço: http://www.mast.queensu.ca/~peter/inprocess/prisoners.pdf