Đối với những loại ngôn ngữ là tối thiểu | NFA | = Ω (phút | DFA |)?


7

Hãy xem xét một ngôn ngữ thông thường L. Để choD(L) là một DFA tối thiểu cho LN(L) là một NFA tối thiểu cho L(tối thiểu theo nghĩa số lượng trạng thái nhỏ nhất có thể có cho một máy tự động nhận dạng ngôn ngữ đã cho). Viết|A| cho kích thước (số trạng thái) của máy tự động A. Nói chung,|N(L)| có thể nhỏ hơn rất nhiều |D(L)| (xuống lg|D(L)|, vì xác định là số mũ trong trường hợp xấu nhất).

Tôi quan tâm đến các ngôn ngữ mà NFA tối thiểu được đảm bảo có ít nhất một phần kích thước của DFA:. Những gia đình của ngôn ngữ thông thường có tài sản này? Nói cách khác, đối với họ ngôn ngữ nào sao cho|N(L)|k|D(L)|(Ln)|D(Ln)|=n|N(Ln)|=Ω(n)?


Theo trực giác có vẻ rõ ràng rằng các ngôn ngữ mà đặc trưng này là những ngôn ngữ mà bạn không thể đạt được bất cứ điều gì phức tạp-khôn ngoan bằng cách sử dụng thuyết không điều kiện. Không có ý tưởng gì tài sản có thể nắm bắt có thể liên quan đến, mặc dù.
G. Bạch

Tôi sợ rằng câu hỏi của bạn không có ý nghĩa như đã nêu, vì Ωký hiệu chỉ được xác định cho các chức năng, trong khi trong câu hỏi của bạn, bạn chỉ xem xét một ngôn ngữ.
J.-E.

@ J.-E.Pin Trong khi bạn nói đúng, câu hỏi của anh ấy có ý nghĩa nếu bạn bỏ qua câu bắt đầu "Chúng ta hãy giả sử" và xem xét câu cuối cùng có liên quan đến họ ngôn ngữ mà nó giữ.
G. Bạch

1
Dựa trên sự hiểu biết của tôi về các ý kiến, câu hỏi là "gia đình ngôn ngữ nào |minNFA|=Ω(|minDFA|)? "Điều này có đúng không?
Patrick87

3
Các Ω ký hiệu chỉ có ý nghĩa khi n có xu hướng . Một công thức đơn giản hơn có thể sẽ là: đưa ra một hằng sốc, lớp học là gì Lc của tất cả các ngôn ngữ thông thường đáp ứng min|DFA|cmin|NFA|.
J.-E.

Câu trả lời:


1

Có lẽ điều này quá tầm thường khi đề cập đến, nhưng dù sao tôi cũng sẽ đề cập đến nó: một loại ngôn ngữ xuất hiện trong tâm trí (mặc dù có thể có nhiều lớp ngôn ngữ thú vị hơn so với điều này thỏa mãn tính chất).

Hãy xem xét một gia đình ngôn ngữ {{ϵ},{w},{ww},...,{wn},...} Ở đâu wΣ. Một NFA tối thiểu chonngôn ngữ sẽ có n|w|+1 trạng thái (giả sử không có trạng thái chết), trong khi DFA tối thiểu sẽ có n|w|+2trạng thái (giả sử một trạng thái chết duy nhất). Chúng tôi có điều đón|w|+1=Ω(n|w|+2).

Chúng tôi có một gia đình khác bằng cách cho phép mỗi ngôn ngữ chấp nhận tối đa n|w|; đây là gia đình{{ϵ,w,ww,...,wn}n0}. Máy tự động cho các ngôn ngữ này thực tế giống hệt với máy tự động tương ứng từ gia đình khác, ngoại trừ những ngôn ngữ này có nhiều trạng thái chấp nhận hơn.

Đây là những gia đình của ngôn ngữ hữu hạn. Tất nhiên chúng ta có thể có được một gia đình ngôn ngữ vô hạn như sau:{{wnw}n0}.

Xem xét bất kỳ họ ngôn ngữ bao gồm một từ duy nhất. Đối với bất kỳ ngôn ngữ như vậy, tỷ lệ của|minDFA| đến |minNFA| sẽ ít hơn 2, vì vậy một gia đình ngôn ngữ phải đáp ứng tài sản. Vì có vô số chuỗi hữu hạn trên bất kỳ bảng chữ cái nào và vì chúng tôi đang xem xét bất kỳ tập hợp con nào có thể có, chúng tôi có được một số lượng lớn các họ ngôn ngữ theo cách này.

FWIW, để có được những ví dụ này, suy nghĩ của tôi là chúng tôi đang tìm kiếm các ngôn ngữ liên quan đến việc làm một cái gì đó mà NFA không thể làm tốt hơn DFA. Chấp nhận một số chuỗi ngẫu nhiên, và không có gì khác, là đáng chú ý về vấn đề này. Tôi đoán tổng quát hơn, có một khái niệm không chính thức về "sự thẳng thắn của DFA" dường như có liên quan đến những gì được hỏi.

Bạn biết đấy, khi nghĩ về nó, tôi nghĩ rằng chúng ta có thể khái quát điều này nhiều hơn một chút: bất kỳ họ ngôn ngữ nào với hình thức sau sẽ hoạt động: Ln={s0s1...si}L cho n0, Ở đâu L là bất kỳ ngôn ngữ thông thường và snlà bất kỳ chuỗi hữu hạn. Giả sử choL cái đó |minDFA|=x|minNFA|=y. Rồi gia đìnhLn nên luôn luôn có |minDFA|/|minNFA|x/y.

Tôi không biết liệu điều này là thích hợp, thú vị hay hữu ích, nhưng tôi nghĩ nếu không có gì khác thì điều này có thể làm sống lại câu hỏi.

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.