Counting acyclic digraphs by sources and sinks
Discrete Mathematics
Combinatorial algorithms: generation, enumeration, and search
ACM SIGACT News
An efficient algorithm for computing bisimulation equivalence
Theoretical Computer Science
Generating connected acyclic digraphs uniformly at random
Information Processing Letters
On arithmetic computations with hereditarily finite sets, functions and types
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
Counting extensional acyclic digraphs
Information Processing Letters
Computational Logic and Set Theory: Applying Formalized Logic to Analysis
Computational Logic and Set Theory: Applying Formalized Logic to Analysis
Hi-index | 0.89 |
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.