Máy tính thật chỉ có số lượng trạng thái hữu hạn, vậy sự liên quan của máy Turing với máy tính thật là gì?


42

Máy tính thực có bộ nhớ hạn chế và chỉ có một số trạng thái hữu hạn. Vì vậy, về cơ bản chúng là automata hữu hạn. Tại sao các nhà khoa học máy tính lý thuyết sử dụng máy Turing (và các mô hình tương đương khác) để nghiên cứu máy tính? Quan điểm của việc nghiên cứu những mô hình mạnh mẽ hơn nhiều đối với máy tính thực sự là gì? Tại sao mô hình automata hữu hạn là không đủ?


7
@Kaveh Mọi người thường rửa tay rằng có, máy tính được sử dụng trong thực tế là các FSM, nhưng các FSM quá lớn và các thuộc tính cấu trúc thú vị bị mất trong chế độ xem FSM. Tôi chưa bao giờ thấy một lời giải thích không tay. Vì vậy, câu hỏi là về chủ đề ở đây.
Martin Berger

15
Câu hỏi thực sự là, tại sao nghiên cứu máy Turing, khi chúng ta sử dụng mô hình RAM khi chúng ta phân tích thuật toán.
Yuval Filmus

39
Bởi vì đôi khi là một xấp xỉ tốt hơn để 10000000000000000000000000000000 hơn 10000000000000000000000000000000 . 1000000000000000000000000000000010000000000000000000000000000000
Andrej Bauer

30
Hãy nhớ rằng, vấn đề chưa được giải quyết nổi tiếng nhất trong khoa học máy tính lý thuyết hiện nay là: liệu một loại máy tính tưởng tượng không thể vật lý có thể giải quyết vấn đề nhanh như một máy tính tưởng tượng thậm chí còn không thể hơn ? Đừng nhầm lẫn khoa học máy tính lý thuyết cho kỹ thuật máy tính thực tế; các chi tiết của thế giới vật lý không đặc biệt liên quan.
Eric Lippert

23
Vật liệu thực sự được làm từ các nguyên tử và rời rạc trong tự nhiên, vậy tại sao phải nghiên cứu tích phân?
Peter Shor

Câu trả lời:


32

Có hai cách tiếp cận khi xem xét câu hỏi này: lịch sử liên quan đến cách các khái niệm được phát hiện và kỹ thuật giải thích tại sao các khái niệm nhất định được thông qua và các khái niệm khác bị bỏ rơi hoặc thậm chí bị lãng quên.

Trong lịch sử, Turing Machine có lẽ là mô hình trực quan nhất của một số người được phát triển đang cố gắng trả lời Entscheidungsprobols . Điều này liên quan mật thiết đến nỗ lực to lớn trong những thập kỷ đầu tiên của thế kỷ 20 để hoàn toàn tiên đề hóa toán học. Hy vọng là một khi bạn đã chứng minh được một tập hợp tiên đề nhỏ là chính xác (sẽ đòi hỏi nỗ lực đáng kể), thì bạn có thể sử dụng một phương pháp có hệ thống để đưa ra bằng chứng cho tuyên bố logic mà bạn quan tâm. Ngay cả khi ai đó coi là tự động hữu hạn trong bối cảnh này, chúng sẽ nhanh chóng bị loại bỏ vì chúng không tính được các hàm đơn giản.

Về mặt kỹ thuật, tuyên bố rằng tất cả các máy tính là automata hữu hạn là sai. Một máy tự động hữu hạn có bộ nhớ không đổi không thể thay đổi tùy thuộc vào kích thước của đầu vào. Không có giới hạn, trong toán học hoặc trong thực tế, đã ngăn không cho cung cấp thêm băng, đĩa cứng, RAM hoặc các dạng bộ nhớ khác, một khi bộ nhớ trong máy đang được sử dụng. Tôi tin rằng điều này thường được sử dụng trong những ngày đầu của máy tính, khi mà ngay cả những phép tính đơn giản cũng có thể lấp đầy bộ nhớ, trong khi bây giờ đối với hầu hết các vấn đề và với cơ sở hạ tầng hiện đại cho phép quản lý bộ nhớ hiệu quả hơn nhiều, đây hầu như không phải là vấn đề .


EDIT: Tôi đã xem xét cả hai điểm nêu ra trong các ý kiến ​​nhưng được bầu không bao gồm cả hai điểm ngắn gọn và thời gian tôi có sẵn để viết ra câu trả lời. Đây là lý do của tôi là tại sao tôi tin rằng những điểm này không làm giảm hiệu quả của máy Turing trong việc mô phỏng các máy tính hiện đại, đặc biệt là khi so sánh với automata hữu hạn:

  • Trước tiên, hãy để tôi giải quyết vấn đề vật lý của một giới hạn trong bộ nhớ của vũ trụ. Trước hết, chúng ta không thực sự biết vũ trụ có hữu hạn hay không. Hơn nữa, khái niệm vũ trụ quan sát được theo định nghĩa là hữu hạn, cũng theo định nghĩa không liên quan đến người dùng có thể đi đến bất kỳ điểm nào của vũ trụ quan sát được để sử dụng bộ nhớ. Lý do là vũ trụ quan sát được đề cập đến những gì chúng ta có thể quan sát từ một điểm cụ thể, cụ thể là Trái đất, và sẽ khác nếu người quan sát có thể đi đến một địa điểm khác trong vũ trụ. Do đó, bất kỳ tranh luận về vũ trụ quan sát được đều phá hủy câu hỏi về tính hữu hạn của vũ trụ. Nhưng hãy giả sử rằng thông qua một số đột phá, chúng ta có được kiến ​​thức rằng vũ trụ thực sự là hữu hạn. Mặc dù điều này sẽ có tác động lớn đến các vấn đề khoa học, Tôi nghi ngờ nó sẽ có bất kỳ tác động nào đến việc sử dụng máy tính. Nói một cách đơn giản, về nguyên tắc, các máy tính thực sự là máy tự động hữu hạn chứ không phải máy Turing. Nhưng đối với phần lớn các tính toán và trong tất cả khả năng mọi con người tính toán đều quan tâm, máy Turing và lý thuyết liên quan cung cấp cho chúng ta hiểu rõ hơn. Trong một ví dụ thô sơ, mặc dù chúng ta biết rằng vật lý Newton về cơ bản là sai, tôi nghi ngờ các kỹ sư cơ khí sử dụng vật lý lượng tử chủ yếu để thiết kế xe hơi hoặc máy móc nhà máy; các trường hợp góc mà điều này là cần thiết có thể được giải quyết ở cấp độ cá nhân. Nhưng đối với phần lớn các tính toán và trong tất cả khả năng mọi con người tính toán đều quan tâm, máy Turing và lý thuyết liên quan cung cấp cho chúng ta hiểu rõ hơn. Trong một ví dụ thô sơ, mặc dù chúng ta biết rằng vật lý Newton về cơ bản là sai, tôi nghi ngờ các kỹ sư cơ khí sử dụng vật lý lượng tử chủ yếu để thiết kế xe hơi hoặc máy móc nhà máy; các trường hợp góc mà điều này là cần thiết có thể được giải quyết ở cấp độ cá nhân. Nhưng đối với phần lớn các tính toán và trong tất cả khả năng mọi con người tính toán đều quan tâm, máy Turing và lý thuyết liên quan cung cấp cho chúng ta hiểu rõ hơn. Trong một ví dụ thô sơ, mặc dù chúng ta biết rằng vật lý Newton về cơ bản là sai, tôi nghi ngờ các kỹ sư cơ khí sử dụng vật lý lượng tử chủ yếu để thiết kế xe hơi hoặc máy móc nhà máy; các trường hợp góc mà điều này là cần thiết có thể được giải quyết ở cấp độ cá nhân.

  • 264264địa chỉ khác nhau. Về cơ bản, mạng là một cách tuyệt vời để làm điều này, mọi máy chỉ quan tâm đến bộ nhớ cục bộ của nó nhưng chúng có thể tính toán với nhau.


4
Phần thứ hai của câu trả lời này là sai. Máy tính máy tự động trạng thái hữu hạn, ngay cả khi bạn đã mua tất cả RAM và các phần cứng khác mà bạn có thể. Dung lượng RAM bạn có thể kết nối với máy tính bị giới hạn bởi chiều rộng của bus địa chỉ của nó, và cùng giữ cho các đĩa và các bộ phận khác.
Emil Jeřábek hỗ trợ Monica

12
@ EmilJeřábek không đúng. Giao diện nối tiếp không có bus địa chỉ và lượng dữ liệu tôi có thể truy cập trên internet không bị giới hạn bởi bất kỳ tài sản nào trên máy tính của tôi.
Ngừng làm hại Monica

5
@OrangeDog nhưng vũ trụ vẫn sẽ giới hạn số lượng dữ liệu có thể được lưu trữ trong vũ trụ có thể quan sát được
ratchet freak

9
@ratchetfreak như máy Turing chứng minh, bạn chỉ cần truy cập cục bộ - "kết thúc" hiện tại của băng không cần phải nằm trong vũ trụ quan sát được;)
Ngừng làm hại Monica

6
Khi đề cập đến lịch sử, đáng để trích dẫn bài đánh giá của Church về bài báo của Turing, rằng máy Turing có "lợi thế của việc nhận dạng có hiệu quả ... rõ ràng ngay lập tức." Đó là, với những người cố gắng thuyết phục bản thân rằng họ thực sự đã nắm bắt mọi thứ có thể tính toán được, định nghĩa của Turing rất hấp dẫn.
Jim Hefferon

44

Để hoàn thành các câu trả lời khác: Tôi nghĩ rằng Turing Machine là sự trừu tượng hóa tốt hơn những gì máy tính làm hơn là automata hữu hạn. Thật vậy, sự khác biệt chính giữa hai mô hình là với automata hữu hạn, chúng tôi hy vọng sẽ xử lý dữ liệu lớn hơn không gian trạng thái và Turing Machine là mô hình cho cách khác (không gian trạng thái >> dữ liệu) bằng cách tạo trạng thái không gian vô hạn. Sự vô hạn này có thể được coi là một sự trừu tượng của "rất lớn trước kích thước của dữ liệu". Khi viết chương trình máy tính, bạn cố gắng tiết kiệm không gian để đạt hiệu quả, nhưng bạn thường cho rằng bạn sẽ không bị giới hạn bởi tổng dung lượng trên máy tính. Đó là một phần lý do tại sao Turing Machines là một sự trừu tượng hóa máy tính tốt hơn so với automata hữu hạn.


14
Đây là IMHO câu trả lời đúng. Những lý do hoàn toàn thực dụng, máy Turing làm tốt hơn máy tự động hữu hạn trong việc giải thích những gì máy tính làm ở quy mô liên quan.
Emil Jeřábek hỗ trợ Monica

3
Tôi đồng ý với điều này ngoại trừ câu "bạn thường cho rằng bạn sẽ không bị giới hạn bởi tổng dung lượng trên máy tính". Ngược lại, hầu như bất kỳ chương trình không tầm thường nào đều bị giới hạn bởi không gian có sẵn và các lập trình viên cố gắng hết sức để xử lý nó (ví dụ: thu gom rác để tái sử dụng bộ nhớ tự động), nhưng (1) chúng ta không thể làm gì về nó, và (2) chúng tôi giới hạn bản thân vào đầu vào đủ nhỏ. Đáng chú ý là các TM cung cấp cho chúng ta cách xử lý tự nhiên đối với kích thước vấn đề và các thuật toán có xu hướng đóng xuống để tạo ra khái niệm tự nhiên về kích thước vấn đề.
Martin Berger

2
@MartinBerger Re "hầu như bất kỳ chương trình không tầm thường nào đều bị giới hạn bởi không gian có sẵn và các lập trình viên sẽ cố gắng giải quyết nó (ví dụ: thu gom rác để tái sử dụng bộ nhớ tự động)": Tôi cho rằng các chương trình được viết cho các hệ thống có thu gom rác hệ thống đó, bao gồm cả gc , là cỗ máy mà họ lập trình chống lại. Người thu gom rác không phải là một phần của chương trình; đó là một phần trong nỗ lực cung cấp chính xác những gì Denis nói: Một cỗ máy lập trình chống lại tài nguyên bộ nhớ hầu như không giới hạn.
Peter - Tái lập Monica

2
@ PeterA.Schneider Tôi không đồng ý. Lý do sử dụng GC được cung cấp bởi thời gian chạy ngôn ngữ là một trong những tính kinh tế của phát triển phần mềm: cơ chế quản lý bộ nhớ cụ thể của chương trình có hiệu suất cao hơn so với GC và hầu hết các lập trình viên sẽ thích nó nếu họ có thể rút nó ra một cách an toàn và rẻ tiền. Nhưng họ không thể, vì vậy, chơi an toàn và sử dụng GC xung quanh có chi phí được khấu hao theo một số lượng lớn các chương trình. Theo nghĩa đó, sử dụng GC sẽ có chiều dài lớn để đối phó với bộ nhớ hữu hạn.
Martin Berger

2
Máy Turing không trừu tượng về những gì máy tính làm, chúng là trừu tượng về những gì máy tính làm và máy tính được chế tạo sau đó. Các máy tính tình cờ thực hiện hầu hết các tính toán của chúng bằng cách sử dụng một lượng bộ nhớ làm việc nội bộ cố định, nhưng Turing Machines không được phát minh để lý luận về tính toán với số lượng bộ nhớ làm việc bị giới hạn.
rebierpost

10

Andrej Bauer đã đưa ra một lý do quan trọng trong các bình luận:

1000000000000000000000000000000010000000000000000000000000000000

Hãy để tôi hoàn thành các câu trả lời khác bằng một số điểm, có lẽ quá rõ ràng để đề cập:

  • Nếu mục tiêu của bạn là nghiên cứu máy tính thực, thì cả máy tự động hữu hạn và máy Turing thường sẽ là những mô hình quá đơn giản cho các câu hỏi liên quan. Các máy tính thực có nhiều lõi xử lý với hệ thống phân cấp bộ đệm (hoặc một số sơ đồ quản lý thông minh khác), truy cập vào một lượng bộ nhớ nhanh, truy cập vào một lượng lớn bộ nhớ ngoài chậm (đĩa cứng) và có thể giao tiếp với các máy tính tương tự khác tại tốc độ gần tương đương với tốc độ truy cập vào bộ nhớ ngoài chậm.
  • Nếu bây giờ bạn tự hỏi tại sao bạn cần tất cả những chi tiết đó, thì hóa ra mục tiêu thực sự của bạn là nghiên cứu các trường hợp vấn đề và cách bạn có thể giải quyết chúng hiệu quả. Nếu bạn đang nói về máy tính thực, điều này cũng có nghĩa là bạn chạy thử nghiệm với các trường hợp sự cố thực tế trên các loại kiến ​​trúc máy tính (thực) khác nhau.
  • Mô hình của các máy tính thực được mô tả ở trên vẫn được lý tưởng hóa, bởi vì nó bỏ qua các chế độ thất bại khác nhau của các máy tính thực. Vì lỗi tắt nguồn có thể xảy ra thường xuyên hơn so với lỗi đĩa cứng (và dù sao đĩa cứng cũng có thể có bản sao lưu), một số miền có vấn đề như hoạt động cơ sở dữ liệu đáng tin cậy có thể cần phải tính đến điều đó.
  • Π10

8

Một chủ nghĩa hình thức có hữu ích hay không, dựa trên những gì mọi người muốn sử dụng chủ nghĩa hình thức để mô hình hóa và hiểu.

Máy Turing là một chủ nghĩa hình thức rất hữu ích để hiểu các chương trình . Các chương trình đáng để hiểu; hầu hết các tính toán thực tế được thực hiện bởi các chương trình, chứ không phải bằng các máy chuyên dụng. Hình thức máy Turing cho phép chúng ta mô hình hóa các mối quan tâm trong thế giới thực quan trọng như độ phức tạp của thời gian và không gian. Sẽ rất ít tự nhiên khi cố gắng nghiên cứu các khái niệm này bằng cách sử dụng automata trạng thái hữu hạn.

Máy Turing không hữu dụng lắm khi cố gắng nghiên cứu độ phức tạp của các hàm hữu hạn tính toán (giả sử, các hàm có miền bao gồm các đầu vào có độ dài tối đa 10 triệu). Độ phức tạp của mạch tốt hơn nhiều trong việc mô tả độ phức tạp của các hàm hữu hạn ... nhưng đến lượt các máy Turing đã rất hữu ích trong việc hiểu độ phức tạp của mạch.

Máy tự động hữu hạn cũng hữu ích trong việc hiểu độ phức tạp của mạch; tất cả các mô hình này có vị trí của chúng trong kho vũ khí toán học.

Tôi bác bỏ lập luận nói rằng automata trạng thái hữu hạn là một mô hình thực tế tốt hơn hoàn toàn vì máy tính trong thế giới thực chỉ có một số lượng hữu hạn các trạng thái bên trong. Nghiên cứu về automata trạng thái hữu hạn chủ yếu xử lý các đầu vào đến từ tập hợp chuỗi vô hạn , trong khi các máy tính trong thế giới thực chỉ xử lý các đầu vào có độ dài tối đa cố định (trừ khi bạn tin rằng chúng ta sống trong một vũ trụ vô tận, về mặt không gian hoặc thời gian).

Một mô hình nên được đánh giá theo khía cạnh tiện ích của nó trong việc hiểu những khía cạnh của thực tế mà chúng ta quan tâm. Hoặc (thay vào đó) về mặt tiện ích của nó trong việc hiểu một vũ trụ toán học mà mọi người thấy đủ hấp dẫn, ngay cả khi vũ trụ toán học đó không có biểu hiện vật lý rõ ràng.

Máy Turing, máy trạng thái hữu hạn và mạch (và các mô hình khác bên cạnh) đều đã chứng minh tiện ích của chúng.


6

Máy tính thực tế không phải là FSA. Một máy tính thực tế là một máy tính phổ quát, theo nghĩa là chúng ta có thể mô tả một máy tính để máy tính mô phỏng và máy tính sẽ mô phỏng nó. Đối với nhiều ví dụ, tìm kiếm "máy ảo".

Có thể xây dựng Máy Turing phổ dụng - một TM nhận mô tả về một TM khác sau đó mô phỏng hoạt động của TM đó trên đầu vào được cung cấp.

n22n

Để bắt đầu trên tài liệu, tôi có thể đề xuất " Về sự tồn tại của Universal Finite hoặc Pushdown Automata ", nghiên cứu về sự không tồn tại của automata phổ quát. Bạn cũng có thể xem các tài liệu tham khảo của nó (vân vân).


3
Đây là một cách tiếp cận hữu ích để nắm bắt một cách trực giác các cấp độ khác nhau của sức mạnh tính toán trên sàn gỗ. Tuy nhiên, OP dường như nghĩ rằng máy tính thực sự là FSM vì số lượng trạng thái bị hạn chế, ví dụ vì RAM hữu hạn. Theo lập luận của bạn, điều này có nghĩa là các máy tính thực tế giống như các FSM hơn là Turing Machines vì ​​tôi không thể tự do nhân đôi số trạng thái trong một máy mô phỏng; Tôi không có một băng vô hạn như lưu trữ.
amon

1
Máy Turing cũng không cần phải có băng vô hạn. Máy tính có thể sử dụng một lượng lưu trữ ngoài lớn tùy ý trong các tính toán của chúng (và nó trở nên đặc biệt dễ dàng với các nhà cung cấp đám mây chúng ta có ngày nay), vì vậy về cơ bản chúng giống như Turing Machines thay vì FSM.
rebierpost

1
Nếu chúng ta giả sử rằng một máy tính có dung lượng bộ nhớ cố định thì nó sẽ hết bộ nhớ khi mô phỏng một máy tính có nhiều bộ nhớ hơn, vì vậy với giả định đó thì nó không thực sự phổ biến.
Kaveh

3

Điều làm cho máy Turing trở nên đặc biệt là trong khi rất, rất đơn giản, nó có thể chạy tất cả (các lớp) thuật toán mà chúng ta có thể nghĩ ra. Không có máy nào được biết là mạnh hơn (trong đó nó có thể chạy các thuật toán mà máy Turing không có khả năng).

Đơn giản về mặt cơ học, thật dễ dàng để hiển thị xem, hoặc ở mức độ nào, các máy khác tương đương với máy Turing. Điều này đến lượt nó làm cho nó tương đối dễ dàng để hiển thị liệu một máy tính nhất định (hoặc ngôn ngữ máy tính) có thực sự phổ biến hay không (c / f "Turing-Complete").


Câu hỏi là về mối quan hệ của mô hình máy Turing với máy tính thật. Nếu chúng ta cho rằng một máy tính có dung lượng bộ nhớ cố định thì nó không thực sự phổ biến.
Kaveh

1

Tại sao mô hình automata hữu hạn là không đủ?

Mặc dù các câu trả lời khác đã đề cập đến nhiều khía cạnh liên quan, tôi tin rằng lợi thế mạnh mẽ của máy Turing so với automata hữu hạn là phân tách dữ liệuchương trình . Điều này cho phép bạn phân tích một chương trình khá hữu hạn và đưa ra tuyên bố về cách chương trình đó sẽ xử lý các đầu vào khác nhau, mà không giới hạn kích thước của đầu vào.

Mặc dù về mặt lý thuyết có thể mô tả cả máy tính thực tế và thứ gì đó giống như máy Turing với băng hữu hạn là máy trạng thái, điều đó không thực sự khả thi: số lượng trạng thái theo cấp số nhân trong bộ nhớ của máy bạn và hữu hạn chung chính thức tự động hóa nhà nước yêu cầu bạn liệt kê rõ ràng sự chuyển đổi giữa các trạng thái này. Vì vậy, đối với một máy tự động trạng thái hữu hạn chung có kích thước đó, việc đưa ra bất kỳ khoản khấu trừ nào dựa trên một bảng liệt kê đầy đủ của tất cả các chuyển đổi trạng thái là không khả thi.

Tất nhiên, trong một máy tính thực, các trạng thái chuyển tiếp không thể xảy ra tùy ý. Không có lệnh để trao đổi một phần ba bit trong bộ nhớ trong một bước tính toán. Vì vậy, bạn có thể cố gắng đưa ra một đặc điểm kỹ thuật nhỏ gọn hơn cho các chuyển đổi trạng thái. Một cái gì đó giống như đặc tả tập lệnh của kiến ​​trúc của bạn. Tất nhiên, các kiến ​​trúc máy tính thực sự phức tạp vì mục đích hiệu năng, vì vậy bạn có thể đơn giản hóa điều này hơn nữa, với một số tập lệnh rất đơn giản, chỉ thực hiện các bước rất nhỏ bằng cách sử dụng đầu vào và đầu ra rất hạn chế. Cuối cùng, bạn có thể thấy rằng kiến ​​trúc của bạn giống với trình thông dịch máy Turing: sử dụng một số bit mã chương trình và một bit đầu vào, tạo một chút đầu ra và di chuyển xung quanh trong mã chương trình của bạn.

Một cách khác là sử dụng các trạng thái của máy tự động trạng thái hữu hạn chỉ để biểu diễn dữ liệu đang được chương trình xử lý, đồng thời mã hóa chính chương trình thành các chuyển trạng thái. Điều đó sẽ kéo theo cùng một vấn đề về cách liệt kê tất cả các trạng thái và một đại diện nhỏ gọn có thể lại gần với những gì một máy Turing làm.

Quan điểm của việc nghiên cứu những mô hình mạnh mẽ hơn nhiều đối với máy tính thực sự là gì?

Nhìn chung, tôi muốn nói rằng một máy Turing băng hữu hạn có thể là một mô hình tốt hơn cho các máy tính thực tế. Nhưng đối với nhiều câu hỏi khoa học, sự khác biệt giữa một băng hữu hạn nhưng lớn và vô hạn là không liên quan, vì vậy chỉ cần yêu cầu một băng vô hạn sẽ khiến mọi việc dễ dàng hơn. Đối với các câu hỏi khác, phần mở rộng của băng được sử dụng là cốt lõi của câu hỏi, nhưng mô hình dễ dàng cho phép bạn nói về lượng sử dụng băng mà không gặp rắc rối khi chỉ định điều gì xảy ra nếu tính toán hết băng.


1

Hầu hết các vấn đề đòi hỏi máy Turing có kích thước hữu hạn

Mặc dù giả sử băng không bị ràng buộc là một sự đơn giản hóa hữu ích, nhưng hầu hết các vấn đề / thuật toán thực tế đòi hỏi một lượng băng hữu hạn và giới hạn của bộ nhớ cần thiết (có thể phụ thuộc vào kích thước của đầu vào) có thể được phân tích và thường được chứng minh.

Điều này cũng thường khái quát cho các loại máy tính khác (trong đó phân tích ràng buộc hoặc bằng chứng có thể lộn xộn hơn nhiều so với trên máy Turing) và cho phép ước tính dung lượng lưu trữ tạm thời cần thiết cho một vấn đề cụ thể - có thể được thực hiện trong một lượng cố định Không gian? Tỉ lệ thuận với đầu vào? Nó có yêu cầu số lượng không gian theo cấp số nhân khi đầu vào phát triển không?


1

Một tính năng quan trọng của các máy turing mà automata hữu hạn không chia sẻ là chúng có thể chia tỷ lệ bộ nhớ cần thiết để giải quyết vấn đề với kích thước của vấn đề .

nn2

Vấn đề: nhiều vấn đề có giải pháp tự nhiên sử dụng nhiều bộ nhớ thì vấn đề càng lớn. Vì vậy, việc mô tả các giải pháp này bằng các biểu diễn có thể sử dụng bộ nhớ vô hạn là điều tự nhiên - không phải vì bất kỳ một trường hợp nào cũng sẽ sử dụng số lượng vô hạn mà vì có một trường hợp sử dụng từng lượng. Bạn có thể làm điều đó với máy turing, nhưng cũng có trình tự tự động hữu hạn.


Trên một lưu ý liên quan, nếu máy Turing có N trạng thái được khởi động bằng băng có số lượng ký tự C không trống trước và sau vị trí ban đầu, sẽ có một số T (N, C) sao cho bất kỳ máy nào cái mà sẽ chấm dứt có thể được mô phỏng bởi một máy mà máy có băng bị giới hạn ở các ký tự T (N, C).
supercat

-2

Máy tính thực có bộ nhớ hạn chế và chỉ có một số trạng thái hữu hạn. Vì vậy, về cơ bản chúng là automata hữu hạn.

Máy Turing là dẫn xuất của automata hữu hạn. Máy Turing thực tế là kiến ​​trúc von Nuemann.

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.