1
$\begingroup$

Given a digraph, the following problem, informally, is to find a partition of its vertices into an ordered list of sets, such that the direction of edges connecting vertices in different sets corresponds with the order given to the list of sets.

It is, in a way, finding an underlying hierarchical structure in a graph by grouping its vertices in "small" sets.

Definitions

Let $G$ be a digraph with cardinality $n$ and let $k\in\mathbb{N}$. We say that $S_1,\dots,S_h$ is a hierarchical $k$-partition of $G$ if

  • $\{S_i\}$ is a partition of the set of vertices of $G$.
  • $|S_i|\leq k$ for every $1\leq i\leq h$.
  • For every edge $(v,u)$ (an edge from $v$ to $u$) in $G$ such that $v\in S_i$ and $u\in S_j$, we have $j\leq i$.

The set $S_i$ is called the $i$-th layer in the partition and we say that a hierarchical $k$-partition is minimal if $h$ is minimal.

Example

Let $G$ be a digraph on the vertex set $\{a,b,c,d\}$ with the edge-set $\{(b,a),(b,c),(c,a),(c,b),(d,b),(d,c)\}$.

$\{a\},\{b,c\},\{d\}$ is a minimal hierarchical $2$-partition of $G$. It is, in fact, the only $2$-partition of $G$.

Problems

Let $G$ be a digraph and let $k\in\mathbb{N}$.

  • Define (an efficient) algorithm to find a (minimal if possible) hierarchical $k$-partition of $G$ if it exists.
  • Find the time complexity of the above problem.

I would, of course, appreciate references to related works or any directions.

Thank you

Initial Thoughts

To solve feasibility, we could contract cycles recursively till the graph is acyclic. Then if the "size" of the maximal contracted node is smaller than $k$ there exists a hierarchical $k$-partition. The minimal partition would follow by finding an appropriate linear extension (?).

1 Answers 1

1

It would be better not to contract cycles, but to find strongly connected components. At first it is faster, secondly it gives you a topological ordering of these components. This ordering gives you an easy and fast way to find a (not minimal) hierarchical $k$-partition of $G$ if it exists.

Finding minimal hierarchical $k$-partition is more hard problem, I'm not sure it is polynomially solvable.

EDIT. 3-PARTITION problem is NP-complete in the strong sense (see textbook Computers and Intractability: A Guide to the Theory of NP-Completeness by M. R. Garey and D. S. Johnson, p. 224, [SP15]). This problem can be reduced in polynomial time to the minimal hierarchical $k$-partition problem. Therefore your problem is NP-hard.

  • 0
    Thanks @Smylic, I think I was practically (inefficiently) finding the poset of strongly connected components. Do you have a direction to proving that finding a minimal hierarchical $k$-partition is hard?2017-03-23
  • 0
    I've edited the answer.2017-03-23
  • 1
    Excellent! It is NP-Hard before even considering the poset structure of the strongly connected components. Thank you :)2017-03-23
  • 0
    now that we see we can ignore the poset structure of the components, doesn't a direct reduction to bin packing seem easier?2017-03-28
  • 0
    To show NP-hardness we need to reduce NP-hard problem to our, not vice versa2017-03-28
  • 0
    I meant from bin packing of course. Every bin packing prob. can be translated (in linear time) to a $k$-partition problem. $k$ is the bin size, and the graph is made of a union of (disjoint) cycles. One for each package, and of the same size. A solution with minimal $h$ corresponds with the minimal number of bins needed.2017-03-29