Iso-Repräsentanten aller schwach-zusammenhängenden gerichteten Graphen mit bis zu 10 Bögen

Habt ihr auch schon einmal eine Hypothese oder Konstruktion, die sich um (schwach) zusammenhängende gerichtete Graphen dreht, testen wollen? In disem Fall stellt sich schnell heraus, dass es sehr ressourcenintensiv sein kann, kanonisch-gelabelte Repräsentanten on-the-fly zu erzeugen, z.B. mit sage. Außerdem ist die Wahrscheinlichkeit groß, dass diese Repräsentanten später immer wieder benötigt werden. Nachdem ich einige Rechenzeit in die Erzeugung von Repräsentanten gesteckt hatte, habe ich versucht, aus dem Internet eine Datenbank mit kanonisch-gelabelten gerichteten Graphen herunterzuladen — habe aber keine gefunden! Also habe ich mit sage selbst so eine Datenbank erstellt, die jedem um die 12 Stunden Rechenzeit sparen hilft (link: github.com/immanuel-albrecht/databases).

Die SQL-Anfrage

SELECT arcs, COUNT() AS nbr_of_digraphs FROM (SELECT ID, COUNT() AS arcs FROM weakly_connected  AS tmp1  GROUP BY ID) AS tmp2 GROUP BY arcs  

ergibt:

arcs    nbr_of_digraphs
   1    1
   2    4
   3    12
   4    53
   5    237
   6    1,306
   7    7,537
   8    47,913
   9    322,253
  10    2,297,874

Ein Vergleich mit dem entsprechenden OEIS-Eintrag

1, 4, 12, 53, 237, 1306, 7537, 47913, 322253, 2297874, ...

… ergibt, dass das kanonische Labeling in sage wohl korrekt implementiert wurde 🙂

Dissertation eingereicht

Dissertation

Es ist vollbracht! Am Dienstag habe ich meine Dissertation an der FernUniversität in Hagen eingereicht. Das Datum der Verteidigung steht noch nicht fest, ich halte euch auf dem Laufenden.

Jackson 8-Saiter Modifikation

Okay, hier mal ein kleiner Überblick über die Mods die ich an meiner neuen Jackson SLATFXQMG 3-8 TGR gemacht habe. Als erstes habe ich Schaller Security Locks als Ersatz für das Locking-System von Jackson angebaut. Der Grund dafür war lediglich, dass ich die Schaller Locks auch in allen anderen Gitarren habe, und ich gerne die Gurte unter den Gitarren tauschen können mag. Weiterlesen

Programmer’s Dvorak mit Umlauten und ß auf Mac OS X 10.10

Wer, wie ich, Debians Programmer’s-Dvorak-Tastaturlayout gewohnt ist, und dies auch mit einem Mac benutzen möchte, wird leider feststellen, dass OS X 10.10 (und wahrscheinlich auch ältere Versionen) nur das Standard-Dvorak-Layout unterstützt. Und da die beiden Layouts den ‘:’ unter unterschiedliche Tasten legen, kann ein Umstieg für Vim-Benutzer ziemlich nervig sein. Weiterlesen

Datenaustausch zwischen C und Python 3

Heute möchte ich ein kleines Python-3-Skript vorstellen, welches den Austausch von Binärdaten zwischen Python 3- und C-Code vereinfacht. Da ich Python als Mittel der Wahl für die Konvertierung von Datenformaten ansehe, mit diesen Daten — vorallem bei größeren Datensätzen — jedoch in der Regel in C arbeite, lohnt es sich, den Datenaustausch zumindest ein Stück weit zu automatisieren. Weiterlesen