Làm thế nào các giải pháp của một phương trình Diophantine có thể được thể hiện như một ngôn ngữ?


7

Tôi đã được đưa ra câu hỏi

Trường hợp ngôn ngữ nào sau đây phù hợp với hệ thống phân cấp Chomsky?

Giải pháp không âm (x,y) phương trình Diophantine 3x-y= =1.

Tôi hiểu các ngôn ngữ như , nhưng ngôn ngữ này làm tôi bối rối. Các từ trong ngôn ngữ trông như thế nào? Làm thế nào tôi có thể biểu diễn nó bằng ngữ pháp hoặc biểu thức chính quy?L= ={0n1n|n1}


Để biết giải pháp cho bài tập, hãy xem Ngôn ngữ của biểu đồ hàm affine
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


5

Điều đầu tiên bạn sẽ muốn làm là xem xét chính cụm từ đó và bỏ qua tất cả các tham chiếu đến các ngôn ngữ trong giây lát.

Vì vậy, các giải pháp không âm cho phương trình diophantine là gì 3x-y= =1? Nếu chúng tôi sửa một sốx, sau đó y= =3x-1. Điều này có nghĩa là tập hợp các giải pháp là{(x,3x-1) | x>0} (lưu ý rằng x= =0 mang lại một tiêu cực yvà tích cực x mang lại một sự tích cực y).

Bây giờ, chúng ta có thể liên kết một chuỗi với bất kỳ cặp số không âm nào (x,y): ví dụ, (100,299) có thể được liên kết với chuỗi (100, 299) . Nếu chúng ta áp dụng điều này cho mọi cặp trong tập hợp, tập hợp chuỗi kết quả là ngôn ngữ của tập hợp này. Lưu ý rằng câu hỏi không thực sự làm rõ cách liên kết một chuỗi với một giải pháp, nhưng tôi khá chắc chắn rằng chúng có nghĩa như trên.

Bây giờ tất cả những gì bạn phải làm là tìm ra mức độ của Phân cấp Chomsky mà ngôn ngữ này rơi vào. Vì tôi có một nghi ngờ nhẹ rằng đây là một câu hỏi bài tập về nhà, tôi sẽ không đổ đậu ngay lập tức. Nếu bạn có thể xác nhận đây không phải là câu hỏi bài tập về nhà và bạn vẫn cần trợ giúp, tôi sẽ chỉnh sửa câu trả lời.


Đó là bài tập về nhà. Tôi biết vấn đề thế hệ cho điều này chỉ có thể giải quyết được bằng máy turing hoặc tương đương. Tôi có thể thấy vấn đề nhận dạng cũng sẽ như vậy, vì vậy tôi nghĩ rằng đó là lớp chomsky cụ thể nhất là đệ quy. Tôi không biết làm thế nào để chỉ ra rằng nó không nhạy cảm với bối cảnh.
justausr

@justausr Ngôn ngữ là ngữ cảnh nhạy cảm: một ngôn ngữ là ngữ cảnh nhạy cảm, nó có thể được phân tích cú pháp bởi một số chương trình bằng cách sử dụng tính không xác định và tại hầu hết không gian tuyến tính (vì vậy không bị ràng buộc về thời gian). Tôi khá chắc chắn rằng tôi có thể phân tích cú pháp 100, tính toán 100 * 3-1 và kiểm tra xem nó có bằng 299 trong thời gian tuyến tính hay không, và do đó, không gian tuyến tính, khiến ngôn ngữ này nhạy cảm với ngữ cảnh.
Alex ten Brink

suy nghĩ của tôi về câu hỏi bài tập về nhà cho những gì nó có giá trị, meta.cs.stackexchange.com/a/174/596
justausr

@AlextenBrink: Phép nhân mất thời gian bậc hai trên các TM, tuy nhiên không gian tuyến tính vẫn hoạt động.
Raphael

@Raphael Phép nhân của hai số nguyên không liên kết tùy ý là bậc hai, nhưng nhân một số nguyên không liên kết tùy ý với một hằng số cố định sẽ là tuyến tính, phải không?
Ben

5

Báo cáo vấn đề thực sự chưa hoàn chỉnh, nhưng khi bạn thấy điều này, bạn có thể giả định một cách an toàn rằng, đại diện cho các số nguyên trong ký hiệu thập phân , hay đại diện cho các số nguyên trong ký hiệu nhị phân .


Vì vậy, ở đây, nếu chúng ta giả ký hiệu nhị phân, bảng chữ cái là chứa 5 ký tự: 0, 1, (, ),. Nếu chúng ta giả sử ký hiệu thập phân, bảng chữ cái sẽ chứa các chữ số 2thông qua 9.

Ngôn ngữ trong câu hỏi là tập hợp con của ngôn ngữ khớp với biểu thức chính quy ((0|1)*,(0|1)*)(đi với ký hiệu nhị phân). Nếu chúng ta giả sử trường hợp đơn giản hơn của phương trình2x-y= =0, sau đó ngôn ngữ sẽ là tất cả các cặp số (x,y) như vậy mà y= =2x. Trong nhị phân, điều này có nghĩa làyxvới một bổ sung 0ở cuối. Nói cách khác, ngôn ngữ sẽ bao gồm các từ có dạng(x,x0). Trường hợp này phù hợp với hệ thống phân cấp Chomsky?

Ở đây, chúng tôi có một ví dụ phức tạp hơn: bạn phải nhận ra liệu y= =3x-1. Làm thế nào để mở rộng nhị phân (hoặc thập phân) củaxy so sánh khi y= =3x-11?


1

Câu hỏi chưa đầy đủ, vì một ngôn ngữ là một tập hợp các từ, không phải các cặp. Nếu bạn mã hóa nó thànhx$y Ở đâu x,y là ở dạng nhị phân, nó nhạy với ngữ cảnh nhưng không có ngữ cảnh (xem câu trả lời của Gilles), nếu bạn mã hóa nó dưới dạng x$yR nó không có ngữ cảnh nhưng không thường xuyên (tập thể dục), nếu bạn xen kẽ các bit của xy, nó là thường xuyên! Xem ở đây .


Câu trả lời thậm chí còn tầm thường hơn nếu mã hóa là đơn nguyên. Nhưng sau đó, câu trả lời này nên ở đây , nơi nó sẽ là dư thừa.
Raphael

Raphael: Tôi không đồng ý, câu hỏi đó có mã hóa đầu vào được xác định rõ. Câu hỏi này không, và tôi chỉ ra nó rất quan trọng.
sdcvvc

Nhưng ý kiến ​​của bạn về các lớp mà ngôn ngữ kết quả sẽ không có ích cho câu hỏi này; nó chỉ là về cách mã hóa những thứ như thế này.
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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.