Bằng chứng sử dụng bổ đề bơm thường xuyên


8

Tôi có hai câu hỏi:

  1. Tôi xem xét ngôn ngữ sau Nói cách khác, không phải là palindrom với độ dài chẵn. Tôi đã chứng minh rằng ngôn ngữ này KHÔNG thường xuyên bằng cách chứng minh rằng phần bổ sung của nó không thường xuyên. Câu hỏi của tôi là làm thế nào để chứng minh nó bằng cách sử dụng bổ đề bơm mà không sử dụng đi qua phần bù.w

    L1={w{0,1}u{0,1}:w=uuR}.
    w
  2. Đặt Tôi đã chứng minh rằng ngôn ngữ này không thường xuyên bằng cách sử dụng các lớp tương đương. Làm thế nào tôi có thể chứng minh nó bằng cách sử dụng bổ đề bơm?

    L2={w{0,1}w has same number of 101 substrings and 010 substrings}.

Cảm ơn rất nhiều vì đã chỉnh sửa :)


Ghi chú. Trình duyệt của tôi không hiển thị dấu hiệu "không tồn tại" trong mô tả của . Đừng lo lắng: nó có trong nguồn, và thay đổi trình duyệt giúp. L1
Hendrik ngày 1

Câu trả lời:


7

Không phải tất cả các ngôn ngữ không thường xuyên đều thất bại trong bài kiểm tra bổ đề bơm. Wikipedia có một ví dụ phức tạp khó chịu về một ngôn ngữ không thông thường có thể được bơm. Vì vậy, ngay cả khi một ngôn ngữ không thường xuyên, chúng ta có thể không thể chứng minh thực tế này bằng cách sử dụng bổ đề bơm.

Nhưng hóa ra chúng ta có thể sử dụng bổ đề bơm để chứng minh ngôn ngữ đầu tiên của bạn không thường xuyên. Tôi không chắc chắn về thứ hai.

Yêu cầu: là không thường xuyên.L1

Chứng minh: Bằng bổ đề bơm. Gọi là chiều dài bơm. (Tôi sẽ sử dụng bảng chữ cái thay vì .) Nếu , sau đó lấy chuỗi , có trong và bơm nó vào không phải là trong , vì vậy sẽ không thường xuyên.{ a , b } { 0 , 1 } p = 1 a b b a a L 1 a a b b a a L 1 L 1p{a,b}{0,1}p=1abbaaL1aabbaaL1L1

Nếu , sau đó lấy chuỗi . (Chúng ta sẽ tìm ra những gì chúng ta muốn trở thành sau này.) Sau đó xem xét bất kỳ phân chia chuỗi nào thành trong đó , và .a p b b a N N x y z x = a p - k y = a k z = b b a Np>1apbbaNNxyzx=apky=akz=bbaN

Bây giờ hãy bơm chuỗi này lần. (Chúng tôi sẽ tìm ra những gì chúng tôi muốn trở thành sau này.) Chúng tôi nhận được chuỗi , mang đến cho .i x y i z a p - k a i k b b a N = a p - k + i k b b a NiixyizapkaikbbaN=apk+ikbbaN

Bây giờ hãy sao lưu. Thứ nhất, chúng tôi đã chọn . Sau đó, một số lựa chọn của đã được thực hiện. Sau đó, chúng tôi chọn . Chúng tôi muốn tìm ra những gì để chọn do đó, đối với bất kỳ lựa chọn , chúng ta có thể chọn một mà làm cho chuỗi này một palindrome bằng cách làm cho số của bên trái bằng số trên bên phải. (Nó sẽ luôn có độ dài chẵn.)k i N k [ 1 , p ] i aNkiNk[1,p]ia

Vì vậy, chúng tôi muốn luôn nhận được rằng . Nếu chúng ta chơi xung quanh với toán học, chúng ta thấy rằng chúng ta nên chọnvà chọn .N = p + p ! i = p ! / k + 1pk+ik=NN=p+p!i=p!/k+1

Vì vậy, để tóm tắt lại, chúng tôi đã chọnvà chọn chuỗi . Sau đó, một số lựa chọn của đã được thực hiện sao cho chuỗi được tạo thành từ trong đó . Sau đó, chúng tôi đã chọn . Chúng tôi bơm chuỗi để có được .a p b b a N k a p - k y b b a N y = a k i = p ! / k + 1 a p - k y i b b a N = a p - k a i k b b a N = a p - kN=p+p!apbbaNkapkybbaNy=aki=p!/k+1apkyibbaN=apkaikbbaN=apk+ikbbaN

Nhưng chúng ta biết rằng. Và. Vì vậy, số lượng s trên cả hai đầu là như nhau, vì vậy các chuỗi là một palindrome thậm chí dài, vì vậy nó không có trong , vì vậy là không thường xuyên. N=p+p! mộtL1L1pk+ik=pk+(p!k+1)k=pk+p!+k=p+p!N=p+p!aL1L1


Câu trả lời hoàn hảo!
chia tay

Rất cám ơn sự giúp đỡ. Ý tưởng muốn chọn chuỗi một cách khôn ngoan.
chia tay

Tôi muốn cho bạn một câu trả lời cho cả hai ngôn ngữ, nhưng ngôn ngữ thứ hai có vẻ đau đớn! Cách tiếp cận đưa tôi đến câu trả lời đầu tiên là cố gắng chứng minh rằng thực sự có thể bơm được - khi tôi đến trường hợp cuối cùng và không thể chứng minh điều đó, tôi có thể bắt đầu xem cách xây dựng chuỗi ở trên. L1
usul

@usul làm thế nào bạn đến đây:, ? N=p+p!i=p!/k+1i=p!/k+1
Dima Knivets

3

Đối với câu hỏi một chuỗi Là một ví dụ phản biện phù hợp. Chiều dài của là bao nhiêu, nó phải là một yếu tố của, vì vậy chúng tôi bơm nó đủ và chúng tôi nhận đượcsố không khi bắt đầu.0p12p0p+p!yp!p+p!


1

Sau khi suy nghĩ lâu tôi nghĩ tôi đã trả lời 2.

chúng tôi chọn chuỗi (010) ^ N (101) ^ N, trong đó N là chiều dài bơm. Bất kể chúng ta sẽ chọn gì, xy ^ 0z sẽ có thêm 101 rồi 010. ý tưởng là chúng ta chỉ có thể thêm 101 chuỗi con trong phần đầu tiên của chuỗi hoặc xóa một số chuỗi phụ 010.


Thật không may, nó dường như không hoạt động :( Chuỗi 010010101101 (N = 2) có ba lần xuất hiện (!) Của mỗi lần. Xóa chữ cái thứ ba, chúng tôi nhận được 01010101101, vẫn còn ba lần xuất hiện của 010. Tôi vẫn còn bối rối. ...
Hendrik

Đúng! Nhưng chúng tôi có 4 lần xuất hiện 101! Và vì vậy, số lượng 101 chuỗi con! = Số lượng 010
chia tay

Giáo sư. Lấy làm tiếc. Tôi nên đọc chính xác những gì bạn nói: "thêm 101 chuỗi con". +1 (trường hợp đã đóng)
Hendrik
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.