CHỈNH SỬA NGÀY 10/12/06:
ok, đây là công trình tốt nhất tôi có thể có, xem có ai nghĩ ra ý tưởng hay hơn không.
Định lý. Với mỗi Có một NFA M ( 5 n + 12 ) trên bảng chữ cái Σ với | Σ | = 5 sao cho chuỗi ngắn nhất không thuộc L ( M ) có độ dài ( 2 n - 1 ) ( n + 1 ) + 1 .n( 5 n + 12 )MΣ| Σ | =5L ( M)( 2n- 1 ) ( n + 1 ) + 1
Điều này sẽ cho chúng ta .f( n ) = Ω ( 2n / 5)
Cấu trúc này khá giống với cấu trúc của Shallit , ngoại trừ chúng tôi xây dựng một NFA trực tiếp thay vì thể hiện ngôn ngữ bằng một biểu thức thông thường trước tiên. Để cho
.Σ = { [ 00] , [ 01] , [ 10] , [ 11] ,♯}
Với mỗi , chúng ta sẽ xây dựng một ngôn ngữ nhận dạng NFA Σ ∗ - { s n } , trong đó s n là chuỗi sau ( ví dụ: lấy n = 3 ):nΣ*- { sn}Snn = 3
.S3= ♯ [ 00] [ 00] [ 01] ♯ [ 00] [ 01] [ 10] ♯...♯ [ 11] [ 11] [ 01] ♯
Ý tưởng là chúng ta có thể xây dựng một NFA bao gồm năm phần;
- một bộ khởi động , đảm bảo chuỗi bắt đầu bằng ;♯ [ 00] [ 00] [ 01] ♯
- một bộ kết thúc , đảm bảo chuỗi kết thúc bằng ;♯ [ 11] [ 11] [ 01] ♯
- một bộ đếm , giữ số lượng ký hiệu giữa hai s là n ;♯n
- một trình kiểm tra bổ sung , đảm bảo chỉ các ký hiệu có dạng xuất hiện; cuối cùng,♯ xx + 1♯
- một trình kiểm tra nhất quán , đảm bảo rằng chỉ các ký hiệu có dạng có thể xuất hiện đồng thời.♯ xy♯ yz♯
Lưu ý rằng chúng tôi muốn chấp nhận thay vì { s n } , vì vậy một khi chúng tôi phát hiện ra rằng chuỗi đầu vào không tuân theo một trong các hành vi trên, chúng tôi chấp nhận chuỗi ngay lập tức. Nếu không thì sau | s n | các bước, NFA sẽ ở trạng thái từ chối duy nhất có thể. Và nếu chuỗi dài hơn | s n | , NFA cũng chấp nhận. Vì vậy, bất kỳ NFA nào thỏa mãn năm điều kiện trên sẽ chỉ từ chối s n .Σ*- { sn}{ sn}| Sn|| Sn|Sn
Có thể dễ dàng kiểm tra trực tiếp con số sau đây thay vì bằng chứng nghiêm ngặt:
Chúng tôi bắt đầu ở trạng thái phía trên bên trái. Phần đầu tiên là bộ khởi động, và bộ đếm, sau đó là bộ kiểm tra nhất quán, bộ kết thúc, cuối cùng là bộ kiểm tra bổ sung. Tất cả các cung không có nút thiết bị đầu cuối chỉ đến trạng thái dưới cùng bên phải, đó là một chấp nhận tất cả thời gian. Một số cạnh không được dán nhãn do thiếu không gian, nhưng chúng có thể được phục hồi dễ dàng. Một đường gạch ngang thể hiện một chuỗi gồm trạng thái với n - 2 cạnh.n - 1n - 2
Chúng tôi có thể (đau đớn) xác minh rằng NFA chỉ từ chối , vì nó tuân theo tất cả năm quy tắc trên. Vì vậy, một NFA ( 5 n + 12 ) với | Σ | = 5 đã được xây dựng, thỏa mãn yêu cầu của định lý.Sn( 5 n + 12 )| Σ | =5
Nếu có bất kỳ sự không rõ ràng / vấn đề nào với việc xây dựng, vui lòng để lại nhận xét và tôi sẽ cố gắng giải thích / khắc phục nó.
Câu hỏi này đã được nghiên cứu bởi Jeffrey O. Shallit và cộng sự, và thực sự giá trị tối ưu của vẫn còn mở cho | Σ | > 1 . (Đối với ngôn ngữ đơn phương, hãy xem các bình luận trong câu trả lời của Tsuyoshi )f( n )| Σ | >1
Trong trang 46-51 của bài nói chuyện về tính phổ quát , ông đã cung cấp một bản dựng sao cho:
Định lý. Cho đối với một số N đủ lớn, có một n -state NFA M qua bảng chữ cái nhị phân như vậy mà các chuỗi ngắn nhất không phải trong L ( M ) là chiều dài Ω ( 2 c n ) cho c = 1 / 75 .n ≥ NNnML ( M)Ω ( 2c n)c = 1 / 75
Do đó, giá trị tối ưu cho nằm ở khoảng giữa 2 n / 75 và 2 n . Tôi không chắc liệu kết quả của Shallit có được cải thiện trong những năm gần đây hay không.f( n )2n / 752n