Khái niệm tính toán hiệu quả


11

Thuật toán máy Turing đa thời gian được coi là hiệu quả nếu thời gian chạy của nó, trong trường hợp xấu nhất, bị giới hạn bởi hàm đa thức trong kích thước đầu vào. Tôi biết về luận điểm mạnh mẽ của Church-Turing:

Bất kỳ mô hình tính toán hợp lý nào cũng có thể được mô phỏng hiệu quả trên các máy Turing

Tuy nhiên, tôi không biết về lý thuyết vững chắc để phân tích độ phức tạp tính toán của các thuật toán của -calculus.λ

Chúng ta có một khái niệm về hiệu quả tính toán cho mọi mô hình tính toán đã biết không? Có mô hình nào chỉ hữu ích cho các câu hỏi tính toán nhưng vô dụng cho các câu hỏi phức tạp về tính toán không?

Câu trả lời:


9

Theo tôi biết, các mô hình chính của khả năng tính toán là tính toán, máy Turing và các hàm đệ quy . Tôi không nhận thức được tình huống liên quan đến sự phức tạp trong các hàm đệ quy, chúng có thể hoặc không vô dụng đối với sự phức tạp.

n

Tính toán Pure thuần túy tự nó vô dụng vì sự phức tạp. Tuy nhiên, một hệ thống loại đơn giản đã ra đời và cho phép đảm bảo chấm dứt đối với một số thuật ngữ một cách rất dễ dàng. Sau đó, một số hệ thống khác (hệ thống T , F , ..) cho phép một biểu cảm tuyệt vời trong khi tiếp tục chấm dứt.

Hiệu quả hoặc phức tạp là một sàng lọc chấm dứt và các loại có liên quan chặt chẽ với logic, sau đó đến logic logic tuyến tính nhẹ đặc trưng cho một số lớp phức tạp. ( Tiểu học , P và một số biến thể cho PSPACE và các biến thể khác). Nghiên cứu trong lĩnh vực này rất tích cực và không bị giới hạn trong các lớp phức tạp này, và thậm chí không bị giới hạn trong phép tính.

tl; dr: -compus rất hữu ích cho khả năng tính toán, kết thúc và lý thuyết phức tạp.

Tuy nhiên, để cung cấp tín dụng khi tín dụng đến hạn Máy Turing là một cách tốt và nhất trí để xác định mức độ phức tạp, nhưng điều đó chỉ đúng đối với các giới hạn lỏng lẻo như "đa thức", không phải là giới hạn chặt chẽ mà các mô hình giống PRAM phù hợp hơn.


Tại sao sau đó chúng ta thực hiện hầu hết các phân tích thời gian chạy bằng các mô hình giống như RAM?
Raphael

O(1)O(log|memory|)nlog27

@Raphael: bạn đã phản ứng với câu cuối cùng của tôi, phải không?
jmad

Vâng, tôi đã làm (vì lợi ích của người đọc thiếu kinh nghiệm).
Raphael

1

β

(λx.term)vterm[x:=v]
1

β

@Gilles: Cho rằng chúng tôi không biết chi phí thực sự (mô hình đơn nhất) thực hiện giảm tối ưu là bao nhiêu, nhận xét của bạn không thực sự phù hợp. Cho đến nay, các nghiên cứu này chỉ cung cấp một sàng lọc của vấn đề được nêu trong câu trả lời này.
Stéphane Gimenez

1

Về việc bao gồm calcul-tính toán trong mô hình phức tạp tiêu chuẩn, đây là bản tóm tắt từ một số (rất) nghiên cứu mới về chủ đề này. Nó đưa ra câu trả lời cho câu hỏi này đối với một số hình thức giảm bị hạn chế. Về cơ bản, độ phức tạp trong mô hình chi phí tiêu chuẩn tương tự như đếm các bước giảm khi bị hạn chế giảm đầu (bao gồm các chiến lược gọi theo tên và gọi theo giá trị).

Về sự bất biến của mô hình chi phí đơn nhất để giảm đầu của Beniamino Accattoli và Ugo Dal Lago. (WST2012, liên kết đến quá trình tố tụng )

Calcul-compus là một mô hình tính toán được chấp nhận rộng rãi của các chương trình chức năng bậc cao, nhưng không có bất kỳ mô hình chi phí trực tiếp và phổ biến nào được chấp nhận cho nó. Kết quả là, sự khác biệt tính toán của việc giảm các thuật ngữ to về dạng thông thường của chúng thường được nghiên cứu bằng cách suy luận về các thuật toán thực hiện cụ thể. Ở đây, chúng tôi chỉ ra rằng khi giảm đầu là động lực cơ bản, mô hình chi phí đơn nhất thực sự là bất biến. Điều này cải thiện các kết quả đã biết, chỉ xử lý việc giảm yếu (gọi theo giá trị hoặc gọi theo tên). Tính bất biến được chứng minh bằng cách tính toán tuyến tính thay thế rõ ràng, cho phép phân tách độc đáo bất kỳ bước giảm đầu nào trong phép tính to thành các bước thay thế cơ bản hơn, do đó làm cho việc kết hợp giảm đầu dễ dàng hơn để lý do.


λ
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.