Nếu là ngôn ngữ thông thường thì


7

Tôi quan tâm đến việc chứng minh rằng L={w:wwL} là thường xuyên nếu L là thường xuyên nhưng dường như tôi không đi đến đâu cả. Nếu có thể tôi đã hy vọng một gợi ý để đưa tôi đi đúng hướng. Cảm ơn sự giúp đỡ của bạn.

Ý tưởng của tôi để chứng minh tính đều đặn của ngôn ngữ căn bậc hai là cố gắng xem xét hai máy chạy song song. Một trong số họ chấp nhận ngôn ngữ gốc L và cái còn lại chạy cùng một máy ngược (tôi hy vọng rằng đây sẽ là một NFA). Sau đó, tôi muốn chấp nhận các từ đã gặp ở giữa (ví dụ (q,q):qQ trong đó Q là các trạng thái của DFA chấp nhận L ). Tuy nhiên, tôi không nghĩ rằng điều này sẽ làm việc.



2
Hai máy phải chạy về phía trước. Chỉ có điều thứ hai phải bắt đầu khi cái đầu tiên sẽ kết thúc. Do đó, lần thứ hai phải đoán cho trạng thái bắt đầu của nó và ghi nhớ dự đoán đó.
babou

@ PålGD Cảm ơn bạn đã phản hồi. Đó là một giải pháp thú vị nhưng dường như tôi không thể khiến cảm ứng hoạt động ở bước quy nạp. Những gì tôi nhận được là như sau: trong đó theo giả thuyết quy nạp. Vậy Nếu bạn có thể nói cho tôi biết tôi đã sai ở đâu tôi sẽ biết ơn
δ^(q0,wa)=δ(δ^(q0,w),a)=δ(f,a)=g
f(q)=δ^(q,w)
g(q)=f(δ(q,b))=δ^(δ(q,b),w)=δ^(q,bw)
dùng99163

@babou Cảm ơn bạn đã phản hồi. Bạn có đang đề xuất một NFA mà bạn có thể bắt đầu tại bất kỳ điểm nào của DFA ban đầu đã chấp nhận không? L
dùng99163

Đúng. Điều này được thực hiện với một quy tắc không xác định ngay từ đầu. Các trạng thái là bộ ba của trạng thái máy ban đầu, một cho mô phỏng thứ nhất, một cho mô phỏng thứ hai và một để nhớ nơi mô phỏng thứ hai bắt đầu, để đảm bảo đầu tiên kết thúc ở đó. ϵ
babou

Câu trả lời:


1

Dưới đây là cách thực hiện giải pháp của bạn. Hãy để là một DFA cho . Chúng tôi sẽ xây dựng một NFA như sau:A=Q,q0,F,δLA=Q,q0,F,δ

  • Q={q0}Q3 . Trạng thái có nghĩa là chúng tôi đã đoán rằng khi đọc xong bản sao đầu tiên của , nó sẽ ở trạng thái ; bản sao đầu tiên của , bắt đầu từ , ở trạng thái ; và bản sao thứ hai của , bắt đầu từ , ở trạng thái .(q1,q2,q3)Awq1Aq0q2Aq1q3
  • F={(q1,q1,q2):q1Q,q2F} . Do đó, chúng tôi chấp nhận nếu bản sao đầu tiên của ở trạng thái đoán và bản sao thứ hai của ở trạng thái chấp nhận.AA
  • δ(q0,ϵ)={(q,q0,q):qQ} . Đây khởi sự mô phỏng của hai bản sao của .A
  • δ((q1,q2,q3),a)={(q1,δ(q2,a),δ(q3,a))} . Điều này mô phỏng cả hai bản sao của , trong khi vẫn giữ trạng thái đoán.A

Chúng tôi để lại cho người đọc bằng chứng chính thức rằng .L(A)=L(A)


Đây là một giải pháp khác, tạo ra một DFA. Bây giờ chúng ta chạycác bản sao của song song, bắt đầu từ mỗi trạng thái của :|Q|AA

  • Q=QQ .
  • q0=qq , chức năng nhận dạng.
  • δ(f,a)=qδ(q,a) .
  • F={fQ:f(f(q0))F} .

Ý nghĩa của điều kiện gì? Sau khi đọc một từ , automaton ở trạng thái được cho bởi . Do đó .f(f(q0))FwAff(q)=δ(q,w)f(f(q0))=δ(δ(q0,w),w)=δ(q0,w2)


Có thể có nhiều loại chức năng như vậy, như SQRT (L), HALF (L), v.v ... Có cách nào chung để kết hợp tất cả chúng lại với nhau không? Tôi đã suy nghĩ về các định lý của Myhill Nerode. Đây là những gì cũng được gọi là một nửa. sqrt là st vày|y|=|x|2xyL
Không tìm thấy người dù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.