Algo pour répartition participants speed-meeting

Eléphant du PHP | 168 Messages

11 déc. 2014, 10:54

Bonjour,

Développeur PHP dans de la création classique de sites webs, j'ai pour "défi" de réaliser un petit programme permettant pour un nombre donnée de participants, de les répartir sur X tables (le meuble) et x personnes par table. Quand chaque participant s'est présenté, tout le monde change de table et rencontre de nouvelles personnes. Le but étant dans un temps donné de voir le maximum de personnes sans croiser une même personne.

Ayant un parcours autodidacte, je n'ai jamais été confronté à faire de l'algorithmie, je ne sais donc même pas par où commencer et comment concevoir ce truc, des pistes ?

Merci

Mammouth du PHP | 737 Messages

11 déc. 2014, 15:07

Salut,

Changer de tables est une composante pour toi ? car dans le pire des cas tu gères une table membres et une table rencontres (par exemple) qui peut être sérialisé et tu fais en sorte que chaque série de chiffres générés ne soient pas déjà en base sinon tu proposes une nouvelle série avec de nouveaux ids. Si tu veux rajouter la composante table tu peux et ainsi chacun aura son parcours fléché...

Mega
;)
Dyslexics are teople poo

Eléphant du PHP | 168 Messages

11 déc. 2014, 16:39

Ce n'était pas des tables ( au sens base de donnée) mais bien physique, le meuble quoi :-)

C'est pour l'organisation d'un speed-meeting, chaque participant se voit associé à une table pour le tour 1 avec x autres personnes, puis quand tout le monde a parlé, changement de table avec d'autres nouvelles personnes, le but étant que personne ne se recroise.

Mammouth du PHP | 737 Messages

11 déc. 2014, 21:01

si si tkt j'avais bien compris.

C'est juste de savoir si le fait qu'un participant se retrouve 2 fois à la même table (le meuble) est un problème ou non.

Et savoir combien de personnes par table si c'est 2 ou 10.

Dans tous les cas ça change rien pour le meuble tu as juste une colonne à rajouter dans ta table de correspondances...

Autrement les participants doivent avoir un parcours pré-établi ou bien c'est du live ?

Autre question, quel est l'intérêt / but de l'outil informatique dans ta démarche ?

Mega
;)
Dyslexics are teople poo

Mammouth du PHP | 2278 Messages

12 déc. 2014, 14:05

C'est un problème de partitionnement:
Une vague idée:
Mettre tous les participants dans un seul tableau original
mélanger le tableau original
retirer l'élément 1 du tableau original
copier le tableau original dans un tableau provisoire
retirer de ce tableau provisoire autant de fois n membres qu'on veut de tablées différentes pour l'élément 1
mélanger le tableau original
retirer l'élément 2 du tableau original
copier le tableau original dans un tableau provisoire
retirer de ce tableau provisoire autant de fois n membres qu'on veut de tablées différentes pour l'élément 2
un truc dans ce gout:
<?PHP
$membres = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
$combinaisons = array();
$combinaisons[1] = array();
$combinaisons[1]['tete'] = array_shift($membres);
$pro = $membres;
shuffle($membres);
$morceaux = array_chunk ($membres,4);
print_r($morceaux);

?>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 168 Messages

12 déc. 2014, 15:01

Autrement les participants doivent avoir un parcours pré-établi ou bien c'est du live ?
Autre question, quel est l'intérêt / but de l'outil informatique dans ta démarche ?
Le but est de remettre une fiche à chaque participant en précisant le parcours qu'il devra faire à chaque tour, (table A, puis B, puis C, puis A par exemple), cela permet dans mon cas aux participants (des chefs d'entreprises) de voir un maximum de personnes, d'idées, de sujets avant de se retrouver tous ensemble et avoir cassé cette distance initiale.

Eléphant du PHP | 168 Messages

12 déc. 2014, 15:02

C'est un problème de partitionnement:
Une vague idée:
Mettre tous les participants dans un seul tableau original
mélanger le tableau original
retirer l'élément 1 du tableau original
copier le tableau original dans un tableau provisoire
retirer de ce tableau provisoire autant de fois n membres qu'on veut de tablées différentes pour l'élément 1
mélanger le tableau original
retirer l'élément 2 du tableau original
copier le tableau original dans un tableau provisoire
retirer de ce tableau provisoire autant de fois n membres qu'on veut de tablées différentes pour l'élément 2
un truc dans ce gout:
<?PHP
$membres = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
$combinaisons = array();
$combinaisons[1] = array();
$combinaisons[1]['tete'] = array_shift($membres);
$pro = $membres;
shuffle($membres);
$morceaux = array_chunk ($membres,4);
print_r($morceaux);

?>
Merci bien pour l'approche, je teste ça dès lundi ! Et reviens vers toi. :-)

Mammouth du PHP | 2278 Messages

13 déc. 2014, 18:37

Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 168 Messages

13 déc. 2014, 19:15

Oui j'étais tombé dessus avant de poster ici, mais je cherche plus l'autonomie dans la mise en place, et surtout savoir le faire/comprendre (savoir pécher et non me donner le poisson directement).

Mammouth du PHP | 2278 Messages

14 déc. 2014, 15:34

Je suis en rain de bosse sur:
http://jm.davalan.org/mots/comb/comb/combalgo.html
qui est extrêmement prometteur
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Petit nouveau ! | 2 Messages

18 déc. 2014, 10:03

ok, merci pour votre lien. je vais le bien parcourir :mrgreen:

Mammouth du PHP | 2278 Messages

19 déc. 2014, 15:44

Je l'ai écrit et ça fonctionne.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD