Compte tenu d' une famille ensemble de sous - ensembles d'un univers . Soit et nous voulons répondre est .
Je recherche une structure de données qui me permettra d'y répondre rapidement. Mon application est de la théorie des graphes où je veux voir si la suppression d'un sommet et de son voisinage laisse des sommets isolés, et pour chaque sommet liste tous les sommets isolés qu'il laisse.
Je veux créer le poset complet ou éventuellement un tableaux stockant de vrais faux indiquant exactement quels ensembles sont des sous-ensembles les uns des autres.
Soit , et , supposons
Nous pouvons générer la matrice de confinement (le graphique bipartite) en temps puis créer le tableau de toutes les comparaisons en temps par pour chaque ensemble , parcourir tous les éléments de tous les autres ensembles et marquer le jeu en tant que pas un sous - ensemble de si l'élément se trouve pas dans . Temps total .
Pouvons-nous faire quelque chose plus rapidement? En particulier, le temps -il possible ou non?
J'ai trouvé quelques articles liés:
Un algorithme sub-quadratique simple pour calculer l'ordre partiel de sous-ensemble (1995) qui donne un algorithme .
L'ordre partiel du sous-ensemble: informatique et combinatoire améliore légèrement ce qui précède, mais affirme également que l'article ci-dessus résout le problème en temps où est le nombre maximal d'ensembles partageant un élément commun, mais je ne pouvais pas comprendre ce résultat.
Dans l'article Entre et O ( n α ), les auteurs montrent comment dans un graphique trouver les composants connectés après avoir supprimé le voisinage fermé d'un sommet en utilisant la multiplication matricielle. Ceci peut être utilisé pour calculer le poset d'inclusion défini en trouvant tous les composants qui sont des singletons avec un temps d'exécution de .
Cette discussion sur le forum est également liée: Quel est le moyen le plus rapide de vérifier l'inclusion d'un ensemble? ce qui implique une borne inférieure de .