Số lượng ngôn ngữ thông thường khác nhau


14

Với một bảng chữ cái Σ={a,b} , có bao nhiêu khác nhau thường xuyên ngôn ngữ đang có có thể được chấp nhận bởi một -state automaton hữu hạn không xác định?n

Ví dụ, chúng ta hãy xem xét . Sau đó, chúng tôi có cấu hình chuyển tiếp khác nhau và cấu hình trạng thái bắt đầu và kết thúc khác nhau, vì vậy chúng tôi có giới hạn trên của ngôn ngữ khác nhau. Tuy nhiên, nhiều trong số này sẽ tương đương và vì thử nghiệm cho điều đó là PSPACE-Complete, có lẽ không thể kiểm tra từng cài đặt. Có các phương tiện hoặc đối số kết hợp khác ràng buộc số lượng ngôn ngữ khác nhau được chấp nhận bởi một tài nguyên nhất định không?n=321823224


Chỉ có 3 cấu hình trạng thái bắt đầu khác nhau, không phải 23 .
FrankW

4
Ý tưởng nhanh: các ngôn ngữ thông thường được đặc trưng bởi nhiều lớp tương đương, cf Myhill-Nerode. Có bao nhiêu bộ lớp tương đương khác nhau có thể hỗ trợ automaton n -state?
Raphael

5
Nó có thể hữu ích để google cho bài báo "Về số lượng ngôn ngữ riêng biệt được chấp nhận bởi automata hữu hạn với n trạng thái" của Domaratzki, Kisman và Shallit.
Hendrik

1
vzn

Câu trả lời:


11

Đây là bản tóm tắt của bài viết về Số lượng ngôn ngữ riêng biệt được chấp nhận bởi Finite Automata với n States . Bài viết cung cấp tương đối dễ dàng, nhưng xa các giới hạn chặt chẽ, thấp hơn và cao hơn về số lượng ngôn ngữ riêng biệt được NFA chấp nhận. Thảo luận của họ về số lượng DFA khác biệt là rất sâu sắc, vì vậy tôi cũng sẽ bao gồm phần đó.

Bài viết bắt đầu với một tiệm cận khá nghiêm ngặt đối với số lượng ngôn ngữ riêng biệt được chấp nhận bởi một DFA với trạng thái trên một bảng chữ cái đơn nhất. Này được thực hiện bằng cách quan sát dưới những điều kiện nào một cho n -state unary DFA là tối thiểu. Trong những trường hợp như vậy, việc mô tả máy tự động có thể được ánh xạ (về mặt sinh học) thành một từ nguyên thủy , và việc liệt kê các từ đó được biết đến và được thực hiện với sự trợ giúp của hàm Möbius . Sử dụng kết quả đó, giới hạn cho các bảng chữ cái không đơn nhất, cả trong DFA và trong trường hợp NFA, đều được chứng minh.nn

Chúng ta hãy đi vào chi tiết hơn. Đối với bảng chữ cái -letter, xác định f k ( n )k Lưu ý rằnggk(n)=Σ n i = 1 fk(i). Chúng tôi bắt đầu vớif1(k)g1(k).

fk(n)= =số lượng DFA tối thiểu không đồng phân cặp với n Những trạng tháigk(n)= =số lượng ngôn ngữ riêng biệt được DFA chấp nhận với n Những trạng tháiGk(n)= =số lượng ngôn ngữ riêng biệt được NFA chấp nhận với n Những trạng thái
gk(n)= =ΣTôi= =1nfk(Tôi)f1(k)g1(k)

Bảng liệt kê của DFA

Một unary DFA với trạng thái q 0 , ... , q n - 1 là tối thiểu khi và chỉ khiM= =(Q,{một},δ,q0,F)q0,Giáo dục,qn-1

  1. Nó được kết nối. Do đó, sau khi đổi tên, sơ đồ chuyển tiếp bao gồm một vòng lặp và đuôi, tức là δ ( q n - 1 , a ) = q j cho một số j n - 1 .δ(qi,a)=qi+1δ(qn1,a)=qjjn1
  2. Các vòng lặp là tối thiểu.
  3. Nếu , sau đó, hoặc q j - 1Fq n - 1F hoặc q j - 1Fq n - 1F .j0qj1Fqn1Fqj1Fqn1F

Vòng lặp là tối thiểu khi và chỉ khi từ một jmột n - 1 được xác định bởi một i = { 1qj,,qn1ajan1nguyên thủy, có nghĩa là nó không thể được viết dưới dạngxk đối với một số chữxvà một số nguyênk2. Sốψk(n)của các từ nguyên thủy có độ dàintrênbảng chữ cáikđược biết, xem ví dụ: Lothaire,Combinatorics on Words. Chúng tôi có ψk(n)=Σd | nμ(d)kn/

mộtTôi= ={1nếu qF,0nếu qF
xkxk2
ψk(n)nk trong đóμ(n)hàm Mobius. Với sự giúp đỡ của ψ k (n), bài báo đã chứng minh các công thức chính xác cho f 1 (n) g 1 (n)và cho thấy rằng không có triệu chứng (Định lý 5 và Hệ quả 6), g 1 ( n )
ψk(n)=d|nμ(d)kn/d
μ(n)ψk(n)f1(n)g1(n)
g1(n)=2n(nα+O(n2n/2))f1(n)=2n1(n+1α+O(n2n/2)).

Bảng liệt kê của DFA

Bước tiếp theo là giới hạn dưới cho . Định lý 7 tiểu bang mà e k ( n ) f 1 ( n ) n ( k - 1 ) n ~ n 2 n - 1 n ( k - 1 ) n . Đối với một bộ Δ Σ của một automaton M , xác định M Δ như những hạn chế của M để Δfk(n)

fk(n)f1(n)n(k1)nn2n1n(k1)n.
ΔΣMMΔMΔ .
Các công trình bằng chứng bằng cách xem xét các thiết lập của DFA của M qua k -letter bảng chữ cái { 0 , 1 , ... , k - 1 } xác định bởiSk,nMk{0,1,Giáo dục,k-1}
  1. Để là một trong những DFA đơn nhất khác nhau của f 1 ( n ) trên n trạng thái vàM{0}f1(n)n
  2. Chọn bất kỳ chức năng h i : Q Q cho 1 i < k và xác định δ ( q , i ) = h i ( q ) cho 1 i < kq Q .k-1hTôi:QQ1Tôi<kδ(q,Tôi)= =hTôi(q)1Tôi<kqQ

Quan sát sau đó là chứa f 1 ( n ) n ( k - 1 ) n ngôn ngữ khác nhau và tối thiểu.Sn,kf1(n)n(k-1)n

Bảng liệt kê của NFA

G1(n)2nε,một,Giáo dục,mộtn-1n
G1(n)(c1nđăng nhậpn)n
k2

n2(k-1)n2Gk(n)(2n-1)2kn2+1.
(q,một)Qδ(q,một)2kn2{1,,k}k[0..n1]
M=(Q,Σ,δ,q0,F)Σ={0,1,,k1}Q={q0,,qn1}δ
δ(qi,0)=q(i+1)modnfor 0i<nδ(qi,j)=hj(i)for 0i<n,1j<k
hj:{1,,n1}2QF={qi}i[0..n1]2(k1)n2ncách để chọn tập hợp các trạng thái cuối cùng. Sau đó, người ta có thể chỉ ra rằng không có hai NFA như vậy chấp nhận cùng một ngôn ngữ.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.