Skip to main content
QUICK REVIEW

[Paper Review] Aspects of enumeration and generation with a string automata representation

Marco Almeida, Nelma Moreira|ArXiv.org|Jun 21, 2009
Algorithms and Data Compression5 references3 citations
TL;DR

This paper presents a unique string representation for initially-connected deterministic finite automata (ICDFA) over a k-symbol alphabet, enabling exact enumeration, uniform random generation, and optimal coding of ICDFA structures. By leveraging recursive counting and precomputed tables, the method allows efficient parallel counting of minimal automata and regular languages, with experimental results confirming that over 99% of ICDFA are minimal for k ≥ 3 and n ≥ 80.

ABSTRACT

In general, the representation of combinatorial objects is decisive for the feasibility of several enumerative tasks. In this work, we show how a (unique) string representation for (complete) initially-connected deterministic automata (ICDFAs) with n states over an alphabet of k symbols can be used for counting, exact enumeration, sampling and optimal coding, not only the set of ICDFAs but, to some extent, the set of regular languages. An exact generation algorithm can be used to partition the set of ICDFAs in order to parallelize the counting of minimal automata (and thus of regular languages). We present also a uniform random generator for ICDFAs that uses a table of pre-calculated values. Based on the same table it is also possible to obtain an optimal coding for ICDFAs.

Motivation & Objective

  • To develop a unique, canonical string representation for non-isomorphic initially-connected deterministic finite automata (ICDFA) without final states.
  • To enable exact enumeration and uniform random generation of ICDFA structures using recursive counting and precomputed tables.
  • To support efficient parallel counting of minimal automata and regular languages by partitioning the space of ICDFA.
  • To achieve optimal coding of ICDFA via a bijective mapping between integers and string representations.
  • To validate the conjecture that most ICDFA are minimal, especially for larger alphabets and state counts.

Proposed method

  • A canonical string representation is defined by breadth-first traversal of ICDFA structures, using a total order on the alphabet to ensure uniqueness.
  • A flag sequence tracks state transitions, and a recurrence relation computes partial sums to enable ordered enumeration and integer mapping.
  • The method uses precomputed tables of values derived from recurrence formulae to support uniform random generation and integer encoding.
  • Exact generation is achieved by constructing strings in lexicographic order using flag and symbol placement rules.
  • The inverse process maps integers to ICDFA by reversing the encoding using successive subtraction and modulo operations.
  • Parallelization is achieved by slicing the ICDFA universe based on initial string segments for distributed counting of minimal automata.

Experimental results

Research questions

  • RQ1Can a unique string representation of ICDFA be constructed to enable exact enumeration and uniform random generation?
  • RQ2How can recursive counting and precomputed tables be used to support optimal coding and random generation of ICDFA?
  • RQ3To what extent can the set of ICDFA be partitioned to enable parallel counting of minimal automata and regular languages?
  • RQ4What is the proportion of ICDFA that are minimal, especially for larger alphabets and state counts?
  • RQ5Can the string representation be extended to support efficient encoding and decoding of ICDFA structures?

Key findings

  • For k=2 and n=100, the proportion of minimal ICDFA is approximately 80%, corroborating Nicaud's conjecture.
  • For k=3,5,7,9,11,13 and n=80, over 99.7% of ICDFA are minimal, with the proportion increasing with alphabet size.
  • The random generator passed all statistical tests, with p-values of 5933268.92456, 5925676.75108, and 5935733.28172, all below the acceptance threshold of 5938980.75468.
  • The method achieves optimal coding by establishing a bijection between integers in [0, B_{k,n}) and ICDFA structures via recursive counting.
  • The inverse mapping from integer to ICDFA structure is efficiently computed using successive subtraction and modulo operations on precomputed tables.
  • The implementation supports exact enumeration and parallelized counting, enabling precise computation of the number of distinct regular languages over small alphabets.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.