Các ngôn ngữ thông thường được đóng lại dưới sự bổ sung?


10

Cụ thể, ý tôi là gì khi thêm vào, chúng tôi xác định là bảng chữ cái { 0 , 1 , 2 , . . . , tôi } . Với ngôn ngữ bình thường MộtB theo một số bảng chữ cái Σ i , nhìn vào Một × B .Σi{0,1,2,...,i}ABΣiA×B

Với mỗi cặp được đặt hàng , hãy xác định "tổng" của cặp được đặt hàng này là a + b , trong đó ab là các số trong cơ sở i. Leading 0 được bỏ qua, vì vậy 0 * là ở phía trước của tất cả các chuỗi được chấp nhận. Điều này ngụ ý ϵ được định nghĩa là 0.(a,b)A×Ba+bab0ϵ

Ngôn ngữ là tập hợp các chuỗi đại diện cho tất cả các khoản tiền có thể có như vậy.A+B

Cho đến nay, tôi biết:

  • Điều này đúng trong unary ( ).Σ1
  • Điều này đúng với mọi ngôn ngữ thông thường hữu hạn B , bởi vì bất kỳ ngôn ngữ hữu hạn nào là thông thường và A + B là hữu hạn.ABA+B
  • Ngôn ngữ = { s | s là bội số của n trong cơ sở b } dưới Σ b là thường xuyên cho mọi b > = 1 . Điều này có nghĩa là bất kỳ ngôn ngữ nào có dạng C n cũng có thể được thêm vào, vì C i + C j = C i + j , cũng là ngôn ngữ thông thường. Tuy nhiên, có những ngôn ngữ như D = { s | s bắt đầu và kết thúc bằng 1} không phù hợp với tiêu chí này, vì vậy điều này không mô tả tất cả các ngôn ngữ thông thường.Cn{|}Σbb>=1CnCi+Cj=Ci+jD{|

2
Không phải là nếu A thường xuyên ở cơ sở 2, thì nó cũng thường xuyên ở cơ sở 3, hãy xem xét, ví dụ, quyền hạn của 2.
domotorp

Tôi hiểu rồi, bạn nói đúng. Tôi chỉnh sửa câu hỏi cho phù hợp. Tôi đã cố gắng chứng minh điều đó, và nó có vẻ đúng, và sau đó tôi đã hiểu sai về sự đồng hình là gì và cho rằng nó là đúng. Nhưng nó không phải, xin lỗi về điều đó. Nếu một ngôn ngữ là thường xuyên trong cơ sở b ^ a đối với một số a> 1 thì nó cũng thường xuyên trong bất kỳ cơ sở nào khác b ^ (ac) cho bất kỳ 1 <= c <a nào. (ví dụ, nếu một ngôn ngữ thường xuyên ở cơ sở 8, thì nó cũng thường xuyên ở cơ sở 4 và 2, chỉ đơn giản bằng cách mô phỏng cơ sở 8 dfa).
Phylliida

"Điều này ngụ ý ϵ được định nghĩa là 0". Tôi không hiểu điều đó có nghĩa là gì. Nếu 0 và giống nhau, thì tất cả 0 đều có thể bị xóa và việc giải đoán số không còn hoạt động.
babou

Vấn đề đơn giản là nếu một chuỗi rỗng nằm trong một cặp có thứ tự, nó sẽ thêm 0 vào chuỗi khác. Ngoài ra, đối với bất kỳ chuỗi nào có 0 đầu, chúng có thể bị xóa. Điều này có nghĩa là 000101 giống như 101 chẳng hạn. Đây là những gì tôi muốn nói, nếu một chương trình ε lên trong một chuỗi bằng cách riêng của mình , hơn là tương đương về giá trị đối với một số tiền là 0, hoặc 00, hoặc 000 với tự . Nếu các chuỗi đó nằm trong một chuỗi khác, tất cả các cược sẽ bị tắt và sự thay thế này không còn hiệu lực.
Phylliida

Câu trả lời:


14

Vâng, họ là.

Σi3AABBCABABC sử dụng thực tế là bạn có thể thực hiện bổ sung bằng cách quét từ phải sang trái trong khi chỉ giữ một chữ số duy nhất là trạng thái.

ABCAB


Điều đó thực sự tuyệt vời. Tôi không nhận ra bạn có thể sử dụng những ngăn xếp đó theo cách đó. Cảm ơn!
Phylliida

Tuy nhiên, phải thừa nhận rằng đây là một iffy nhỏ vì trong trường hợp này, nó chỉ chứa các chuỗi có cùng kích thước, vì chúng ta có thể "mô phỏng" các chuỗi có kích thước khác nhau bằng cách thêm các số 0 ở bên trái và thật đơn giản để sửa đổi một dfa thành một dfa khác nhận ra 0 * trước tất cả các chuỗi chấp nhận (một khi bạn xây dựng dfa tổng hợp để nhận ra C với phép đồng hình).
Phylliida

Tôi cho rằng chìa khóa lớn nhất là A và B phải được "sửa đổi về mặt kỹ thuật" theo cùng một cách là 0 * A và 0 * B, và một khi chúng ta làm điều đó đủ, với mỗi cặp a và b, hãy tìm tổng 0 * a + 0 * b st cả hai giá trị đều có đủ 0 đầu để khớp với kích thước và sau đó kết quả có thể bị tước 0 khi cần vì C được sửa đổi theo cùng một cách. Điều đó có ngụ ý hay có cách nào đơn giản hơn để xem xét rằng tôi đang thiếu?
Phylliida

Vâng, có một số kỹ thuật liên quan đến đệm nhưng chúng không thực sự thay đổi các ý tưởng cơ bản nên tôi đã bỏ qua chúng.
David Eppstein

Thật tuyệt, điều đó có ý nghĩa.
Phylliida

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.