Máy Turing đầu tiên


7

Có ai biết máy Turing đầu tiên hiệu quả như thế nào không? Ý tôi là có bao nhiêu động tác đã làm trong một giây hoặc lâu hơn ... Tôi chỉ tò mò. Cũng không thể tìm thấy bất kỳ thông tin về nó trên web.


Biến thể không xác định rất hiệu quả, đến mức nó có thể quyết định bất kỳ vấn đề nào trong NP trong thời gian đa thức!
einpoklum

Câu trả lời:


58

"Máy Turing" (hay "máy a") là một khái niệm toán học, không phải là thiết bị vật lý thực tế. Turing đã đưa ra chúng để viết bằng chứng toán học về máy tính, với logic sau:

  • Viết bằng chứng về dây vật lý và công tắc là vô cùng khó khăn.
  • Viết bằng chứng về máy Turing là (tương đối) dễ dàng.
  • Bất cứ điều gì dây và công tắc vật lý có thể làm, bạn có thể xây dựng một máy Turing để làm (*) (**).

Nhưng Turing không bao giờ chế tạo một cỗ máy thực tế viết biểu tượng trên băng giấy. Những người khác có, nhưng chỉ như một minh chứng: đây là ví dụ bạn có thể tạo ra danh thiếp .

Tại sao anh ta không bao giờ xây dựng một máy Turing vật lý? Nói một cách đơn giản, nó sẽ không hữu ích. Vấn đề là, không ai từng nghĩ ra một mô hình tính toán mạnh hơn máy Turing (trong đó nó có thể tính toán những thứ mà máy Turing không thể). Và người ta đã chứng minh rằng một số mô hình tính toán khác, chẳng hạn như phép tính lambda hoặc ngôn ngữ lập trình Python, là "Turing-Complete": chúng có thể làm mọi thứ mà máy Turing có thể.

Vì vậy, đối với bất cứ điều gì ngoại trừ một bằng chứng toán học, việc sử dụng một trong những mô hình khác này thường hữu ích hơn nhiều. Sau đó, bạn có thể sử dụng các máy Turing trong bằng chứng của mình mà không mất tính tổng quát.

(*) Cụ thể, mọi tính toán : máy Turing không thể bật bóng đèn, nhưng bóng đèn không thú vị theo quan điểm lý thuyết tính toán.

(**) Như đã được chỉ ra trong các bình luận, định nghĩa chính của "máy tính" của Turing là một con người tuân theo thuật toán. Ông phỏng đoán rằng con người không thể tính toán được việc máy Turing không thể làm được nhưng không ai có thể chứng minh điều này, một phần vì việc xác định chính xác những gì tâm trí con người có thể làm là vô cùng khó khăn. Nhìn vào Luận án Giáo hội nếu bạn quan tâm.


Tôi khá chắc chắn rằng máy tính Turing đã viết bằng chứng về, giới thiệu cho mọi người theo các hướng dẫn cố định: en.wikipedia.org/wiki/Human_computer (chú thích thứ hai). Viết bằng chứng về con người làm theo hướng dẫn là rất khó vì về nguyên tắc mọi người có thể làm theo hướng dẫn tùy ý.
Jasmijn

@Robin Để hoàn thiện lịch sử, Turing đã phát triển cỗ máy Turing để chứng minh rằng (giáo viên của ông) lamba-compus của Alonzo Church là một mô hình tính toán phổ quát. Ông đã đạt được điều này bằng cách chứng minh rằng điều đó đúng với máy Turing và sau đó chứng minh rằng máy Turing tương đương với máy tính lambda.
JimmyJames

@Robin Gọi tốt! Đã thêm một chú thích về điều đó.
Draconis

5
@JimmyJames Tôi không nghĩ đó là chính xác. Giải pháp của Turing cho Entscheidungspropet là độc lập với Church và trước khi anh trở thành học sinh của Church. Church đã công bố bằng chứng của mình sớm hơn một chút và khi Turing nghe về nó, anh vội vàng viết xong kết quả của mình. Anh ta bao gồm một bằng chứng về sự tương đương của máy móc và phép tính lambda để đáp lại bài báo của Church, nhưng đây không phải là mục tiêu ban đầu của anh ta.
Sasho Nikolov

@SashoNikolov Bạn đúng rồi thưa ông. Cảm ơn đã làm rõ / sửa chữa.
JimmyJames

18

Turing không bao giờ chế tạo máy Turing vật lý. Quan điểm của máy Turing không phải là một máy tính vật lý thực tế mà là chính thức hóa những gì có thể tính toán và thực sự, để chính thức hóa "tính toán" thậm chí có nghĩa là gì.


8

Hãy để tôi mang lại một số niềm vui nghiêm túc, mặc dù nó có thể không phải là câu trả lời mong muốn.


Yêu cầu một : Rất nhiều máy Turing đã được chế tạo, bởi Alan Turing và nhiều người khác.

Bằng chứng. Chỉ vào một tia sáng bất động trong bombe , Alan Turing nói với cái nhìn sâu sắc và đơn giản thường thấy của mình, "nhìn kìa, một cỗ máy Turing dừng lại ở bất kỳ đầu vào nào".

Đạo đức : Có nhiều loại máy Turing. Nhiều người trong số họ cực kỳ đơn giản. Nhưng chúng là (chức năng) máy Turing.


Yêu cầu hai : Không thể xác định được liệu máy có bộ nhớ không giới hạn hay không.

Bằng chứng. Tôi có một máy tính, sẽ mất một giây để thể hiện mỗi bit bộ nhớ bổ sung. Tôi muốn thuyết phục bạn rằng nó không có bộ nhớ không giới hạn. Tuy nhiên, là một người theo chủ nghĩa thực chứng thận trọng, bạn khẳng định rằng không ai có thể từ chối rằng nó có bộ nhớ không giới hạn trong bất kỳ lúc nào hoặc thậm chí là mãi mãi.

Đạo đức : hãy cẩn thận khi chúng ta đang nói về các đối tượng mở rộng theo yêu cầu.


Đó là ví dụ đầu tiên nghe có vẻ ngụy biện, bạn có trích dẫn không? Và ngay cả khi anh ta đã nói điều đó, có vẻ như anh ta đang nói một cách ẩn dụ, vì một TM chứa một cuộn băng chứa dữ liệu. Tất nhiên, bản thân TM là một phép ẩn dụ, vì nó là một thiết bị khái niệm, không phải là một thiết bị vật lý.
Barmar

1
Bằng chứng / ví dụ đầu tiên có thể đúng hơn bằng chứng / ví dụ thứ hai. Nếu tôi có một trích dẫn phù hợp hơn bombe, tôi sẽ sử dụng nó. Alan Turing được biết đến với việc kiểm tra một danh sách toàn diện các máy tính, từ đơn giản nhất đến những thứ kỳ lạ nhất (như tâm trí con người). Ông đã giảm những thứ phức tạp và mạnh mẽ nhất (không có lời tiên tri) thành mô hình đơn giản nhất có thể. Ví dụ đầu tiên là một giai thoại mới để vinh danh sự giác ngộ mà ông mang đến cho chúng ta.
John L.

Có lẽ phù hợp hơn như là một nhận xét về câu hỏi của OP?
AnoE

@AnoE, đề nghị của bạn có ý nghĩa. Mặt khác, nếu tôi viết bình luận về câu hỏi của OP, nó có thể trông không phù hợp hơn câu trả lời độc lập. Trên thực tế, câu trả lời của tôi cũng chỉ ra, mặc nhiên theo cách vòng vo, rằng Alan Turing đã không chế tạo một máy Turing vật lý theo cách diễn giải chặt chẽ của nó. Yêu cầu đầu tiên chỉ nhấn mạnh thực tế là máy Turing có mặt khắp nơi. (Tôi đã và đang suy ngẫm về yêu sách khác mà chương trình sự thâm nhập của máy Turing hoàn tất là tốt, mà sẽ làm cho con người nhận xét này thậm chí còn ít hấp dẫn.)
John L.

Nếu tôi có thể đề xuất, bạn có thể cụ thể hơn về "có nhiều loại TM". "TM" là vật cụ thể có đầu, băng và ký hiệu. Các máy khác tương đương với điều đó, nhưng không giống nhau. Một trình bẻ khóa mã chắc chắn không phải là một TM, mặc dù nó tương đương với khả năng tính toán. OP dường như không hỏi liệu Turing có chế tạo máy tính không, nhưng liệu anh ta có xây dựng một TM thực tế hay không (với đầu đọc / viết, ban nhạc ...).
AnoE

8

Đây là một nơi hoàn hảo và thời gian để đề cập đến bài báo thực tế nơi máy Turing được mô tả lần đầu tiên. Một liên kết ở đây:

https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf

Tất nhiên, anh khiêm tốn hơn, vì vậy anh gọi nó là "máy tự động". Không có máy thực tế, chỉ có một con thú của trí tưởng tượng.

Turing, theo như chúng tôi biết, thậm chí chưa bao giờ thử xây dựng "máy tự động". Tuy nhiên, ông cực kỳ có ảnh hưởng trong việc chế tạo một số máy móc khác. Bombe WW2, được sử dụng để phá vỡ khóa kéo của Đức Quốc xã, là ví dụ nổi tiếng nhất.

Đáng buồn thay, đó là lần đầu tiên sau khi ông qua đời, công chúng đã nhận thức được thành tích của ông. (Anh ta đã tự sát, người ta nói rằng, sau khi nuôi ong một cách tàn nhẫn phải khử trùng hóa học là nuôi ong một người đồng tính bị kết án).


Có một lời giải thích dễ hiểu hơn mà anh ấy đã viết, tôi đã tìm thấy một tấm gương về nó vì nó rất khó tìm: "Turing, Alan M. (1936), Về những con số có thể tính toán được, với một ứng dụng cho Entscheidungsprobols, Kỷ yếu của Hội Toán học Luân Đôn, Ser. 2-42, 230-265. " Liên kết với nó bây giờ nhắc nhở tôi rằng liên kết giả lập Turing Machine trực tuyến tôi đặt ở đó vào năm 2005 rất cũ (Java!), Tự hỏi một liên kết thay thế tốt sẽ là gì.
HostileFork nói không tin tưởng SE 22/12/18

3

TM chỉ tồn tại trên giấy. Đó là một mô hình lý thuyết của tính toán. Nó thực sự không thể được xây dựng (vì băng dài vô tận).

Vì vậy, câu trả lời là: không, Turing không bao giờ xây dựng một TM trong đời thực, bởi vì anh ta không thể.


Xin đừng tiếp tục tranh luận rằng "chúng ta có thể xây dựng một máy Turing, chỉ là nó không có băng vô hạn, bởi vì theo định nghĩa, TM có một cuộn băng dài vô hạn. Nếu nó không có băng dài vô hạn, thì đó không phải là băng Máy Turing. Nó đơn giản như vậy.

Tôi hoàn toàn biết rằng mọi người đã xây dựng "TM với băng hữu hạn" và tôi cũng không nghi ngờ về tính hữu ích của nó (tức là automata bị ràng buộc): thực tế, được cung cấp một băng đủ dài, về cơ bản chúng ta có thể tính toán tất cả những điều thực sự thú vị (đó là Turing tính toán). Nhưng với mỗi số tự nhiênn, sẽ có một TM nhất thiết phải có một cuộn băng dài n+1để mô phỏng, vì vậy không bao giờ có một cuộn băng "đủ lớn". (Hãy nghĩ tại sao.)

Đặt một bước lùi, có những TM dễ dàng chúng ta không thể xây dựng hoặc mô phỏng bằng các tài nguyên hữu hạn. Lấy TM ghi một * ở bước đầu tiên, sang phải và viết hai * ở bước thứ hai, v.v. TM này không thể được xây dựng hoặc thậm chí mô phỏng mà không có bộ nhớ vô hạn.


6
Hoàn toàn có thể xây dựng một máy Turing. Băng không cần phải dài vô tận: bạn chỉ cần thêm một số lần nữa mỗi khi máy kết thúc.
David Richerby

2
@Pilpel Tôi không nghĩ anh ấy thực sự xây dựng bất cứ thứ gì. Turing là một nhà toán học thuần túy và chỉ làm việc trên giấy.
xuq01

2
@ xuq01 <s> Tất nhiên, máy móc của anh ấy cũng vậy. </ s>
Draconis

2
Có những máy xử lý thực sự, ngoại trừ việc chúng không có bộ nhớ không giới hạn (và do đó chỉ có thể tính toán một bộ chương trình và giá trị đầu vào hạn chế). Xem video tuyệt vời này của một máy turing thực: youtube.com/watch?v=E3keLeMwfHY
allo

3
@Pilpel Thiết bị thực tế đáng chú ý nhất mà Turing chế tạo là bombe , không phải là một máy tính phổ dụng và không liên quan đến những gì chúng ta gọi là máy Turing.
Konrad Rudolph

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.