Digraphs icon indicating copy to clipboard operation
Digraphs copied to clipboard

Read dreadnaut digraphs

Open wilfwilson opened this issue 4 years ago • 6 comments

This was raised in issue #15, but as far as I know never implemented. @mtorpey said he'd added a Trello card for this, but I think that's somewhat inactive now 🙂

See https://github.com/digraphs/Digraphs/issues/15#issuecomment-261236109

wilfwilson avatar May 25 '21 08:05 wilfwilson

@wilfwilson any idea of where the dreadnaut format is defined?

james-d-mitchell avatar Nov 10 '21 14:11 james-d-mitchell

@forktree

james-d-mitchell avatar Nov 10 '21 14:11 james-d-mitchell

This is an example file in "dreadnaut" format:

nautest1.dre.txt

james-d-mitchell avatar Nov 10 '21 15:11 james-d-mitchell

Help output from Drednaut on the command line, for reference:

Dreadnaut (Debian 2.6r10+ds-1ubuntu1) version 2.6 (64 bits).
> h
 Modes: An = dense, As = sparse, At = Traces; extra + to convert graph
 +- a : write automs     v,vv : write degrees    *=# : select invariant:
    b : write canong      w=# : set worksize (units of 2m)
 +- c : canonise            x : run nauty          -1 = user-defined
 +- d : digraph or loops  y=# : set tc_level        0 = none
    e : edit graph          z : write hashcode      1 = twopaths
 -f, f=#, f=[...] : set colours                     2 = adjtriang(K=0,1)
    g : read graph        $=# : set origin          3 = triples
  h,H : help               $$ : restore origin      4 = quadruples
    i : refine              ? : type options        5 = celltrips
    I : refine using invar  _ : compl  __ : conv    6 = cellquads
    j : relabel randomly    % : Mathon doubling     7 = cellquins
 k=# # : set invar levels   & : type colouring      8 = distances(K)
  K=# : set invar param    && : + quotient matrix   9 = indsets(K)
  l=# : set line length   >ff : write to file      10 = cliques(K)
 +- m : write markers    >>ff : append to file     11 = cellcliq(K)
  n=# : set order      ->/->> : close/flush output 12 = cellind(K)
    o : write orbits      <ff : read from file     13 = adjacencies
 +- p : set autom format    @ : save canong        14 = cellfano
    q : quit                # : canong = savedg?   15 = cellfano2
  r,R : relabel/subgraph   ## : + write mapping    16 = refinvar
  s=# : random g (p=1/#) sr=# : random reg   "..." : copy comment
 -G,G=# : schreier param  F=# : fix extra vertex  FF: fix target vertex
  t,T : type graph          ! : ignore line        O : orbits->partition
 +- P : keep group         PP : add automorphism    Type H for more..
> H
 Commands for g and e : 
    There is always a "current vertex" v, initially first vertex.
    # : add edge v-#       ; : increment v (exit if over limit)
   -# : delete edge v-#   #: : set v := #
    ? : list nbhs of v     . : exit
 Mode change:   An = dense nauty, As = sparse nauty, At = Traces
 Use An+, As+ or At+ to also convert graph between dense and sparse
 Command line argument -o options  allows a,c,d,m,p,l,G,P,w,y,$,A,V,M
 Syntax for f :  f=[2 3|4:9|10]  (rest in extra cell at right)
                -f same as f=[], f=# same as f=[#]
 Syntax for r :  r 2:4 1 5;    (rest appended in order)
 r& relabels the graph and partition in order of the partition
 Syntax for R :  R 2:4 1 5;   or  -R 0 3 6:10;
 Syntax for PP :  PP 2:4 1 5 0; (must be complete)
 Arguments for u : 1=node,2=autom,4=level,16=ref,32=canon (add them)
 Accurate times: M=#/# set number of runs and minimum total cpu.

mtorpey avatar Nov 10 '21 15:11 mtorpey

I don't know anything about dreadnaut format. The manual for Nauty Traces just talks about graph6, sparse6, and digraph6 encodings in §19 of its manual: https://pallini.di.uniroma1.it/Guide.html

However, on this page of the Nauty Traces website https://pallini.di.uniroma1.it/Graphs.html there are many data files containing graphs, and there are separate tabs for "DIMACS format" and "dreadnaut format" - so perhaps the format specification can be deduced by downloading and looking at the files from the "dreadnaut format" tab.

wilfwilson avatar Nov 10 '21 16:11 wilfwilson

Looking at those files, in combination with the information in http://manpages.ubuntu.com/manpages/trusty/man1/dretog.1.html (the non - arguments) and what @mtorpey posted, I reckon it can be worked out.

wilfwilson avatar Nov 10 '21 16:11 wilfwilson