Sự khác biệt giữa tính quyết định và tính toán là gì?


8

Nếu chúng khác nhau, các vấn đề điển hình trong mỗi vấn đề không thuộc về loại khác là gì? Hoặc là loại trừ lẫn nhau hoặc người này hoàn toàn nắm bắt được người kia?


3
Khả năng tính toán là một thuộc tính của các chức năng, tính quyết định là một thuộc tính của ngôn ngữ (và các vấn đề mà chúng thể hiện). Tôi biết không có sự phân biệt khác ngoài điều đó.
saadtaame

Cảm ơn ... Tôi tò mò mặc dù: một số ví dụ điển hình của các chức năng không thể tính toán được là gì? Và một ngôn ngữ là một tập hợp hữu hạn của chuỗi? Điều gì làm cho một ngôn ngữ có thể quyết định hay không?
sdfasdgasg

Một thuộc tính bắt buộc của thuật toán là chấm dứt, các hàm tính toán được xác định để bắt thuộc tính này. Do đó, bất kỳ chương trình máy tính / chức năng máy Turing nào không dừng trên tất cả các đầu vào đều không thể tính toán được. Một ngôn ngữ là một tập hợp các chuỗi trên một số bảng chữ cái hữu hạn; ngôn ngữ có thể là vô hạn (ví dụ: tập hợp các chuỗi nhị phân). Một ngôn ngữ có thể quyết định được nếu có máy Turing (thực ra, tôi nên nói chương trình máy Turing) quyết định tư cách thành viên trong ngôn ngữ đó (nói CÓ nếu chuỗi đầu vào thuộc ngôn ngữ).
saadtaame

Viết câu cuối cùng của bạn: Tại sao máy Turing quan tâm đến việc chuỗi đầu vào có phải là một phần của ngôn ngữ cụ thể hay không (dù sao nó cũng không thể đọc / đánh giá tất cả ngôn ngữ đó). Không phải tất cả những vấn đề bao gồm liệu TM có thể đọc biểu tượng nơi đầu của nó hiện tại và trạng thái hiện tại của TM không?
sdfasdgasg

2
Một lần nữa, điều này là khá cơ bản, chủ yếu là công cụ xác định. Bạn nên dành nhiều nỗ lực hơn cho các câu hỏi của bạn, nêu chi tiết vấn đề của bạn nằm ở đâu.
Raphael

Câu trả lời:


5

Một hàm trên các chuỗi hữu hạn được gọi là tính toán nếu nó có thể được tính toán bởi một chương trình (chính thức hơn là máy Turing).

Một tập hợp các chuỗi hữu hạn có thể tính toán được nếu nó là vấn đề thành viên trong tập hợp đó (đã cho x, Là xL?) có thể được quyết định theo thuật toán (chính thức hơn bằng cách sử dụng máy Turing).

Chúng được sử dụng cho các loại đối tượng khác nhau.

Từ "tính toán" có thể được sử dụng cho một bộ. Khi chúng ta nói rằng một tập hợp có thể tính toán được, chúng tôi có nghĩa là tập hợp có thể quyết định được (điều này tương đương với việc nói rằng hàm đặc trưng của tập hợp có thể tính toán được).

Thật vô nghĩa khi nói một chức năng là có thể quyết định.


1
Trong đoạn thứ hai, bạn có nghĩa là "có thể quyết định" thay vì "tính toán", phải không? ("Một tập hợp các chuỗi hữu hạn là có thể quyết định ...") Tại sao lại hạn chế "hữu hạn"?
chs

@chs Khi nào thì TM 'quyết định', nếu nó là vô hạn?
OJFord
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.