pair-roulette icon indicating copy to clipboard operation
pair-roulette copied to clipboard

Améliorer l'algorithme du matching de personnes

Open frinyvonnick opened this issue 5 years ago • 2 comments

Issue pour prendre des entrants sur le système de matchmaking

frinyvonnick avatar Oct 14 '19 18:10 frinyvonnick

Idealement un matchmaking pour votre application pourrait fonctionner avec un systeme de poids

Des exemples de facteurs sur lesquelles tu peux jouer:

Chaque langage de l'utilisateur a un point plus elevé en fonction de la priorité (priorité haute -> poids elevé)

Plus un utilisateur est en recherche rapidement, plus il a un poids elevé

Moins un langage est populaire, plus il a un poids elevé (pour éviter que les langages peu populaires ne trouvent jamais de matchs). Par exemple:

userA = [A, B, Z]
userB = [A, B]
userC = [Z]

Il vaut peut etre mieux matcher A et C plutot que A et B, car B va trouver un match facilement par rapport a C.

Tu fais le calcul de tous les matchs possiblent a chaque fois qu'une nouvelle personne entre dans la queue, et ensuite tu attribues les matchs en fonction des combinaisons qui ont le poids le plus élevé.

Tu peux aussi établir un poids minimum si tu veux éviter les matchs de qualité faible mais rapide, sachant que plus le temps passe plus le match de faible qualité augmentera en poids quand meme donc il finira par faire un match.

Dans l'idée tu peux ajuster l'aglorithme en fonction des résultats assez facilement en jouant sur le poids de chaque facteur par la suite, y comprit ajouter un poids bonus fixe pour les nouveaux utilisateurs.

Les poids peuvent augmenter de facon linéaire ou exponentiels en fonction des besoins.

Morphyish avatar Oct 14 '19 18:10 Morphyish

Merci pour ces informations très complètes @Morphyish 👍

frinyvonnick avatar Oct 15 '19 07:10 frinyvonnick