Étant donné une famille d'au plus sous-ensembles de . La fermeture de l' union \ mathcal F est un autre ensemble famille \ mathcal C contenant tout ensemble qui peut être construit en prenant l'union de 1 ou plusieurs ensembles de \ mathcal F . Par | \ mathcal C | on note le nombre de jeux dans \ mathcal C . n { 1 , 2 , … , n } F C F | C | C
Quel est le moyen le plus rapide pour calculer la fermeture d'un syndicat?
J'ai montré une équivalence entre la fermeture d'union et la liste de tous les ensembles indépendants maximaux dans un graphe bipartite, donc nous savons que décider de la taille de la fermeture d'union est # P-complet.
Cependant, il existe un moyen de lister tous les ensembles indépendants maximaux (ou cliques maximales) en temps pour un graphe à nœuds et bords Tsukiyama et al. 1977. Mais ce n'est pas spécialisé pour les graphes bipartis.
Nous avons donné un algorithme pour les graphes bipartis avec runtime http://www.ii.uib.no/~martinv/Papers/BooleanWidth_I.pdf
Notre méthode est basée sur l'observation que tout élément de peut être fait par l'union d'un autre élément de et d'un des ensembles originaux. Par conséquent, chaque fois que nous ajouterons un élément à essaierons de le développer par l'un des ensembles originaux. Pour chacun de ces ensembles nous devons vérifier si elles sont encore en . Nous stockons comme un arbre de recherche binaire, donc chaque recherche prend time.
Est-il possible de trouver la fermeture d'union en temps ? Ou même dans le temps ?