Định nghĩa ngôn ngữ đệ quy và đệ quy cho một giáo dân


24

Tôi đã bắt gặp nhiều định nghĩa về ngôn ngữ đệ quy và đệ quy. Nhưng tôi không thể hiểu chúng là gì.

Ai đó có thể vui lòng cho tôi biết những gì họ nói bằng những từ đơn giản?

Câu trả lời:


17

Không hẳn vậy. Bạn nên đọc một vài cuốn sách. Có lẽ chúng tôi có thể đề nghị một số.

Điều đó nói rằng, một ngôn ngữ được đệ quy nếu có máy Turing hơn là luôn có thể trả lời "có" hoặc "không" nếu một chuỗi nhất định là một phần của ngôn ngữ này. Nếu chúng ta nâng yêu cầu này chỉ đơn thuần là nói "có" cho các chuỗi ngôn ngữ (nó có thể chạy mãi mãi nếu không) thì chúng ta có một ngôn ngữ có thể đếm được đệ quy. Không khó để thấy rằng ngôn ngữ đệ quy có thể được quyết định bởi máy Turing, trong khi ngôn ngữ đệ quy có thể có các chuỗi được liệt kê (ví dụ: bằng cách chạy song song một số lượng máy Turing - có thể, điều này là có thể, xem đuôi bồ câu - trên tất cả các chuỗi của bảng chữ cái và xuất ra một chuỗi nếu TM tương ứng chấp nhận). Có rất nhiều, rất nhiều định nghĩa tương đương.


18

Một vấn đề là đệ quy hoặc có thể quyết định nếu một máy có thể tính toán câu trả lời.

Một vấn đề là vô số đệ quy hoặc bán chính xác nếu một máy có thể bị thuyết phục rằng câu trả lời là tích cực.


3

Một ngôn ngữ chỉ là một chuỗi các chuỗi. Có thể của cardinality vô hạn.

Một ngôn ngữ có thể được đệ quy nếu có tồn tại một TM giữ đầu ra các chuỗi thuộc về ngôn ngữ (và chỉ các chuỗi như vậy), sao cho cuối cùng mọi chuỗi trong ngôn ngữ sẽ xuất hiện.

Một ngôn ngữ được đệ quy nếu, TM ở trên không chỉ xuất ra tất cả các chuỗi trong ngôn ngữ, mà còn thực hiện theo thứ tự! (nói, từ vựng).

Tôi chắc chắn rằng bạn có thể dễ dàng nghĩ về các ngôn ngữ đệ quy (và xây dựng một TM xuất ra chúng theo thứ tự). Khá khó khăn để đưa ra các ngôn ngữ đệ quy đệ quy (không phải là đệ quy), trừ khi bạn đọc thêm một số thông tin về tính không ổn định và đường chéo. Nhưng những ngôn ngữ như vậy có tồn tại.


1
Đối với tôi định nghĩa của bạn là tốt nhất, tối đa một chi tiết: thứ tự phải là một thứ tự tính toán: phải có thể so sánh bất kỳ hai chuỗi nào với một TM kết thúc. Nhiều định nghĩa khác nhầm lẫn giữa tính vô số và tính quyết định. Đây là những khái niệm khác nhau, mặc dù chúng có thể được chứng minh tương đương với các chuỗi hữu hạn. (Xem ví dụ: Các ngôn ngữ có chuỗi vô hạn có thể được liệt kê đệ quy không ? .
babou

2

Một số ngôn ngữ đệ quy có thể được quyết định bởi một số Turing Machine, nghĩa là, có một TM có thể, với bất kỳ chuỗi đầu vào nào (trên bảng chữ cái thích hợp) trả lời đúng có nếu chuỗi đó bằng ngôn ngữ hoặc không nếu nó không có trong ngôn ngữ.

Các ngôn ngữ đệ quy đệ quy chỉ được nhận dạng, tức là tồn tại Máy Turing chấp nhận khi chuỗi nằm trong ngôn ngữ nhưng nó có thể lặp lại mãi mãi nếu chuỗi không có ngôn ngữ.


0

Tôi cảm thấy sự khác biệt chính giữa các ngôn ngữ đệ quy và đệ quy là các máy Turing đệ quy tạm dừng ở trạng thái không phải là cuối cùng nếu nó không chấp nhận một chuỗi

Máy Turing có thể đếm được đệ quy nếu nó không chấp nhận một chuỗi có thể dừng ở trạng thái không phải là vòng lặp cuối cùng hoặc không bao giờ xảy ra đối với các ngôn ngữ đệ quy


0

==> Một ngôn ngữ được đệ quy nếu tồn tại máy Turing chấp nhận mọi chuỗi trong ngôn ngữ và từ chối nếu ngôn ngữ đó không có trong ngôn ngữ. ví dụ: hãy lấy máy Turing M và Chuỗi w: nếu chuỗi w là thành viên của máy Turing M, thì M tạm dừng ở trạng thái cuối cùng nếu không nó sẽ từ chối tính toán. ==> ==> Một ngôn ngữ được đệ quy vô số nếu tồn tại một máy Turing chấp nhận mọi chuỗi trong ngôn ngữ và từ chối nếu ngôn ngữ đó không có trong ngôn ngữ có thể bị lặp lại mãi mãi. ví dụ: hãy lấy Turing machine M và String w: nếu chuỗi w ở trong ngôn ngữ, thì M dừng lại ở trạng thái cuối cùng. Nếu không, nó từ chối tính toán hoặc có thể được chạy mãi mãi.

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.