Chính xác thì tính toán là gì?


20

Tôi biết tính toán là gì trong một số ý nghĩa mơ hồ (đó là điều máy tính làm), nhưng tôi muốn một định nghĩa chặt chẽ hơn.

Dictionary.comCác định nghĩa về tính toán, tính toán, tính toán và tính toán là thông tư, vì vậy nó không có ích.

Wikipediađịnh nghĩa tính toán là "bất kỳ loại tính toán nào tuân theo mô hình được xác định rõ". Nó định nghĩa phép tính là "quá trình có chủ ý biến đổi một hoặc nhiều đầu vào thành một hoặc nhiều kết quả, với sự thay đổi biến đổi." Nhưng có vẻ như định nghĩa này bao gồm nhiều hành động như tính toán mặc dù chúng thường không được coi là tính toán.

Ví dụ, liệu điều này có đòi hỏi rằng, một vụ nổ bom là một sự tính toán, với đầu vào là cầu chì được thắp sáng và đầu ra là vụ nổ?

Vậy, tính toán chính xác là gì?


Đó là một câu hỏi tuyệt vời, cổ điển.
Ran G.


@Raphael Theo như tôi biết, tính toán! = Một thuật toán. Có lẽ việc thực hiện một thuật toán là tính toán.
Kelmikra

Đối với tôi, "P là tính toán" == "Có một thuật toán giải P" (đối với P một số vấn đề). Điều này có thể là một kết quả từ quan điểm TCS của tôi, mặc dù.
Raphael

@Raphael Đây là hỏi tính toán là gì, không có nghĩa là P có thể tính toán được.
Kelmikra

Câu trả lời:


6

Có lẽ vấn đề ở đây là tìm kiếm một định nghĩa rất cụ thể về một khái niệm rất chung chung. Tôi không thấy vấn đề xem hầu như mọi thứ là sự tính toán. Mặc dù chúng tôi không nghĩ về điều đó, nhưng tất cả mọi thứ chúng tôi làm đều có thể biểu hiện được về mặt Vật lý của các bộ phận cấu thành, cho đến ít nhất là các quark ầm ĩ. Chúng tôi có cùng một tình huống với tính toán. Có đầu vào, đầu ra và một quá trình (tất cả đều có thể là tầm thường). Cho dù chúng thú vị hay hữu ích như các tính toán hoặc mô hình tính toán là một câu hỏi rất khác nhau.

Định nghĩa làm việc mạnh mẽ nhất mà chúng ta đã đưa ra thông qua Luận án Church-Turing (mạnh), trong đó nêu rõ rằng mọi mô hình tính toán có thể thực hiện được về mặt vật lý đều không mạnh hơn Turing Machine. Nếu bạn tin rằng điều này là đúng, thì mặc dù chúng ta có thể có nhiều cách để diễn đạt mọi thứ, cuối cùng chúng ta có thể giảm mọi tính toán cho Máy Turing, từ đó đưa ra định nghĩa về tính toán là "mọi thứ chúng ta có thể giảm cho Máy Turing".

Trong mô hình này, quả bom phát nổ là một tính toán. Nó không phải là một ứng dụng rộng rãi (chúng tôi hy vọng;)), nhưng chúng ta có thể tạo mô hình theo kiểu nào đó bằng Máy Turing (mặc dù có tranh luận ở đây về bản chất của đầu ra và tương đương với đầu ra của TM). Nói chung, nó cũng không phải là một mô hình tính toán tốt, vì dường như mô hình bom nổ không hoàn thành.


2
Thay vì lạc đề, nhưng tôi cá là mô hình bom nổ là Turing hoàn tất! Vụ nổ có thể gây ra các vụ nổ khác, có thể được sử dụng để truyền tín hiệu và tạo cổng. Bom b có thể được thiết lập để phát nổ tại một thời điểm nhất định thông qua một thiết bị, nhưng một quả bom gần đó có thể vô hiệu hóa thiết bị trong khi không khiến b phát nổ, điều này cho phép không có cổng.
Kelmikra

@ Kyth'Py1k thích cổng domino? Tôi không nghĩ rằng nó sẽ được hoàn thành bởi vì bạn không thể lặp đi lặp lại vô thời hạn vì "tính toán" sẽ luôn dừng lại dựa trên kích thước của máy / mỏ khai thác
ratchet freak

1
@ratchetfreak Không trừ khi hài cốt của bom được chế tạo thành bom mới thông qua các nanobots trong đó và sau đó được định vị lại ...
Kelmikra

4

Đây là câu hỏi mà Turing đặt ra để giải quyết trong bài báo nổi tiếng năm 1936 của ông, Về những con số có thể tính toán được, với một ứng dụng cho Entscheidungsprobols , một bài báo mà ông đã đưa ra (mô hình được gọi là) mô hình máy Turing. Xem cụ thể Mục 9.

Công việc của Turing là trong bối cảnh của những con số tính toán . Có những khái niệm khác về tính toán thích hợp để tính toán các loại cấu trúc khác, và nghiên cứu của chúng tạo thành một phần của lý thuyết tính toán (còn được gọi là lý thuyết đệ quy).

Sự khác biệt chính giữa khái niệm chung về tính toán và ví dụ của bạn (một quả bom phát nổ) là thứ được tính toán. Điều gì đang được tính toán bởi quả bom phát nổ của bạn? Một sự khác biệt khác là các phương tiện tính toán, nhưng người ta có thể hình dung ra một cỗ máy cơ học sử dụng bom để tính toán một cái gì đó hợp pháp hơn.

Một điểm khác là liệu các khái niệm cổ điển về tính toán có áp dụng cho những gì chúng ta cho là ngày nay là tính toán hay không - cụ thể là sự tương tác hai chiều giữa máy tính và người dùng. Đây là một lời chỉ trích phổ biến được đánh giá dựa trên khái niệm cổ điển về khả năng tính toán, mặc dù sự tương tác có thể được mô hình hóa bằng các công cụ của lý thuyết tính toán (nó không chỉ là những gì bạn học trong lớp).


Tất nhiên một vụ nổ là một tính toán. Nó "tính toán" chính xác sự biến đổi đơn nhất mô tả vụ nổ. BTW, nhiều lần các nhà vật lý mà tôi gặp đã "buồn bã" khi bạn nói rằng (nói) một số cổng lượng tử tính toán một đơn vị, thay vì phát triển nó, hoặc biến đổi hệ thống vật lý cho phù hợp (" cổng có lấy bút và giấy và tính toán đơn nhất "?) :)
Ran G.

Tôi đã đọc phần chín của "Về những con số có thể tính toán được, với một ứng dụng cho Entscheidungsprobols", nhưng nó dường như không thực sự có ích. Mặc dù tôi đã không đọc nó cực kỳ kỹ lưỡng, nhưng dường như nó đang đặt nền móng cho các máy Turing. Bạn có nói rằng tính toán là bất cứ điều gì có thể được mô hình hóa như một hành động được thực hiện bởi máy Turing không? Nếu vậy, hầu như mọi thứ sẽ không phải là một tính toán? Ví dụ, vụ nổ bom có ​​thể được mô hình hóa như một cỗ máy Turing sao cho vị trí, vận tốc và loại hạt lượng tử của các hạt xung quanh được mã hóa thành nhị phân.
Kelmikra

"Những gì đang được tính toán bởi quả bom phát nổ của bạn?" Sự thay đổi trạng thái của các hạt xung quanh quả bom theo định luật vật lý đang được tính toán.
Kelmikra

"Một điểm khác là liệu các khái niệm cổ điển về tính toán có áp dụng cho những gì chúng ta cho là ngày nay là tính toán hay không - cụ thể là sự tương tác hai chiều giữa máy tính và người dùng." Tôi không nghĩ rằng đây là những gì được coi là tính toán. Robot tự trị được coi là thực hiện các tính toán, mặc dù chúng không cần tương tác với người dùng.
Kelmikra

Đây là một ý tưởng: điện toán là quá trình tạo ra các kết quả đầu ra để hỗ trợ suy luận được thực hiện bởi các trình tối ưu hóa (ví dụ như con người và robot). Thế nào
Kelmikra

1

Trên mức cơ bản nhất của nó, một tính toán chỉ là một bản đồ giữa một số bộ với một số bộ . mỗi được gọi là một đầu vào và tính toán bản đồ đầu vào này cho một số đầu ra . Ánh xạ cần được xác định trên toàn bộ miền của nó: nếu một số đầu vào không được ánh xạ bởi tính toán, thì tính toán trên không được xác định. (1)B x A y B x A xABxAyBxAx

Các câu trả lời tuyệt vời khác trong chủ đề này cố gắng vẽ sơ đồ kết nối giữa ánh xạ này và phương pháp để đạt được nó. Đó là, họ giải thích rằng để "tính toán" đầu ra của một số đầu vào , chúng ta cần một phương thức được xác định rõ ràng có hệ thống, đưa chúng ta từ đầu vào đến đầu ra . Trong khi đúng, điều này là không cần thiết để xác định tính toán. Thật vậy, nếu bạn gặp một Genie và mỗi khi bạn đưa cho họ một số họ trả lời với , thì họ sẽ tính toán một cái gì đó (ngay cả khi ánh xạ này không được đệ quy và không máy tính nào có thể tạo ra nó).x y x yxxyxy

Theo cách rất rộng này để xem tính toán, bất kỳ thiết bị vật lý nào cũng là máy tính: nó chuyển hệ thống vật lý tại thời điểm (đầu vào của nó) sang một hệ thống khác tại thời điểm (đầu ra). Hơn nữa, tính toán này được xác định rõ (nghĩa là có thể được chỉ định một cách gọn nhẹ, ví dụ, bằng các ma trận đơn vị). Nếu bạn thiết kế thiết bị đúng cách, nó có thể thực hiện hầu hết mọi tính toán (đệ quy) mà bạn mong muốn. (Scott Aaronson nói khá nhiều về "Các vấn đề có thể tính toán tự nhiên", mặc dù trọng tâm của ông chủ yếu là các vấn đề hoàn chỉnh NP, nhưng điều này rất phù hợp với cuộc thảo luận này).t = 1t=0t=1

Dòng dưới cùng: bất kỳ ánh xạ xác định một tính toán. Bất kỳ "thiết bị" nào chuyển đổi đầu vào thành đầu ra tương ứng, sẽ thực hiện ("tính toán") tính toán cụ thể đó.



(1) chúng ta có thể mở rộng cuộc thảo luận cho các loại tính toán này, điều này sẽ có ý nghĩa khi bạn nghĩ về các funcitons không được đệ quy, nhưng tôi không muốn đến đó.


Vấn đề với định nghĩa này là nó không tương ứng với cách từ "tính toán" thực sự được sử dụng. PC được cho là làm tính toán, trong khi, nói, chất nổ thì không.
Kelmikra

IMHO một ánh xạ chính xác là những gì một tính toán không phải là. Tôi nghĩ bạn nhầm lẫn cú pháp và ngữ nghĩa. Rõ ràng bạn hiểu ánh xạ như một mối quan hệ đầu vào-đầu ra, tuy nhiên được xác định. Bởi tất cả các cuốn sách của tôi, đó là ngữ nghĩa. Tính toán là phương tiện được sử dụng để thực sự có được đầu ra tương ứng với một số đầu vào thông qua một chuỗi các bước. Mặc dù bạn có thể nói rằng bất kỳ tính toán nào cũng xác định ánh xạ (nếu chỉ là cú pháp), tôi nghĩ thật sai lầm khi xem xét rằng ánh xạ xác định tính toán, trừ khi bạn giải thích cẩn thận rằng bạn đang đi vào siêu máy tính có vẻ hơi vượt quá câu hỏi.
babou

Tôi nên làm rõ tinh thần của câu trả lời của tôi (tôi nhận ra nó không được diễn đạt theo cách đó): bản đồ không phải là một tính toán. Các quá trình chuyển đổi một đầu vào một đầu ra là một tính toán rằng việc sơ đồ cụ thể (chức năng). Những gì tôi đã cố gắng truyền đạt là quá trình cụ thể có liên quan, bất kỳ quá trình như vậy là một tính toán (thậm chí là một quá trình rất trừu tượng, ví dụ, một "lời tiên tri").
Ran G.

1

Tôi sẽ không cố gắng xác định tính toán là gì, được Luke Mathieson và Yuval Filmus thực hiện khá tốt.

Tuy nhiên, suy nghĩ về một thiết bị phát nổ như một tính toán dẫn tôi đến một vấn đề quan trọng: nếu vụ nổ là một tính toán, thì nó tính toán cái gì? Khác với một đại diện của thiết bị sau khi nó đã phát nổ.

Điều tôi đang nhắm đến là chúng ta có thể định nghĩa khá chính xác những gì chúng ta coi là một tính toán, và thậm chí những gì có thể được nhìn thấy (giả định?) Là một. Chúng ta có thể mô tả một tính toán. Nhưng chúng ta có thể nói nó là gì không?

Tính toán, như thường được xác định, là một trò chơi hoàn toàn cú pháp. Đây là một trò chơi của các cấu trúc vật lý đang được chuyển đổi theo các quy tắc chính xác. Vì công cụ duy nhất của chúng tôi (tối đa là các phép biến đổi tiêu chuẩn) để biểu diễn các cấu trúc vật lý cuối cùng là chuỗi ký hiệu, tính toán cuối cùng được định nghĩa là một số loại biến đổi chính thức trên chuỗi ký hiệu. Điều này đúng với Turing Machines, lambda-compus, các hàm đệ quy một phần và các mô hình ít phổ biến khác. Từ tính toán (như trong lambda-compus) thực sự phản ánh quan điểm này, như trong tiếng Latin, tính toán là những viên đá nhỏ được sử dụng để đại diện.

Nhưng điều này không nói lên ý nghĩa của việc gắn với cú pháp này là gì, nó đại diện cho điều gì. Đây là những gì tôi nghĩ tôi hiểu, vì tôi không phải là chuyên gia về các vấn đề như vậy (vì vậy hãy kiểm tra lại tôi). Vấn đề được bao phủ bởi lý thuyết mô hình .

Với một hệ thống biểu diễn chính thức, có thể liên quan đến logic (tiên đề và quy tắc suy luận) hoặc hệ thống tính toán (quy tắc biến đổi), một mô hình của lý thuyết chính thức là một cấu trúc toán học với các thành phần tuân theo các quy tắc này.

Cùng một tính toán, hay chính xác hơn là cùng một mô tả về một tính toán thực sự có thể có nhiều mô hình tương ứng với các thực thể rất khác nhau.

Ví dụ, thuật toán GCD mô tả một tính toán. Nhưng nó có thể được giải thích trên các số tự nhiên, hoặc trên đa thức.

Điều này gợi nhớ đến Bertrand Russell'quote :

Toán học có thể được định nghĩa là chủ đề mà chúng ta không bao giờ biết những gì chúng ta đang nói, cũng như những gì chúng ta đang nói là đúng.

Tình hình là khá nhiều giống nhau cho tính toán. Đây là một trò chơi chính thức, nơi các động tác có thể được hiểu theo nhiều cách khác nhau. Nhưng thực sự có mối quan hệ sâu sắc giữa Toán học được định nghĩa chính thức bởi các hệ tiên đề và Lý thuyết tính toán.

Tính toán, thuật toán, được định nghĩa để giải các bài toán, và nhiều khái niệm hiện đại được các nhà logic học nghĩ ra, những người đang cố gắng hiểu các cơ chế cho phép chúng ta chứng minh các định lý, bắt đầu từ các tiên đề và áp dụng các quy tắc suy luận.

Do đó, để trở lại thiết bị phát nổ, nó chắc chắn có thể được hiểu là một thao tác của một đại diện, tức là như một phép tính. Nhưng nói chung là khá khó để liên kết với nó bất kỳ ý nghĩa nào khác ngoài chính nó.

Tuy nhiên, điều này không phải lúc nào cũng đúng, hoặc không phải. Nguyên tắc tính toán tương tự dựa trên ý tưởng rằng hệ thống biểu diễn khác nhau có thể được sử dụng cho các tính toán có liên quan theo một cách chính xác nào đó. Sau đó, chúng ta có thể tính toán với một hệ thống để có ý tưởng về những gì mà hệ thống khác (quá khó sử dụng, ví dụ như một vũ trụ :) sẽ tính toán trong cài đặt tương ứng.


0

Tôi muốn trả lời loại câu hỏi này về thuật ngữ về mặt hình thái học.

Vì vậy, tính toán xuất phát từ từ comp latintus trong tiếng Latin có nghĩa là "tính toán".

Trong các ngôn ngữ Latin như tiếng Pháp, tiếng Ý, tiếng Tây Ban Nha hoặc tiếng Bồ Đào Nha (trong số những ngôn ngữ khác), hình thái học này được chia sẻ với "tale" (một câu chuyện) trong tiếng Pháp compte / conte trong tiếng Tây Ban Nha cuenta / cuento trong tiếng Bồ Đào Nha conta / conto v.v ...

Vì vậy, để tính toán là tính toán và kể chuyện tính toán này được thực hiện như thế nào.

Do đó, tôi muốn nói rằng tính toán đó là quá trình sử dụng các quy tắc toán học và logic để xử lý một thông tin nhất định để thông tin có ý nghĩa mới được suy ra từ dữ liệu gốc, theo dõi cách tạo ra thông tin mới này (bộ xử lý, bộ nhớ, đầu vào và đầu ra sau đó là các nguyên tắc cơ bản liên quan)


Trong tiếng Pháp, một câu chuyện là "conte", "cuento" trong tiếng Tây Ban Nha. Trong khi "compte" là một phép tính, hoặc một hóa đơn, "cuenta" trong tiếng Tây Ban Nha. Tôi không biết rằng, mặc dù từ đồng âm, "compte" và "conte" có chung một từ nguyên (không có "h" afaik), nhưng từ nguyên phổ biến này dường như được xác nhận trên web. Vì vậy, toàn bộ kinh doanh tính toán này chỉ là câu chuyện?
babou

Je l'iai Corrigé. Tôi được cho là không phạm phải sai lầm này, nhưng tôi vẫn không giỏi viết tiếng Pháp
Luis Sieira

Hoặc có thể những câu chuyện chỉ là tính toán. Bạn có một loạt các nhân vật với một tính cách nhất định trong một số điều kiện ban đầu, và phần còn lại của câu chuyện được tính toán
Luis Sieira

"theo dõi làm thế nào thông tin mới này được tạo ra (bộ xử lý, bộ nhớ, đầu vào và đầu ra sau đó là các nguyên tắc cơ bản liên quan)." Điều này có đòi hỏi rằng một cái gì đó không phải là một tính toán trừ khi người ta theo dõi việc sử dụng bộ nhớ của họ trong khi thực hiện nó? Điều đó không đúng ...
Kelmikra
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.