I'm facing tho following problem:
let's say u is a social network user and as such has a list of friends, F(u). a partition is a function F->G, where G is a set of groups such as High-school, university, work, etc'.
I need to come up with algorithm to partite F:
- the input is F and also F(f) for every f in F (the list of friends for each of u's friends).
- during it's run the algorithm is allowed to ask u questions (for example "what is the best group for some specific user v?").
- The amount of question should be kept to minimum (what is minimum is not really a clear number, but I would say 5% of the number of friends seem about right).
obviously the resulting partition would not be optimal, but it should be acceptable as a starting point for later refinements.
any thoughts would be greatly appreciated
edit: no it's not homework. i believe homework would have clearer defined requirements and target function. anyway no, this is actually real world problem i'm facing.
also i may have simplified it a bit, but in reality a user could be part of many groups (so it's more like F->P(G), where P(G) is the power group if G), so a better algorithm would be able to do that.