Liên minh các ngôn ngữ thông thường không thường xuyên


12

Tôi đã bắt gặp câu hỏi đó: "Cho ví dụ về hai ngôn ngữ thông thường mà liên minh của họ không tạo ra ngôn ngữ thông thường."

Điều này khá sốc đối với tôi vì tôi tin rằng các ngôn ngữ thông thường bị đóng cửa dưới sự kết hợp. Điều đó có nghĩa với tôi rằng nếu tôi sử dụng hai ngôn ngữ thông thường và hợp nhất chúng, tôi phải có một ngôn ngữ thông thường.

Và tôi nghĩ rằng tôi hiểu bằng chứng về điều đó: Theo lời của tôi, nếu các ngôn ngữ là chính quy, thì có tồn tại các máy tự động nhận ra chúng. Nếu chúng ta lấy tất cả các trạng thái (union) và chúng ta thêm một trạng thái mới cho điểm vào và chúng ta sửa đổi chức năng chuyển đổi cho trạng thái mới bằng epsilon, chúng ta sẽ ổn. Chúng tôi cũng chỉ ra rằng có một con đường từ mọi tiểu bang, v.v.

Bạn có thể cho tôi biết tôi sai ở đâu không, hoặc có thể là một cách khác để tiếp cận câu hỏi.

Nguồn câu hỏi, bài tập 4, bằng tiếng Pháp.

Ngoài ra, câu hỏi tương tự được hỏi với giao lộ.


Một cách khác để xem nó. Giả sử một liên minh vô hạn như vậy mang lại một ngôn ngữ thông thường. Hãy xem xét bất kỳ ngôn ngữ không phải thường xuyên . Bạn có thể chia các phần tử của nó thành một số lượng vô hạn các ngôn ngữ con L i trong đó mỗi L i là hữu hạn (và do đó là thường xuyên). Bây giờ làm liên minh của tất cả các L i . Theo giả định đây là ngôn ngữ thông thường, nhưng chúng tôi cho rằng L là ngôn ngữ không thông thường, do đó mâu thuẫn. Cho phép đóng cửa dưới liên minh vô hạn sẽ làm cho tất cả các ngôn ngữ thường xuyên. LLiLiLiL
Bakuriu

Đối với công đoàn vô hạn: Đi bất kỳ ngôn ngữ phi thường và xem xét từng L i = { w i } . Rõ ràng L i là thường xuyên. L={w1,w2,w3,}Li={wi}Li
Pål GD

Câu trả lời:


26

Có một sự khác biệt đáng kể giữa câu hỏi khi bạn đặt ra và câu hỏi được đặt ra trong bài tập. Câu hỏi đặt ra yêu cầu cho một ví dụ về một tập hợp các ngôn ngữ thường xuyên như vậy mà công đoàn của họ L = i = 1 L i là không thường xuyên. Lưu ý phạm vi của công đoàn: 1 đến . Các ngôn ngữ thông thường được đóng lại dưới sự kết hợp hữu hạn và các bằng chứng chạy dọc theo các dòng mà bạn phác họa trong câu hỏi, tuy nhiên điều này sụp đổ dưới sự kết hợp vô hạn . Chúng ta có thể chỉ ra điều này bằng cách lấy L i =L1,L2,

L=i=1Li
1 cho mỗi i (với Σ = { 0 , 1 } ). Các công đoàn vô hạn của các thứ tiếng tất nhiên cung cấp cho các phi thường (context-free) ngôn ngữ kinh điển L = { 0 i 1 i | i N } .Li={0i1i}iΣ={0,1}L={0i1iiN}

Như một bên, chúng ta có thể dễ dàng nhìn thấy nơi bằng chứng bình thường thất bại. Hãy tưởng tượng cùng một cấu trúc nơi chúng ta thêm trạng thái bắt đầu mới và -transitions cho trạng thái bắt đầu cũ. Nếu chúng ta làm điều này với một bộ automata vô hạn, chúng ta đã xây dựng một automata với số lượng trạng thái vô hạn, rõ ràng mâu thuẫn với định nghĩa của automata hữu hạn .ε

Cuối cùng, tôi đoán sự nhầm lẫn có thể nảy sinh từ cách đặt câu hỏi ban đầu, bắt đầu "Donner deux exemples des sets de langages ...", nghĩa là ( đại khái , tiếng Pháp của tôi hơi thô lỗ , nhưng được xác minh bên ngoài!) "Đưa ra hai ví dụ về chuỗi ngôn ngữ ...", thay vì "Đưa ra hai ví dụ về ngôn ngữ ...". Một cách đọc không tự nhiên có thể nhầm lần thứ hai cho lần đầu tiên mặc dù.


1
Và định nghĩa là phần bù của L i , giao điểm của chúng cũng sẽ không đều. Đọc tiếng Pháp của bạn là đúng, không chỉ đại khái . MiLi
Laurent LA RIZZA

Bạn đúng về phần dịch tiếng Pháp. Tôi mặc dù phần trình tự đó không quan trọng. haha Cảm ơn câu trả lời, sự khác biệt bây giờ là rõ ràng với tôi.
Dave

3

Đối với câu hỏi thứ hai của bạn, hãy xem xét các ngôn ngữ được định nghĩa bởi Quan sát rằng đối với bất kỳ n 1 , M n là thường xuyên , từ (1) các thiết lập bên trái là hữu hạn và do đó thường xuyên, (2) các thiết lập đúng được biểu hiện bằng các biểu thức chính quy một n một một *

Mn={ak21kn}{ajj(n+1)2}
n1Mnanaa như vậy là thường xuyên và (3) các ngôn ngữ thông thường được đóng dưới các hiệp hội hữu hạn, như bạn đã biết.

Nó không phải quá khó khăn để chứng minh rằng đối với bất kỳ số nguyên chúng ta có M n + 1M n và do đó M nM n + 1 = M n + 1 để quy nạp, chúng tôi đã n i = 0 M i = M n (cái mà chúng ta không thực sự cần ở đây, nhưng nó quá đẹp để bỏ đi).n1Mn+1MnMnMn+1=Mn+1

i=0nMi=Mn

Mnan2+1,an2+2,,a(n+1)21

i=0Mi={an2n1}
vốn được biết đến không phải là một ngôn ngữ thông thường. (Nếu bạn không biết thực tế này, thì trong nhiều văn bản lý thuyết và bằng chứng rất đáng để bạn đọc.)

1

Tại sao chọn các ngôn ngữ thông thường phức tạp để chỉ ra rằng các bộ thông thường không bị đóng dưới sự kết hợp vô hạn? Các ngôn ngữ đơn lẻ là đủ để cho thấy rằng bất kỳ ngôn ngữ RE nào là sự kết hợp vô hạn của các bộ thông thường.

LwLi=index(w)Li={wi=index(w)}LiL=i=1Li là RE.

Mi=ΣLiMii=1Mi=ΣLL

Do đó, bất kỳ ngôn ngữ đệ quy nào cũng là một tập hợp vô hạn của các tập thông thường và cũng là một giao điểm vô hạn của các tập thông thường (không phải cùng một tập hợp, nhưng bổ sung của chúng :).

Vô cực đầy bất ngờ, và những gì đúng với các giá trị lớn tùy ý có thể không đúng ở vô cực.


1

{ϵ}{a}{b}{aa}{bb}{aaa}{aba}{bab}{bbb} ...

Σ{pi}pii

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.