While working on a job distribution problem, I ended up hitting a graph problem that I can't seem to get a foothold on.
Consider a not-necessarily connected graph, like one shown below. Each step, we can delete up to N vertices from the graph, but can't delete two nodes if they are connected, only one or neither of the pair. Goal is to minimize the number of steps required to delete all vertices.
Example graph:
For example, for N=2, at step 1, we cannot delete 1 and 2 (as they are connected), but we can delete 1 and 5, since they are not connected. An example sequence of steps:
Step 1: delete nodes 0 and 2
Step 2: delete nodes 4 and 5
Step 3: delete nodes 1 and 6
And so on. There are "bad" sequences of steps, for example deleting all size 1 components before anything else. Any suggestions on where to learn more about this, or ways to generally solve this problem?