G251. Rumeurs et mondanités
Par diverses rumeurs, N pipelets ont eu connaissance du dernier scandale qui secoue la ville mais chacun dispose d’informations très partielles qui ne se recoupent pas nécessairement entre elles. Tous réunis, ils parviendraient à reconstituer l’histoire complète de ce scandale.
Au cours de conversations téléphoniques exclusivement bilatérales, ils échangent toutes les informations en leur possession et à l’issue d’un nombre minimal de cent appels
téléphoniques ils parviennent à tout savoir du scandale. Trouver N.
Ces mêmes pipelets décident de mieux se connaître et de se rendre visite en tête-à-tête.
N’importe quel pipelet peut répondre à plusieurs invitations dans une même journée mais le jour où il reçoit successivement un ou plusieurs invités, il doit rester chez lui. Quel est le nombre minimum de journées qui permettent à chaque pipelet de rencontrer tous ses pairs ?
Solution de Paul Voyer:
Question 1 :
Au maximum, T serait égal à 2N-2 (un pipelet unique centraliserait et redistribuerait de/vers les (N-1) autres).
Pour N=2, le nombre T d'appels est 1.
Pour N=3, T=3.
Pour N=4, T=4 (AB et CD, puis AC leur donne B et D, et BD leur donne A et C).
Pour une efficacité optimale, il faut éviter les appels qui ne véhiculeraient pas dans au moins une direction :
- une info que personne d'autre n'a (N appels en tout), ou - toute l'info qui manque à un pipelet pour compléter.
L'idéal est que ces deux conditions soient réunies, chacune dans une direction.
Ensuite, l'ajout d'un pipelet ayant une information que les autres n'ont pas exige : - un appel du nouveau vers un existant,
- la mise à jour des existants entre eux, sauf si couvert par : - un rappel du nouveau par un existant à jour,
soit 2 appels ou
- un appel du nouveau vers un existant,
- la mise à jour des existants entre eux sauf un si : - le rappel du nouveau par cet existant le mettra à jour, ce qui est le cas seulement pour l'ajout du quatrième pipelet, soit 1 appel.
Cette méthode est la plus économique en appels, tous les appels satisfaisant aux conditions d'efficacité énoncées plus haut.
Par récurrence, T=2N-4 à partir de N=4.
Le nombre de pipelets est donc N=(T+4)/2=52.
Question 2
N=2, J=1
N=3, J=2 ; C visite A et B, qui, immobilisés, se voient le lendemain.
N=4, J=2 ; A et B reçoivent C et D, puis A et C reçoivent respectivement B et D.
N=5, J=3 ; E reçoit tout le monde, puis A, B, C et D nécessitent 2 jours pour se voir.
N=8, J=3 ; E, F, G, H reçoivent A, B, C, D, puis les deux groupes de 4 se voient en 2 jours.
N=16, J=4 ; 8 reçoivent les 8 autres, puis chaque groupe de 8 se voit en 3 jours, etc…
On peut dire que J=plafond(log2(N);1) =entier(log2(N-1))+1, fonction également connue sous le nom de ceiling.
Pour N=52, J=6.
Tous les pipelets peuvent se rencontrer en 6 jours.