I ont été confrontés au problème suivant:résolution de problèmes d'adaptation bipartite maximale stochastique
- il y a deux ensembles disjoints,
A
etB
- pour chaque paire d'éléments (
a
,b
) (a
appartient à l'ensembleA
, oùb
appartient à l'ensembleB
) il y a une probabilitépij
est connu à l'avance. Il représente la probabilité (niveau de certitude) quea
correspond àb
, ou en d'autres termes, à quel pointa
correspondb
(et vice versa, carpij
==pji
). - I doivent trouver une correspondance avec la probabilité la plus élevée/la certitude et découvrir paires (
a
,b
) qui décrivent la mise en correspondance - chaque élément doit être adapté/couplé à un autre de l'autre jeu exactement une fois (comme dans le problème de correspondance biparti standard)
- si possible, je voudrais calculer un nombre qui exprime à peu près le niveau d'incertitude pour la mise en correspondance obtenue (disons que 0 représente estimation aléatoire et 1 représente la certitude)
un simple pratique exemple dans lequel un tel algorithme est requis est descri lit ci-dessous (ce n'est pas en fait le problème que je résous!):
- deux personnes sont invités à écrire des lettres a - z sur un morceau de papier
- pour chaque paire de lettres (
a
,b
) nous exécutons un modèle de correspondance pour déterminer la probabilité que la lettrea
écrite par la personneA
représente la lettreb
écrite par la personneB
. Cela nous donne la matrice de probabilité qui exprime une sorte de similitude corrélation pour chaque paire de lettres (a
,b
) - pour chaque lettre que personne
A
a écrit, nous devons trouver la lettre correspondante écrite par personneB
approche actuelle: Je me demande si je pouvais attribuer des poids qui sont proportionnels au logarithme du niveau de certitude/probabilité que l'élément a
de jeu A
correspond à l'élément b
du jeu B
, puis exécute l'appariement bipartite pondéré maximal pour trouver la somme maximale. Le logarithme est parce que je veux maximiser la probabilité totale de correspondance multiple, et puisque les correspondances simples (représentées comme des paires d'éléments appariés a
- b
) forment une chaîne d'événements, qui est un produit de probabilités, en prenant le logarithme que nous convertissons cette à une somme de probabilités, qui est ensuite facilement maximisée en utilisant un algorithme pour l'appariement bipartite pondéré, tel que l'algorithme hongrois. Mais je doute d'une certaine façon que cette approche assurerait le meilleur appariement en termes de maximum statistique attendu. Après avoir cherché un peu, le problème le plus proche que j'ai trouvé était un problème de pondération stochastique pondérée maximum en deux étapes, qui est NP-difficile, mais j'ai vraiment besoin d'un problème de pondération stochastique pondérée maximum en une étape.
J'ai trouvé une autre approche en attendant. Il existe un algorithme appelé algorithme hongrois qui résout le problème d'affectation. Puisque cet algorithme maximise la somme des probabilités, mais je suis réellement intéressé par leur produit (puisque j'ai une chaîne d '"événements"), je pourrais alors appliquer la fonction logarithme. Donc, mon approche actuelle est la suivante: 1) construire une matrice de probabilité pour l'appariement des probabilités dans un graphique bipartite; 2) prendre un logarithme naturel de chaque élément de la matrice; 3) exécuter l'algorithme hongrois pour maximiser la probabilité de tous les appariements. Comment ça sonne? – eold