Let me first explain the problem using an analogy.
LetsLet's say you have N$N$ doors and M$M$ keys. Each door can be opened with a combination of keys, each combination is also unique (iei.e. there wontaren't be two doors that are opened with same combination).
For an example, to open Door 1$1$ you need 3$3$ keys: A, B$A, B$ and C$C$. For Door 2$2$ you need 5$5$ keys: C, F, G, E$C, F, G, E$ and T$T$. All doors are accessible (there are no doors behind anothera door).
Now the question isNow the question is: If you can you chose k$k$ keys such that k < M, which keys should be picked$k < M$, so that with that combination of keys lets you can open morethe maximum number doors than withrespect to any other combination of k$k$ keys. and, if the answer to this question is affirmative, which keys should be picked?
This kind of problem cantcan't be solved with exhaustive searchby exhaustion since, in my case, there are 100$100$ keys and just generating all combinations would take centuries (there would be around 5.5E20$5.5\cdot 10^{20}$ combinations if k=20$k=20$).
Im not too knowledgeable in algorithms, but this seems like some kind of constraint satisfaction problem but not exactly. Anyway ImI'm kind of stuck. If I could just figure out what kind of problem this is and what its called I might just be able to solve this thing in less than a century.