✨Máy Turing

Máy Turing

Máy Turing Máy Turing là một mô hình toán học về thiết bị xử lý các ký tự, tuy đơn giản, nhưng có thể thực hiện được tất cả các thuật toán máy tính. Các máy Turing đã được Alan Turing trình bày vào năm 1936. Nó được xây dựng không dành cho việc trực tiếp chế tạo ra máy tính, mà là dành cho các thí nghiệm tưởng tượng để tìm hiểu về các giới hạn của việc tính toán trên máy móc. Việc nghiên cứu các tính chất của máy Turing cho biết nhiều kiến thức quan trọng trong lĩnh vực khoa học máy tính và lý thuyết về độ phức tạp tính toán.

Máy Turing mà có khả năng mô phỏng lại hoạt động của tất cả các máy Turing khác được gọi là máy Turing vạn năng (hay đơn giản là máy vạn năng). Máy vạn năng cũng đã được Alonzo Church mô tả, khi xây dựng các lý thuyết về phép tính lambda. Lý thuyết của Church và Turing được tổng kết lại trong luận đề Church-Turing. Luận đề này khẳng định mọi hàm toán học tính được thì cũng có thể dùng các máy Turing để tính, và do đó cho phép định nghĩa các khái niệm như sự tính được của hàm hay thuật toán.

Trong lý thuyết về ngôn ngữ hình thức, máy Turing có khả năng đoán nhận tất cả các ngôn ngữ sinh bởi văn phạm cấu trúc câu.

Miêu tả

Dải băng trên máy Turing Ở dạng đơn giản và thông dụng, máy Turing có thể được mô tả với các bộ phận sau:

  • Một dải băng (dài vô hạn), ở trên có nhiều ô. Mỗi ô có ghi một ký tự, và ký tự này có thể được đọc ra bên ngoài, hoặc được bên ngoài ghi đè lên đó (thay thế bằng ký tự khác). Các ký tự thuộc một bảng ký tự hữu hạn V (tức là có hữu hạn các ký tự), trong đó có một ký tự đặc biệt gọi là ký tự trống. Các ô trên dải băng chưa bao giờ được ghi đè lên từ bên ngoài, luôn được coi là có ghi sẵn ký tự trống. Đầu đọc trên máy Turing
  • Một đầu đọc và ghi, chạy trên dải băng hoặc đứng yên cho dải băng chạy qua. Tại một thời điểm, đầu đọc này có thể thực hiện một trong 4 nhiệm vụ: Đọc ký tự trên ô mà đầu đọc đang nằm trên nó. Ghi đè ký tự mới lên ô mà đầu đọc đang nằm trên nó. Di chuyển sang ô bên trái Di chuyển sang ô bên phải Ghi nhớ trạng thái trên máy Turing
  • Một bộ phận ghi nhớ lại các trạng thái của máy Turing. Tại một thời điểm, máy Turing luôn ở một trong số hữu hạn các trạng thái, và bộ ghi nhớ cho biết máy đang ở trạng thái nào. Tập tất cả các trạng thái có thể ký hiệu là S. Trong số các trạng thái, có trạng thái khởi động (hay trạng thái ban đầu), mặc định là máy Turing sẽ luôn ở trạng thái này khi bắt đầu hoạt động (ví dụ khi bật máy lên).
  • Một hàm chuyển trạng thái hay bảng câu lệnh quy định hoạt động của máy Turing. Bảng này thường là danh sách chứa các quy tắc có dạng Si Ci → Sj Cj Dj. Ở đây Si, Sj là các trạng thái trong S. Ci, Cj là các ký tự trong bảng ký tự V (đọc được từ băng hoặc ghi lên băng). Dj là một trong 2 hướng di chuyển của đầu đọc, sang trái hoặc sang phải. Quy tắc Si Ci → Sj Cj Dj có thể hiểu là: nếu máy đang ở trạng thái Si và đầu đọc đọc được ký tự Ci thì thực hiện các công việc sau: Ghi đè ký tự Cj lên ô mà đầu đọc đang nằm trên Di chuyển đầu đọc lệch một ô theo hướng Dj (sang trái hoặc phải) ** Chuyển máy sang trạng thái Sj và ghi nhớ nó vào bộ ghi nhớ trạng thái. Trong một số mô hình, nếu máy đang ở trạng thái Si và đầu đọc đọc được ký tự Ci, nhưng chưa có quy tắc nào quy định việc hành xử của máy lúc đó, thì máy được dừng lại và không tiếp tục chạy nữa.

Trong số các trạng thái trong S, có thể quy định ra những trạng thái được gọi là trạng thái kết thúc. Trong lý thuyết về ngôn ngữ hình thức, nếu một đoạn ký tự (gọi là một từ hay một câu) ghi trên dải băng đưa máy Turing chạy từ trạng thái ban đầu đến một trong số các trạng thái kết thúc thì câu viết đó được gọi là đoán nhận bởi máy Turing đã cho.

Ngoài mô hình đã miêu tả, còn có nhiều dạng khác như dải băng chỉ có một đầu (trái hoặc phải) là vô tận; hoặc máy có nhiều dải băng, nhiều đầu đọc,... tuy nhiên tất cả các máy đó đều có hoạt động tương đương với máy đã mô tả. Cụ thể hơn, trong lý thuyết ngôn ngữ hình thức, nếu có thể xây dựng máy theo một dạng bất kỳ đoán nhận một tập hợp các từ nào đó, thì luôn có thể xây dựng máy Turing theo dạng đã mô tả ở trên đoán nhận cùng tập hợp các từ này.

Định nghĩa

Về mặt toán học, máy Turing có thể được định nghĩa bằng một bộ chứa các phần tử sau:

  • Tập S hữu hạn chứa các trạng thái của máy.
  • Tập V hữu hạn chứa các ký tự ghi trên băng.
  • Hàm chuyển trạng thái f: S×VS×V×{Phải, Trái} Ngoài ra có thể định nghĩa thêm:
  • Phần tử đặc biệt là ký tự trống B trong V, các ký tự khác trống trong V được gọi là các ký tự đầu vào.
  • Trạng thái đặc biệt là trạng thái ban đầu S0 trong S.
  • Các trạng thái kết thúc thuộc tập F là tập con trong S.
👁️ 3 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Máy Turing **Máy Turing** là một mô hình toán học về thiết bị xử lý các ký tự, tuy đơn giản, nhưng có thể thực hiện được tất cả các thuật toán máy tính. Các
**Alan Mathison Turing** OBE FRS (23 tháng 6 năm 1912 – 7 tháng 6 năm 1954) là một nhà toán học, logic học và mật mã học người Anh, được xem là một trong những
[[Phần cứng|Phần cứng máy tính là nền tảng cho xử lý thông tin (sơ đồ khối). ]] **Lịch sử phần cứng máy tính** bao quát lịch sử của phần cứng máy tính, kiến trúc của
nhỏ| Chương trình máy tính "Xin chào, thế giới" của [[Brian Kernighan (1978) ]] **Chương trình máy tính** là tập hợp các câu lệnh thực hiện một tác vụ cụ thể khi được máy tính
thumb|Cách biểu diễn bằng [[Mặt cầu Bloch cho một qubit, yếu tố cơ bản trong máy tính lượng tử.]] **Máy tính lượng tử** (còn gọi là **siêu máy tính lượng tử**) là một thiết bị
nhỏ|Mô hình chuẩn của phép thử Turing, trong đó người chơi C, đóng vai trò người chất vấn, có nhiệm vụ xác định người chơi A và B, bên nào là máy tính, bên nào
**Giải thưởng Turing** (A. M. Turing Award) là giải thưởng thường niên của Hiệp hội Khoa học Máy tính Association for Computing Machinery cho các cá nhân hoặc một tập thể với những đóng góp
**John McCarthy** (4 tháng 9 năm 1927 - 24 tháng 10 năm 2011) là một nhà khoa học máy tính và nhà khoa học nhận thức người Mỹ. McCarthy là một trong những người sáng
Khoa học máy tính nghiên cứu các cơ sở lý thuyết của thông tin và tính toán, cùng với các kỹ thuật thực tiễn để thực hiện và
Trong khoa học máy tính, một **máy trạng thái trừu tượng** (MTT) (hay trong tiếng Anh: Abstract State Machine - ASM) là một máy trạng thái trong đó, số lượng các trạng thái không nhất
phải|nhỏ|[[Lưu đồ thuật toán (thuật toán Euclid) để tính ước số chung lớn nhất (ưcln) của hai số _a_ và _b_ ở các vị trí có tên A và B. Thuật toán tiến hành bằng
**Máy tính Manchester Baby**, tên tiếng Anh: **Manchester Baby**, còn được gọi là **Small-Scale Experimental Machine** (viết tắt: SSEM, tạm dịch **Máy Thử Nghiệm Quy Mô Nhỏ**), là máy tính điện tử lưu trữ chương
**Trí tuệ nhân tạo tổng quát** (**Artificial general intelligence**, hay **AGI**) là một loại trí tuệ nhân tạo (AI) trong lý thuyết, nằm giữa cận dưới và cận trên của năng lực nhận thức con
nhỏ| Một sơ đồ cho thấy cách người dùng tương tác với [[phần mềm ứng dụng trên một máy tính để bàn thông thường. Lớp phần mềm ứng dụng giao tiếp với hệ điều hành,
Phần mềm là các lệnh được lập trình mà được lưu trữ trong bộ nhớ được lưu trữ của các máy tính kỹ thuật số để bộ xử lý thực hiện. Phần mềm là một
Trong lý thuyết độ phức tạp tính toán, **P**, còn được gọi là **PTIME** hoặc **DTIME**(n^{O(1)}), là một trong những lớp cơ bản nhất trong các lớp độ phức tạp tính toán. Nó bao gồm
nhỏ|370x370px|Google Doodle đầu tiên kỷ niệm [[Burning Man, được sử dụng vào ngày 30 tháng 8 năm 1998]] **Google Doodle** là một biểu tượng đặc biệt, thay thế tạm thời cho biểu tượng trên trang
**Phòng thí nghiệm khoa học máy tính và trí tuệ nhân tạo MIT (CSAIL) **là một phòng thí nghiệm nghiên cứu tại viện công nghệ Massachusetts thành lập bởi sự sáp nhập vào năm 2003
**Tính toán** là bất kỳ loại tính toán nào bao gồm cả các bước đối xứng và không đối xứng và tuân theo một mô hình được xác định rõ, ví dụ như một thuật
**Google DeepMind** là một công ty trí tuệ nhân tạo của Anh được thành lập vào tháng 9 năm 2010 với tên **DeepMind Technologies**. Công ty được đổi tên khi nó đã được Google mua
nhỏ|[[Giuseppe Peano]] Trong logic toán học, các **tiên đề Peano**, còn được gọi là các **tiên đề Peano –** **Dedekind** hay các **định đề Peano**, là các tiên đề cho các số tự nhiên được
**Lý thuyết độ phức tạp tính toán** (tiếng Anh: _computational complexity theory_) là một nhánh của lý thuyết tính toán trong lý thuyết khoa học máy tính và toán học tập trung vào phân loại
**_Người giải mã_** (tên gốc: **_The Imitation Game_**) là bộ phim lịch sử, phóng tác từ truyện tài liệu _Alan Turing: The Enigma_ của Andrew Hodges, đạo diễn bởi Morten Tyldum với sự tham gia
Trong lý thuyết độ phức tạp tính toán, **BPP** (viết tắt của cụm từ tiếng Anh **bounded-error probabilistic polynomial**) là lớp các bài toán quyết định giải được bằng máy Turing ngẫu nhiên trong thời
Trong lý thuyết độ phức tạp tính toán, **ZPP** (viết tắt của zero-error probabilistic polynomial time - thời gian đa thức với xác suất sai bằng không) là lớp độ phức tạp bao gồm các
Các CAPTCHA thuở đầu tiên như thế này, được chương trình EZ-Gimpy tạo ra, đã được Yahoo sử dụng. Tuy nhiên, đã có công nghệ đọc được loại CAPTCHA này.|thế=smwm Một CAPTCHA hiện đại. Ngoài
Trong lý thuyết khả tính, **bài toán dừng** có thể diễn đạt như sau: cho trước một chương trình máy tính, quyết định xem chương trình đó có chạy mãi mãi hay không. Bài toán
Trong lý thuyết độ phức tạp tính toán, các **định lý cấp bậc thời gian** là các mệnh đề quan trọng về tính toán trong thời gian giới hạn trên máy Turing. Nói một cách
**Logic toán** là một ngành con của toán học có liên hệ gần gũi với cơ sở toán học, khoa học máy tính lý thuyết, logic triết học. Ngành này bao gồm hai phần: nghiên
Trong lý thuyết độ phức tạp tính toán, **PSPACE** là tập hợp các bài toán quyết định giải được bằng máy Turing trong không gian/bộ nhớ đa thức. ## Định nghĩa \mbox{SPACE}(s(n)) được định nghĩa
phải|nhỏ|402x402px|[[Mã nguồn của một chương trình máy tính đơn giản được viết bằng ngôn ngữ lập trình C. Khi được biên dịch và chạy, nó sẽ cho kết quả "Hello, world!".]] **Ngôn ngữ lập trình**
**Trí tuệ nhân tạo** (**TTNT**) (tiếng Anh: **_Artificial intelligence_**, viết tắt: **_AI_**) là khả năng của các hệ thống máy tính thực hiện các nhiệm vụ liên quan đến trí thông minh của con người,
**John von Neumann** (**Neumann János**; 28 tháng 12 năm 1903 – 8 tháng 2 năm 1957) là một nhà toán học người Mỹ gốc Hungary và là một nhà bác học thông thạo nhiều lĩnh
**Donald Ervin Knuth** (sinh ngày 10 tháng 1, năm 1938) là một nhà khoa học máy tính nổi tiếng hiện đang là giáo sư danh dự tại Đại học Stanford. Knuth được biết đến nhiều
**Douglas "Doug" Carl Engelbart** (30 tháng 1 năm 1925 – 2 tháng 7 năm 2013) là một nhà phát minh Hoa Kỳ, một người tiên phong về Internet. Ông được biết đến nhiều nhất với
nhỏ|Peter Naur **Peter Naur** (sinh ngày 25.10.1928 tại Frederiksberg, Zealand) là người Đan Mạch tiên phong trong Khoa học máy tính và được giải Turing của "Asociation for Computing Machinery" năm 2005. Tên Naur là
**TEX**, (/tɛx/, /tɛk/) viết không định dạng là **TeX**, là một hệ thống sắp chữ được viết bởi Donald Knuth và giới thiệu lần đầu vào năm 1978. TeX được thiết kế với hai mục
**Sir Timothy John "Tim" Berners-Lee** (sinh ngày 8 tháng 6 năm 1955), và ông đã thực hiện việc giao tiếp thông tin thành công đầu tiên thông qua một giao thức truyền tải siêu văn
**Lý thuyết thông tin thuật toán** là một lĩnh vực của lý thuyết thông tin và khoa học máy tính liên quan đến mối quan hệ giữa tính toán và thông tin. Theo Gregory Chaitin,
Trong lý thuyết độ phức tạp tính toán, **L** (còn gọi là **LSPACE**) là lớp độ phức tạp bao gồm các bài toán quyết định có thể giải bằng máy Turing đơn định trong không
Trong lý thuyết độ phức tạp tính toán, **DTIME** (hoặc **TIME**) đại diện cho thời gian tính toán của máy Turing đơn định. **DTIME** được dùng để định nghĩa các lớp độ phức tạp bao
**Hệ điều hành** (tiếng Anh: Operating system, viết tắt: OS) là phần mềm hệ thống quản lý tài nguyên phần cứng máy tính, phần mềm và cung cấp các dịch vụ chung cho các chương
**Các hàm tính toán được** là các đối tượng nghiên cứu cơ bản trong lý thuyết tính toán. Các hàm tính toán là sự tương tự chính thức của khái niệm trực quan của thuật
thumb|GeForce 6600GT (NV43) nhỏ|Các bộ phận của một GPU **Bộ phận xử lý đồ họa** (**GPU**, **graphics processing unit**) là một vi mạch chuyên dụng được thiết kế để thao tác và truy cập bộ
**Edsger Wybe Dijkstra** (; 11 tháng 5 năm 1930 tại Rotterdam – 6 tháng 8 năm 2002 tại Nuenen), là nhà khoa học máy tính người Hà Lan. Ông được nhận giải thưởng Turing năm
nhỏ|Số hóa **Số hóa** (Digitization) là quá trình chuyển đổi thông tin trên giấy và các quy trình thủ công thành định dạng kỹ thuật số trong đó thông tin được tổ chức thành các
**Marvin Lee Minsky** (9 tháng 8 năm 1927 – 24 tháng 1 năm 2016) là một nhà khoa học nhận thức trong lĩnh vực trí tuệ nhân tạo (AI) người Mỹ, đồng sáng lập của
**Alfred Vaino Aho** (sinh ngày 9 tháng 8 năm 1941) là một nhà khoa học máy tính người Canada nổi tiếng với công trình nghiên cứu về ngôn ngữ lập trình, trình biên dịch và
Sir **Charles Antony Richard Hoare** (**Tony Hoare** hay **C.A.R. Hoare**, sinh ngày 11 tháng 1 năm 1934) là một nhà khoa học máy tính người Anh, có lẽ nổi tiếng nhất vì đã phát triển
Trong lý thuyết độ phức tạp tính toán, **RP** (viết tắt của "randomized polynomial time") là lớp độ phức tạp bao gồm các bài toán sao cho tồn tại máy Turing ngẫu nhiên với các