Skip to main content
added 474 characters in body
Source Link
D.W.
  • 165.6k
  • 21
  • 230
  • 490

InputI'm looking for an algorithm that, given a directed bipartite graph, builds another graph (possibly with additional vertices) that has fewer total edges but the same reachability patterns. In particular:

The input to the algorithm is a bipartite directed graph: $G'=(V,E)$ with all edges directed from $L$ to $R$ (where $V=L\cup R$) and no repeated edges.

  • bipartite
  • directed
  • all edges are directed from part one to the part two
  • it's not a multigraph

The output should be a directed graph $G'=(V',E')$ that satisfies the following conditions, and that minimizes $|E'|$:

  • the graph$G'$ has all vertices from the input graph and possibly additional ones, i.e., $V \subseteq V'$
  • the graph has$G'$ no edges that are directed to the vertices of the part one of the initial graph
  • the graph hasinto $L$ and no edges that are directed from the vertices of the part two of the initial graphinto $R$
  • if there is anfor each edge between two vertices$\ell \to r$ in the input graph$G$, then there must beis a single path $\ell \leadsto r$ in $G'$ (one and only one dpath between them in the graphpath)
  • for each $\ell \in L, r \in r$, if there is no edge between two verticesa path $\ell \leadsto r$ in the input graph$G'$, then there must be no dpath between themis an edge $\ell \to r$ in the graph
  • note: graph can be bipartite or not
  • note: graph can have more vertices$G$

More specificallyIn particular, the output of the algorithm should be the minimal-edge-count graph among the set of all graphs that satisfy the above conditions.

Roughly speaking: given a directed bipartite graph, we want to find another directed graph that's "reachability-equivalent" in some sense and that has the fewest number of edges possible.

Question: is there an efficient algorithm for this task?

There is probably a loophole in my constraints. Here is a picture of these 'reachability-equivalent' graphs to show that it is possible to achieve a non-trivial reduction in the number of edges:

enter image description hereexample graphs

This is like finding a transitive reduction (or minimum equivalent graph) of a particular kind of dag, but where we're allowed to add additional vertices.

Input to the algorithm is a graph:

  • bipartite
  • directed
  • all edges are directed from part one to the part two
  • it's not a multigraph

The output should be a graph that satisfies the conditions:

  • the graph has all vertices from the input graph
  • the graph has no edges that are directed to the vertices of the part one of the initial graph
  • the graph has no edges that are directed from the vertices of the part two of the initial graph
  • if there is an edge between two vertices in the input graph, then there must be only one dpath between them in the graph
  • if there is no edge between two vertices in the input graph, then there must be no dpath between them in the graph
  • note: graph can be bipartite or not
  • note: graph can have more vertices

More specifically, the output of the algorithm should be the minimal-edge-count graph among the graphs that satisfy the above conditions.

Question: is there an efficient algorithm for this task?

There is probably a loophole in my constraints. Here is a picture of these 'reachability-equivalent' graphs:

enter image description here

I'm looking for an algorithm that, given a directed bipartite graph, builds another graph (possibly with additional vertices) that has fewer total edges but the same reachability patterns. In particular:

The input to the algorithm is a bipartite directed graph $G'=(V,E)$ with all edges directed from $L$ to $R$ (where $V=L\cup R$) and no repeated edges.

The output should be a directed graph $G'=(V',E')$ that satisfies the following conditions, and that minimizes $|E'|$:

  • $G'$ has all vertices from the input graph and possibly additional ones, i.e., $V \subseteq V'$
  • $G'$ no edges into $L$ and no edges into $R$
  • for each edge $\ell \to r$ in $G$, there is a single path $\ell \leadsto r$ in $G'$ (one and only one path)
  • for each $\ell \in L, r \in r$, if there is a path $\ell \leadsto r$ in $G'$, then there is an edge $\ell \to r$ in $G$

In particular, the output of the algorithm should be the minimal-edge-count graph among the set of all graphs that satisfy the above conditions.

Roughly speaking: given a directed bipartite graph, we want to find another directed graph that's "reachability-equivalent" in some sense and that has the fewest number of edges possible.

Question: is there an efficient algorithm for this task?

Here is a picture of these 'reachability-equivalent' graphs to show that it is possible to achieve a non-trivial reduction in the number of edges:

example graphs

This is like finding a transitive reduction (or minimum equivalent graph) of a particular kind of dag, but where we're allowed to add additional vertices.

added 53 characters in body
Source Link
D.W.
  • 165.6k
  • 21
  • 230
  • 490

Input to the algorithm is a graph:

  • bipartite
  • directed
  • all edges are directed from part one to the part two
  • it's not a multigraph

We look atThe output should be a all graphsgraph that satisfysatisfies the conditions:

  • the graph has all vertices from the input graph
  • the graph has no edges that are directed to the vertices of the part one of the initial graph
  • the graph has no edges that are directed from the vertices of the part two of the initial graph
  • if there is an edge between two vertices in the input graph, then there must be only one dpath between them in the graph
  • if there is no edge between two vertices in the input graph, then there must be no dpath between them in the graph
  • note: graph can be bipartite or not
  • note: graph can have more vertices

OutputMore specifically, the output of the algorithm: a should be the minimal-edge-count graph among the graphs that satisfy the above conditions.

Question: what is the goodthere an efficient algorithm for this task?

There is probably a loophole in my constraints. Here is a picture of these 'reachability-equivalent' graphs:

enter image description here

Input to the algorithm is a graph:

  • bipartite
  • directed
  • all edges are directed from part one to the part two
  • it's not a multigraph

We look at a all graphs that satisfy the conditions:

  • the graph has all vertices from the input graph
  • the graph has no edges that are directed to the vertices of the part one of the initial graph
  • the graph has no edges that are directed from the vertices of the part two of the initial graph
  • if there is an edge between two vertices in the input graph, then there must be only one dpath between them in the graph
  • if there is no edge between two vertices in the input graph, then there must be no dpath between them in the graph
  • note: graph can be bipartite or not
  • note: graph can have more vertices

Output of the algorithm: a minimal-edge-count graph among the graphs that satisfy the above conditions.

Question: what is the good algorithm?

There is probably a loophole in my constraints. Here is a picture of these 'reachability-equivalent' graphs:

enter image description here

Input to the algorithm is a graph:

  • bipartite
  • directed
  • all edges are directed from part one to the part two
  • it's not a multigraph

The output should be a graph that satisfies the conditions:

  • the graph has all vertices from the input graph
  • the graph has no edges that are directed to the vertices of the part one of the initial graph
  • the graph has no edges that are directed from the vertices of the part two of the initial graph
  • if there is an edge between two vertices in the input graph, then there must be only one dpath between them in the graph
  • if there is no edge between two vertices in the input graph, then there must be no dpath between them in the graph
  • note: graph can be bipartite or not
  • note: graph can have more vertices

More specifically, the output of the algorithm should be the minimal-edge-count graph among the graphs that satisfy the above conditions.

Question: is there an efficient algorithm for this task?

There is probably a loophole in my constraints. Here is a picture of these 'reachability-equivalent' graphs:

enter image description here

picture
Source Link
Velkan
  • 111
  • 3

Input to the algorithm is a graph:

  • bipartite
  • directed
  • all edges are directed from part one to the part two
  • it's not a multigraph

We look at a all graphs that satisfy the conditions:

  • the graph has all vertices from the input graph
  • the graph has no edges that are directed to the vertices of the part one of the initial graph
  • the graph has no edges that are directed from the vertices of the part two of the initial graph
  • if there is an edge between two vertices in the input graph, then there must be only one dpath between them in the graph
  • if there is no edge between two vertices in the input graph, then there must be no dpath between them in the graph
  • note: graph can be bipartite or not
  • note: graph can have more vertices

Output of the algorithm: a minimal-edge-count graph among the graphs that satisfy the above conditions.

Question: what is the good algorithm?

There is probably a loophole in my constraints. Here is a picture of these 'reachability-equivalent' graphs:

enter image description here

Input to the algorithm is a graph:

  • bipartite
  • directed
  • all edges are directed from part one to the part two
  • it's not a multigraph

We look at a all graphs that satisfy the conditions:

  • the graph has all vertices from the input graph
  • the graph has no edges that are directed to the vertices of the part one of the initial graph
  • the graph has no edges that are directed from the vertices of the part two of the initial graph
  • if there is an edge between two vertices in the input graph, then there must be only one dpath between them in the graph
  • if there is no edge between two vertices in the input graph, then there must be no dpath between them in the graph
  • note: graph can be bipartite or not
  • note: graph can have more vertices

Output of the algorithm: a minimal-edge-count graph among the graphs that satisfy the above conditions.

Question: what is the good algorithm?

Input to the algorithm is a graph:

  • bipartite
  • directed
  • all edges are directed from part one to the part two
  • it's not a multigraph

We look at a all graphs that satisfy the conditions:

  • the graph has all vertices from the input graph
  • the graph has no edges that are directed to the vertices of the part one of the initial graph
  • the graph has no edges that are directed from the vertices of the part two of the initial graph
  • if there is an edge between two vertices in the input graph, then there must be only one dpath between them in the graph
  • if there is no edge between two vertices in the input graph, then there must be no dpath between them in the graph
  • note: graph can be bipartite or not
  • note: graph can have more vertices

Output of the algorithm: a minimal-edge-count graph among the graphs that satisfy the above conditions.

Question: what is the good algorithm?

There is probably a loophole in my constraints. Here is a picture of these 'reachability-equivalent' graphs:

enter image description here

grammar
Source Link
Velkan
  • 111
  • 3
Loading
Post Reopened by David Richerby, Raphael
edited tags
Link
Raphael
  • 72.9k
  • 30
  • 181
  • 393
Loading
leave graphs only
Source Link
Velkan
  • 111
  • 3
Loading
clarify the graph problem definition
Source Link
Velkan
  • 111
  • 3
Loading
Post Closed as "Needs details or clarity" by David Richerby, Evil, Raphael
graps tag
Link
Velkan
  • 111
  • 3
Loading
graphs
Source Link
Velkan
  • 111
  • 3
Loading
added 36 characters in body
Source Link
Velkan
  • 111
  • 3
Loading
explain the example
Source Link
Velkan
  • 111
  • 3
Loading
corrected the second example and explanation
Source Link
Velkan
  • 111
  • 3
Loading
Source Link
Velkan
  • 111
  • 3
Loading