Maximal disjoint subset problem

  • Thread starter Thread starter mXSCNT
  • Start date Start date
AI Thread Summary
The discussion centers on the problem of finding a maximal subset of a collection of sets S = {s1, s2, ..., sn} such that all sets in the subset are pairwise disjoint. The complexity of this problem is highlighted, with a suggestion that it may be NP-complete. The conversation identifies a potential connection to the max clique problem in graph theory, where each node in a graph G = (V,E) corresponds to a set s(n). The relationship established indicates that two nodes are connected by an edge if their corresponding sets are disjoint. This leads to the conclusion that the problem of finding the maximum size of a pairwise disjoint subset of S can be reduced to finding the max clique in the graph, confirming that the problem is NP-complete.
mXSCNT
Messages
310
Reaction score
1
We have a set of sets S = {s1, s2, ..., sn}. We seek a maximal subset of S, such that the sets in that subset are all pairwise disjoint.

How difficult is this? Is it NP-complete? Does this problem have a name?
 
Technology news on Phys.org
I don't think that this problem has a name. It may be possible to formulate this as a dynamic programming problem, think about that a little if you will.
 
Oh, I just realized it is the max clique problem... for a given graph G = (V,E), assign each node a set s(n). Let s(n) = {(n,b) | b != n and the edge (n,b) is not in the graph}. That implies there is an edge between two nodes a,b if and only if s(a) and s(b) are pairwise disjoint. So the maximum size pairwise disjoint subset of S = {s(n) | n is in V} consists of the sets corresponding to nodes in the max clique of the graph. This reduction is polynomial time, so my maximal disjoint subset problem is NP-complete.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...
Back
Top