Skip to main content
Log in

Efficient coding of labeled directed acyclic graphs

  • Focus
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

 We use an adaptation of the Prüfer code for trees to encode labeled directed acyclic graphs, which are often abbreviated to DAGs (or ADGs). In this paper, each DAG is assigned a unique DAG code, which allows an easy handling for several purposes. The set of all possible DAG codes (and therefore the set of all DAGs) for a fixed number of n vertices can be generated efficiently. Furthermore, we are able to rank DAGs, i.e., we provide an algorithm that assigns every DAG a unique number in the set {0,…,a n −1}, where a n is the cardinality of the set of labeled DAGs with n≥1 vertices, and we are able to unrank DAGs, which is the inverse operation. We also gain recurrence relations, which can be used to calculate a n and a n,q , i.e., the number of DAGs with n vertices and q edges. Finally, it is possible to generate, enumerate, rank and unrank DAGs with given number of edges and also DAGs with bounded indegree.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Author information

Authors and Affiliations

Authors

Additional information

RID="*"

ID="*" This research was supported by the Austrian Science Fund (FWF), P13261-INF.

I want to thank the reviewers, specially the one who suggested to add the algorithm for unranking DAG codes, for reading the paper very carefully and for the helpful comments.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Steinsky, B. Efficient coding of labeled directed acyclic graphs. Soft Computing 7, 350–356 (2003). https://doi.org/10.1007/s00500-002-0223-5

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-002-0223-5

Navigation