Bonjour,

je programme actuellement en python et je voudrais faire l’algorithme suivant :

j'ai 2 ensembles E et F contenant chacun le même nombre de sous-ensembles :

E = { (a), (a,b), (d), (a,g,h,k), (e,j,d), (d), ... }
F = { (c,e), (d,c) (d), (e,j,k), (c,e,h,d), ((f,b),... }

Je voudrais savoir s'il est possible de marier chaque élément de E avec un élément distinct de F :
- chaque élément de E ne doit être couplé qu'à un seul élément de F et réciproquement (polygamie interdite).
- il ne doit pas rester d'élément célibataire.

Exemples :

(a) + (a,f,g) = (a)
(d) + (d) = (d)
(f,j,e) + (j,a,d,u,e) = (j,e)
(h,c,d,e,g) + (d,c,k,l,h) = (c,d,h)

(e,u,l) + (a,d,j) = 0 (non mariable)

Sauriez-vous comment on traite ce problème, svp. Merci pour votre aide.

Cordialement
Arsène