Le problème des 12, 39, 120, ..., boules.

Toute pesée livre un des trois résultats possibles : Gauche, Droite, Equilibre.

Unprotect[E];Clear[E];        (*Libère la notation, E, habituellement réservée en mathématiques*)

Exemple classique : 12 boules départagées en n=3 pesées par la méthode de Conway.

Tuples[{G,D,E},3]    (*Les (3^n)= 27 mots de trois lettres*)

Seuls 12 mots codent les boules; dans la méthode de Conway, ils occupent ces positions dans la liste précédente :

pos[n_]:=Position[DeleteCases[Transpose[Table[Transpose[Tuples[{0,1,2},n]][[j+1]]-Transpose[Tuples[{0,1,2},n]][[j]],{j,n-1}]],0,2],x__/;(First[x]==1 ∨ First[x]==-2)]

pos[3]

Voici les codes des 12 boules :

codes[n_]:=Extract[Tuples[{G,D,E},n],pos[n]]

codes[3]

Répartition des boules entre les plateaux lors de la mesure n° i

num[n_]:=Extract[Tuples[{0,1,2},n],pos[n]]

plateaugauche[n_,i_]:=Position[Transpose[num[n]][[i]],0]

plateaudroit[n_,i_]:=Position[Transpose[num[n]][[i]],1]

pesee[n_,i_]:={Extract[codes[n],plateaugauche[n,i]],Extract[codes[n],plateaudroit[n,i]]}

Voici comment se présentent les 3 pesées dans  l’exemple n=3 (4 boules bien choisies par plateau) :

Table[pesee[3,i],{i,3}]

Réponse finale : chaque pesée livre un symbole, G, D ou  E, et les symboles, pris dans l’ordre des pesées, livrent le mot qui identifie la boule défecteueuse. Si le mot est EEE, toutes les boules sont normales. GGG et DDD ne se produisent jamais.

Exemple moins classique : 39 boules départagées en n=4 pesées par la méthode de Conway.

Voici les codes des 39 boules :

codes[4]

Voici le détail des 4 pesées dans le cas n=4 (39 boules) : chaque pesée considère 13 boules (bien choisies !) dans chaque plateau.

Table[pesee[4,i],{i,4}]