Rozważmy język składający się ze wszystkich ciągów -lettera nad tak aby żadne dwie litery nie były równe:L k - d i s t i n c t
L k - d i s t i n c t : = { w = σ 1 σ 2 . . . σ k ∣ ∀ i ∈ [ k ] : σ i ∈ Σ and ∀ j ≠ i : σ j ≠ σ i }
Ten język jest skończony i dlatego regularny. W szczególności, jeśli , to \ left | L_ {k-odrębny} \ right | = \ binom {n} {k} k! .| Σ | = n
Jaki jest najmniejszy niedeterministyczny automat skończony, który akceptuje ten język?
Obecnie mam następujące luźne górne i dolne granice:
Najmniejszy NFA, jaki mogę zbudować, ma 4 k ( 1 + o ( 1 ) ) ⋅ p o l y l o g ( n )
4k(1+o(1))⋅polylog(n) .Poniższy lemat implikuje dolną granicę stanów 2 tys
2k :
Niech L ⊆ Σ ∗
L⊆Σ∗ będzie zwykłym językiem. Załóżmy, że istnieje nn par P = { ( x i , w i ) ∣ 1 ≤ i ≤ n }P={(xi,wi)∣1≤i≤n} takich, że x i ⋅ w j ∈ Lxi⋅wj∈L wtedy i tylko wtedy, gdy i = ji=j . Wtedy każdy NFA akceptujący L ma co najmniej n stanów.
- Kolejną (trywialną) dolną granicą jest l o g
log ( nk )(nk) , który jest logiem wielkości najmniejszego DFA dla języka.
Interesują mnie również NFA, które akceptują tylko stały ułamek ( 0 < ϵ < 1
Edycja: Właśnie rozpocząłem nagrodę, która zawierała błąd w tekście.
Miałem na myśli, że możemy założyć k = p o l y l o g ( n )
Edycja2:
Nagroda wkrótce się skończy, więc jeśli ktoś jest zainteresowany łatwiejszym sposobem jej zdobycia, rozważ następujący język:
L ( r , k ) - d i s t i n c t : = { w : w
(tj. L(1,k)−distinct=Lk−distinct
Podobna konstrukcja jak w komentarzach daje automat wielkości O(ek⋅2k⋅log(1+r)⋅poly(n))
Czy można to poprawić? Jaka jest najlepsza dolna granica dla tego języka?