# Star height

In theoretical computer science, more precisely in the theory of formal languages, the star height is a measure for the structural complexity of regular expressions and regular languages. The star height of a regular expression equals the maximum nesting depth of stars appearing in that expression. The star height of a regular language is the least star height of any regular expression for that language. The concept of star height was first defined and studied by Eggan (1963).

## Formal definition

More formally, the star height of a regular expression E over a finite alphabet A is inductively defined as follows:
* $\textstyle h\left(\emptyset \right)\,=\,0$, $\textstyle h\left(\varepsilon \right)\,=\,0$, and $\textstyle h\left(a\right)\,=\,0$ for all alphabet symbols a in A.
* $\textstyle h\left(EF\right)\,=\,h\left(E\,\mid \,F\right)\,=\,\max \left(\,h(E),h(F)\,\right)$
* $\textstyle h\left(E^{*}\right)\,=\,h(E)+1.$
Here, $\scriptstyle \emptyset$ is the special regular expression denoting the empty set and ε the special one denoting the empty word; E and F are arbitrary regular expressions.
The star height h(L) of a regular language L is defined as the minimum star height among all regular expressions representing L. The intuition is here that if the language L has large star height, then it is in some sense inherently complex, since it cannot be described by means of an "easy" regular expression, of low star height.

## Examples

While computing the star height of a regular expression is easy, determining the star height of a language can be sometimes tricky. For illustration, the regular expression
    $\textstyle \left(b\,\mid \,aa^{*}b\right)^{*}aa^{*}$
over the alphabet A = {a,b} has star height 2. However, the described language is just the set of all words ending in an a: thus the language can also be described by the expression
    $\textstyle (a\,\mid \,b)^{*}a$
which is only of star height 1. To prove that this language indeed has star height 1, one still needs to rule out that it could be described by a regular expression of lower star height. For our example, this can be done by an indirect proof: One proves that a language of star height 0 contains only finitely many words. Since the language under consideration is infinite, it cannot be of star height 0.
The star height of a group language is computable: for example, the star height of the language over {a,b} in which the number of occurrences of a and b are congruent modulo 2$^n$ is n.

## Eggan's theorem

In his seminal study of the star height of regular languages, Eggan (1963) established a relation between the theories of regular expressions, finite automata, and of directed graphs. In subsequent years, this relation became known as Eggan's theorem, cf. Sakarovitch (2009). We recall a few concepts from graph theory and automata theory.
In graph theory, the cycle rank r(G) of a directed graph (digraph) G = (V, E) is inductively defined as follows:
* If G is acyclic, then r(G) = 0. This applies in particular if G is empty.
* If G is strongly connected and E is nonempty, then
       $r(G)=1+\min _{v\in V}r(G-v),\,$ where ⁠$G-v$⁠ is the digraph resulting from deletion of vertex v and all edges beginning or ending at v.
* If G is not strongly connected, then r(G) is equal to the maximum cycle rank among all strongly connected components of G.
In automata theory, a nondeterministic finite automaton with ε-transitions (ε-NFA) is defined as a 5-tuple, (Q, Σ, δ, q$_0$, F), consisting of
* a finite set of states Q
* a finite set of input symbols Σ
* a set of labeled edges δ, referred to as transition relation: Q × (Σ ∪{ε}) × Q. Here ε denotes the empty word.
* an initial state q$_0$ ∈ Q
* a set of states F distinguished as accepting states F ⊆ Q.
A word w ∈ Σ$^*$ is accepted by the ε-NFA if there exists a directed path from the initial state q$_0$ to some final state in F using edges from δ, such that the concatenation of all labels visited along the path yields the word w. The set of all words over Σ$^*$ accepted by the automaton is the language accepted by the automaton A.
When speaking of digraph properties of a nondeterministic finite automaton A with state set Q, we naturally address the digraph with vertex set Q induced by its transition relation. Now the theorem is stated as follows.
    Eggan's Theorem: The star height of a regular language L equals the minimum cycle rank among all nondeterministic finite automata with ε-transitions accepting L.
Proofs of this theorem are given by Eggan (1963), and more recently by Sakarovitch (2009).

## Generalized star height

The above definition assumes that regular expressions are built from the elements of the alphabet A using only the standard operators set union, concatenation, and Kleene star. Generalized regular expressions are defined just as regular expressions, but here also the set complement operator is allowed (the complement is always taken with respect to the set of all words over A). If we alter the definition such that taking complements does not increase the star height, that is,
    $\textstyle h\left(E^{c}\right)\,=\,h(E)$
we can define the generalized star height of a regular language L as the minimum star height among all generalized regular expressions representing L. It is an open problem whether some languages can only be expressed with a generalized star height greater than one: this is the generalized star-height problem.
Note that, whereas it is immediate that a language of (ordinary) star height 0 can contain only finitely many words, there exist infinite languages having generalized star height 0. For instance, the regular expression
    $\textstyle (a\,\mid \,b)^{*}a,$
which we saw in the example above, can be equivalently described by the generalized regular expression
    $\textstyle \emptyset ^{c}a$,
since the complement of the empty set is precisely the set of all words over A. Thus the set of all words over the alphabet A ending in the letter a has star height one, while its generalized star height equals zero.
Languages of generalized star height zero are also called star-free languages. It can be shown that a language L is star-free if and only if its syntactic monoid is aperiodic (Schützenberger (1965)).