Instruction set for the representation of graphs
Organizations: Department of Computer Languages and Computer Science, University of Málaga, Bulevar Louis Pasteur, 35, 29071 Málaga, Spain · ITIS Software. Universidad de Málaga. C/ Arquitecto Francisco Peñalosa 18, 29010, Málaga, Spain
Abstract
We present IsalGraph, a method for representing the structure of any finite, simple graph as a compact string over a nine-character instruction alphabet. The encoding is executed by a small virtual machine comprising a sparse graph, a circular doubly-linked list (CDLL) of graph-node references, and two traversal pointers. Instructions either move a pointer through the CDLL or insert a node or edge into the graph. A key design property is that every string over the alphabet decodes to a valid graph, with no invalid states reachable. A greedy GraphToString algorithm encodes any connected graph into a string in time polynomial in the number of nodes; an exhaustive-backtracking variant produces a canonical string by selecting the lexicographically smallest shortest string across all starting nodes and all valid traversal orders. We evaluate the representation on five real-world graph benchmark datasets (IAM Letter LOW/MED/HIGH, LINUX, and AIDS) and show that the Levenshtein distance between IsalGraph strings correlates strongly with graph edit distance (GED). Together, these properties make IsalGraph strings a compact, isomorphism-invariant, and language-model-compatible sequential encoding of graph structure, with direct applications in graph similarity search, graph generation, and graph-conditioned language modelling
Figures & tables
| Instr. | Type | Effect on state |
|---|---|---|
| Primary move (forward) | ||
| Primary move (backward) | ||
| Secondary move (forward) | ||
| Secondary move (backward) | ||
| Node insertion via primary | Add new node to ; add edge to ; insert into immediately after . | |
| Node insertion via secondary | Add new node to ; add edge to ; insert into immediately after . |
| IAM LOW | IAM MED | IAM HIGH | LINUX | AIDS | ||
|---|---|---|---|---|---|---|
| Prop. | 1,180 | 1,253 | 2,059 | 89 | 769 | |
| Pairs | 695,610 | 784,378 | 2,118,711 | 1,685 | 131,148 | |
| 3.07 | 3.17 | 4.56 | 8.35 | 10.70 | ||
| Spear. | Canonical | 0.934 ∗∗∗ | 0.876 ∗∗∗ | 0.682 ∗∗∗ | 0.433 ∗∗∗ (-0.012) | 0.349 ∗∗∗ |
| Greedy-Min | 0.908 ∗∗∗ (-0.027) | 0.862 ∗∗∗ (-0.014) | 0.625 ∗∗∗ (-0.057) | 0.445 ∗∗∗ | 0.304 ∗∗∗ (-0.045) | |
| Greedy-rnd( ) | 0.706 ∗∗∗ (-0.228) | 0.682 ∗∗∗ (-0.195) | 0.577 ∗∗∗ (-0.105) | 0.301 ∗∗∗ (-0.144) | 0.251 ∗∗∗ (-0.098) |