Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Algorithm to find fewest number of tags that encompass all items?

I'm thinking this might be NP-complete, but I'll ask anyway. Greedy algorithms don't seem to work in my head.

Given a set of items, each with 1 or more tags, I want to find the smallest set of tags that cover all the items.

Edit: See my "solution" here.

like image 282
mpen Avatar asked Oct 09 '10 05:10

mpen


1 Answers

This is the Set Cover problem, which is NP-complete. Each tag defines a subset of your list of items, and you want to find the minimum number of subsets (tags) whose union equals the full list of items.

like image 101
Jim Lewis Avatar answered Sep 21 '22 01:09

Jim Lewis