Extensional acyclic digraphs are acyclic digraphs whose vertices have pairwise different sets of out-neighbors; they represent hereditarily finite sets, which stand at the basis of some computer languages. In this paper we give an O(n^3) algorithm for generating uniformly at random an extensional acyclic digraph on n vertices. This is done by first proposing a linear-time algorithm for encoding such digraphs by particular (n−1)-tuples of subsets of {0,…,n−2}. We then give a new counting recurrence for such tuples, which we exploit in ranking/unranking algorithms. These are also useful for indexing data structures by hereditarily finite sets.
Ranking, unranking and random generation of extensional acyclic digraphs
RIZZI, ROMEO;
2013-01-01
Abstract
Extensional acyclic digraphs are acyclic digraphs whose vertices have pairwise different sets of out-neighbors; they represent hereditarily finite sets, which stand at the basis of some computer languages. In this paper we give an O(n^3) algorithm for generating uniformly at random an extensional acyclic digraph on n vertices. This is done by first proposing a linear-time algorithm for encoding such digraphs by particular (n−1)-tuples of subsets of {0,…,n−2}. We then give a new counting recurrence for such tuples, which we exploit in ranking/unranking algorithms. These are also useful for indexing data structures by hereditarily finite sets.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.