Chứng tỏ rằng {xy | x | = | y |, x ≠ y} không có ngữ cảnh


43

Tôi nhớ đã gặp một câu hỏi sau đây về một ngôn ngữ được cho là không có ngữ cảnh, nhưng tôi không thể tìm thấy bằng chứng nào về thực tế. Có lẽ tôi đã đánh giá sai câu hỏi?

Dù sao, đây là câu hỏi:

Chứng minh rằng ngôn ngữ là bối cảnh miễn phí.L={xy∣|x|=|y|,x≠y}


5
Ồ, đó là một trong những tốt! <3
— Raphael

Câu trả lời:


35

Yêu cầu : là không có ngữ cảnh.L

Ý tưởng bằng chứng : Phải có ít nhất một sự khác biệt giữa nửa đầu và nửa sau; chúng tôi đưa ra một ngữ pháp đảm bảo tạo ra một và để phần còn lại tùy ý.

Bằng chứng : Đối với mục đích đơn giản, giả sử một nhị phân bảng chữ cái . Bằng chứng dễ dàng mở rộng đến các kích thước khác. Hãy xem xét ngữ pháp G :Σ={a,b}G

S→AB∣BAA→a∣aAa∣aAb∣bAa∣bAbB→b∣aBa∣aBb∣bBa∣bBb

Nó khá rõ ràng rằng nó tạo ra

L(G)={w1⏟kxw2v1⏟k+lyv2⏟l∣|w1|=|w2|=k,|v1|=|v2|=l,x≠y}⊆Σ∗;

nghi ngờ có thể thực hiện một cảm ứng lồng nhau trên và l với phân biệt trường hợp trên các cặp ( x , y ) . Bây giờ, w 2 và v 1 đi lại (nói một cách trực quan, w 2 và v 1 có thể trao đổi các ký hiệu vì cả hai đều chứa các ký hiệu được chọn độc lập với phần còn lại của từ). Do đó, x và y có cùng vị trí (trong một nửa tương ứng của chúng), hàm ý L ( G ) = L vì Gkl(x,y)w2v1w2v1xyL(G)=LG không áp đặt các hạn chế khác đối với ngôn ngữ của nó.


Người đọc quan tâm có thể tận hưởng hai vấn đề tiếp theo:

Bài tập 1 : Hãy đến với một chiếc PDA cho !L

Bài tập 2 : Thế còn ?{xyz∣|x|=|y|=|z|,x≠y∨y≠z∨x≠z}


Nếu chúng ta sử dụng ngữ pháp này, chúng ta có thể tạo ra một chuỗi như: A → a B → b B a , t h e n B → b Sau đó, chúng ta có một S là abba! Điều này không bằng ngôn ngữ thô L, có lỗi ở đây không? S→MộtB Một→một B→bBmột,theviết sai rồiB→b
— George.Ziao

@ George.Zhao Tôi không theo dõi. Rõ ràng, với x = a b và y = b a ? mộtbbmột∈Lx= =mộtby= =bmột
— Raphael
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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.