BEARBEITEN AM 12.10.06:
ok, das ist so ziemlich die beste Konstruktion, die ich bekommen kann. Mal sehen, ob jemand bessere Ideen hat.
Satz. Für jedes gibt es einen ( 5 n + 12 ) -Zustand NFA M über Alphabeten Σ mit | Σ | = 5, so dass die kürzeste Kette, die nicht in L ( M ) enthalten ist, die Länge ( 2 n - 1 ) ( n + 1 ) + 1 hat .
Dies ergibt .
Die Konstruktion ist mit der in Shallit ziemlich identisch , außer dass wir eine NFA direkt konstruieren, anstatt die Sprache zuerst durch einen regulären Ausdruck darzustellen. Lassen
is the following sequence (take for example):
The idea is that we can construct an NFA consists of five parts;
- ein Starter , der sicherstellt, dass der String mit beginnt;
- a terminator, which ensures the string ends with ;
- a counter, which keeps the number of symbols between two 's as ;
- an add-one checker, which guarantees that only symbols with the form appears; finally,
- a consistent checker, which guarantees that only symbols with the form can appear concurrently.
Note that we do want to accept instead of , so once we find out that the input sequence is disobeying one of the above behaviors, we accept the sequence immediately. Otherwise after steps, the NFA will be in the only possible rejecting state. And if the sequence is longer than , the NFA also accepts. So any NFA satisfies the above five conditions will only reject .
It may be easy to check the following figure directly instead of a rigorous proof:
We start at the upper-left state. The first part is the starter, and the counter, then the consistent checker, the terminator, finally the add-one checker. All the arc with no terminal nodes point to the bottom-right state, which is an all time acceptor. Some of the edges are not labeled due to lack of spaces, but they can be recovered easily. A dash line represents a sequence of states with edges.
We can (painfully) verify that the NFA rejects only, since it follows all the five rules above. So a -state NFA with has been constructed, which satisfies the requirement of the theorem.
If there's any unclearliness/problem with the construction, please leave a comment and I'll try to explain/fix it.
This question has been studied by Jeffrey O. Shallit et al., and indeed the optimal value of is still open for . (As for unary language, see the comments in Tsuyoshi's answer)
In page 46-51 of his talk on universality, he provided a construction such that:
Theorem. For for some large enough, there is an -state NFA over binary alphabets such that the shortest string not in is of length for .
Thus the optimal value for is somewhere between and . I'm not sure if the result by Shallit has been improved in recent years.