2
$\begingroup$

Let $\mathcal{F}$ be the family of strongly connected digraphs with $\leq 9$ vertices, up to isomorphism.

Asuume that a directed edge from vertex $v$ to $w$, if exists, is unique; and in this case, there is no directed edge from $w$ to $v$.

Is this family easy to enumerate, say using GAP or SAGE?


Note: The elements of $\mathcal{F}$ have following properties:

(1) Each graph $G$ in $\mathcal{F}$ is connected and has $\leq 9$ vertices.

(2) For any distinct vertices $v,w$ of $G$, there is a directed path from $v$ to $w$.

(3) [Edit-from Smylic's comment]Every vertex has at least one incoming and one outgoing edge.

(4) If there is directed edge from $v$ to $w$, then no directed edge from $w$ to $v$.

Is it easy to obtain enumeration of the family $\mathcal{F}$, say using some softwares such as GAP, SAGE etc.?

I have handeled GAP for groups, but no idea whether we can handle directed graphs there.

Any suggestions for this problems? Also I would appreciate for suggestions of references on such graphs, their properties.

$\endgroup$
4
  • $\begingroup$ Can you give some details on which types of properties you might be interested in? Right now, your question is very broad ... $\endgroup$ Commented Mar 2, 2017 at 12:58
  • $\begingroup$ I edited and wrote as precise as possible the question; hope that it is clear. $\endgroup$
    – p Groups
    Commented Mar 2, 2017 at 13:04
  • 1
    $\begingroup$ Did you mean in (3) that vertex has at least one incoming edge and at least one outgoing edge? (Otherwise you are considering only directed cycles.) $\endgroup$
    – Smylic
    Commented Mar 2, 2017 at 14:02
  • $\begingroup$ yes, you are right. I edited it. Thanks for noticing it. $\endgroup$
    – p Groups
    Commented Mar 2, 2017 at 14:35

1 Answer 1

0
$\begingroup$

It took less that second to compute those up to 5 vertices, less than minute for up to 6 vertices. I guess you could run this up to 8 vertices in a week, but ninth vertex needs something more clever.

N = 5
def f(g):
    v = g.order()-1
    if v < 1: return True
    for v_ in g.neighbor_out_iterator(v):
        if g.has_edge(v_, v):
            return False
    return True
sum(1 for g in digraphs(N, augment='vertices', property=f) if g.is_strongly_connected())
$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .