HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

Does "not regular" imply "acceptor needs memory"?

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
implyacceptorneedsregulardoesmemorynot

Problem

Regular Languages, by definition, can be accepted by finite automata, which do not have memory. But if I know that a language is not regular, does that imply that any mechanism that recognizes the language must have memory?

Solution

Every language $L \subseteq X^{\ast}$ for $X$ a finite alphabet could be accepted by the following (in general infinite) "automaton" (in the usual notation as "alphabet, states, start state, transition relation and final states")
$$
\mathcal A = (X, Q, L, \delta, F)
$$
with $Q := \{ L/w : w \in X^{\ast} \}$, $\delta(L/w, u) := L/(wu)$
and $F := \{ L/w : \varepsilon \in L/w \}$, where
$$
L/w := \{ u \in X^{\ast} \mid wu \in L \}
$$
is the quotient of the language (i.e. we take away prefixes from words in $L$). The set of quotients could be regarded as the states, or the memory. Which is finite if $L$ is regular (and more this construction gives a minimal finite automaton), and is infinite if $L$ is not regular (for example consider $L = \{ a^n b^n \mid n \ge 1 \}$ over $X = \{a,b\}$).

So in short in this (somehow canonical) model even a regular language has some kind of memory (a state which signalizes some property of the string being processed), but the crucial property is that we can get along with finitely many (memory) states, whereas in the non-regular case in this model we always need an "unbounded" memory/states.

Context

StackExchange Computer Science Q#69516, answer score: 3

Revisions (0)

No revisions yet.