Hypergraph matching
In computational complexity theory, 3-Dimensional Matching is one of the famous Karp's 21 NP-complete problems. The problem can be formalized as:
Given , and are disjoint. Does there exist a mathcing such that each element of exists in exactly one set of ?
Note that two-dimensional matching, known as bipartite matching, is solvable in polynomial time. But any dimension higher than 3, is in NP.
Example
A common mathcing example is marriage problem - men and women want to get married. And each of them only wants to marry to certain people with opposite sexes. The question is whether it's possible to let every of them marry to the person they want.
Now 3-Dimensional Matching adds n houses in consideration. Each man and woman won't get married unless they can move in certain houses. And no house can be lived by more than one couple. Then is it possible to have all couples get married.
Exact Cover by 3-Sets
Given a finite set with elements and a collections of subsets with exact 3 elements. Does there exist a cover with sets for ? Which means, every element of exists in exactly one set.
Complexity
3-Dimensional Matching, as mentioned above, is NP-Complete, since we can deduce this problem into 3-SAT.