Là {ww '| HamDist (w, w ')> 1} không ngữ cảnh?


13

Sau khi đọc câu hỏi gần đây "Phần bổ sung của ngữ cảnh không?" {www...}; Tôi nhớ một vấn đề tương tự tôi không thể bác bỏ:

Là bối cảnh miễn phí?L={www,w{0,1}|w|=|w|HamDist(w,w)>1}

Ở đây chúng tôi yêu cầu hai chuỗi khác nhau ở ít nhất hai vị trí (khoảng cách Hamming phải lớn hơn ).1

Không có ngữ cảnh nếu chúng ta yêu cầu (tức là hai chuỗi phải đơn giản là khác nhau).HamDist(w,w)1

Tôi nghi ngờ rằng ngôn ngữ này không có ngữ cảnh: nếu chúng ta giao cắt nó với chúng ta sẽ gặp các trường hợp trong đó một PDA nên "nhớ" hai vị trí theo thứ tự ngược lại sau khi đạt được một nửa của chuỗi.0101010

Cập nhật: nếu chúng ta giao cắt với chúng ta sẽ có một ngôn ngữ không ngữ cảnh như được hiển thị bởi câu trả lời của anh ấy; phức tạp hơn một chút với (thêm để "theo dõi") vẫn gợi ý rằng không nên có ngữ cảnh.LR={0101010}LRR={01010101010}1L


w w R 'LR thực sự dễ dàng hơn, vì nó chính xác là những từ không có dạng (giao nhau với ). wwR
domotorp

@domotorp: đúng rồi! thay đổi để lẻ cố định s (trừ khi câu trả lời của bạn có thể được điều chỉnh còn { ( 0 * 1 0 * ) k } , đối với bất kỳ lẻ cố định k )1{(010)k}k
Marzio De Biasi

Một nhận xét cuối cùng: Không có ích gì khi bắt đầu với số 0, vì các ngôn ngữ không ngữ cảnh được đóng cho tất cả các loại dịch chuyển theo chu kỳ. Bạn chỉ có thể đẩy chúng vào ngăn xếp, đánh dấu cái cuối cùng bằng một ký hiệu đặc biệt, làm phần còn lại của thuật toán giả vờ rằng ngăn xếp bắt đầu từ đó và cuối cùng làm trống nó. (Điều này sử dụng -transitions, nhưng điều đó cũng dễ dàng như vậy mà PDA tương đương với những người bên ngoài.)ϵ
domotorp

Có thể đơn giản hơn khi nghĩ về bảng chữ cái {0,1,2} và xem xét các chuỗi có chính xác hai giây 1 và 2 giây. Nó không có trong ngôn ngữ của bạn nếu khoảng cách giữa 1s và khoảng cách giữa 2s đều là n.
Kaveh

Câu trả lời:


4

Ngã tư với R={0101010 lời thậm chí dài } là bối cảnh tự do, vì một PDA có thể nhớ hai vị trí, theo một cách. Dù sao đi nữa, trước tiên hãy xem ngôn ngữ L này là gì. Bổ sung của nó là RL={0a10b10c10db=n/2c=n/2a+d=n/2} . Do đó, L={0a10b10c10dbn/2cn/2a+dn/2} . Chúng ta có thể viết lại này như L={0a10b10c10db>n/2c>n/2a+d>n/2b,c,a+d<n/2} .

3 trường hợp đầu tiên có thể được xác minh dễ dàng, và trường hợp thứ tư cũng vậy.

b>n/2 : Bắt đầu đưa vào ngăn xếp cho đến 1 đầu tiên, sau đó bắt đầu bật từ ngăn xếp cho đến khi nó không trống. Sau khi nó trống, một lần nữa bắt đầu đưa vào ngăn xếp cho đến khi chúng ta đạt đến giây thứ 1. Từ đó bật pop stack.

c>n/2 : Tương tự.

a+d>n/2 : Bắt đầu đưa vào ngăn xếp cho đến 1 đầu tiên, sau đó bắt đầu bật từ ngăn xếp cho đến khi nó không trống. Sau khi nó trống, một lần nữa bắt đầu đưa vào ngăn xếp cho đến khi chúng ta đạt đến cái thứ ba 1. Từ đó bật pop stack.

b,c,a+d<n/2 : Bắt đầu đưa vào ngăn xếp cho đến 1 đầu tiên, sau đó bắt đầu bật từ ngăn xếp cho đến khi nó không trống. Sau đó là trống rỗng, một lần nữa bắt đầu đưa vào ngăn xếp cho đến khi chúng ta đạt đếna+n/2 (đoán phi deterministically, ở đâu đó giữa thứ hai và thứ ba 1). Từ đó bật pop stack.


Cảm ơn domotorp, tôi đang đọc ý tưởng của bạn; Tôi nghĩ { 0 a 1 0 b 1 0 c 0 c 1 0 d( n / 2 = a + b + c = c + d + 1 ) [ ( a = c ) ( c = d ) }RL{0a10b10c0c10d (n/2=a+b+c=c+d+1)[(a=c)(c=d)}(hai 1 trên nửa bên trái) liên kết ngược lại (hai 1 trên nửa bên phải). Vậy làm thế nào để bạn có được ? b=n/2c=n/2a+d=n/2
Marzio De Biasi

là HamDist nhiều nhất là 1 . Điều này xảy ra chính xác nếu hai trong số ba trận đấu 1, tức là một trận đấu ở vị trí tương tự trong hiệp một, vì trận đấu còn lại ở hiệp hai. Nếu hai số 1 này là số 1 và số 1 thứ hai, thì chúng ta nhận được b = n / 2 , nếu chúng là số 1 và số 1, chúng ta nhận được c = n / 2 và nếu chúng là số 1 và số 1, chúng ta sẽ nhận được b + c = n / 2 hoặc tương đương, a + d = n / 2RL1b=n/2c=n/2b+c=n/2a+d=n/2(trong đó tôi đang gian lận một chút với một số hằng số ). ±1
domotorp

Điều này có trả lời câu hỏi đầy đủ không?
Michaël Cadilhac

@domotorp: ok tôi hiểu rồi, cảm ơn! Nghi ngờ khác: từ (đó là ok) bạn viết L R = { . . . b > n / 2 c > n / 2 b , c < n / 2 } nhưng, nó là tương đương với: L RLR={...bn/2cn/2...}LR={...b>n/2c>n/2b,c<n/2} ? (điều kiện a + d được bỏ qua)LR={...(b<n/2b>n/2)(c<n/2c>n/2)}a+d
Marzio De Biasi

@Michael: Không 
domotorp
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.