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 này tương đương với việc cho trước một chương trình và dữ liệu vào, quyết định xem chương trình đó có dừng với dữ liệu đó hay chạy mãi mãi.
Alan Turing chứng minh năm 1936 rằng không tồn tại thuật toán nào giải quyết bài toán dừng cho mọi cặp chương trình-dữ liệu vào. Một phần quan trọng của chứng minh là định nghĩa của máy tính và chương trình, nay được biết đến là máy Turing. Bài toán dừng là không thể quyết định được trên máy Turing. Nó là một trong những ví dụ đầu tiên của các bài toán quyết định.
Theo Jack Copeland (2004), tên gọi bài toán dừng (tiếng Anh - halting problem) là của Martin Davis.
Giới thiệu
Bài toán dừng là một bài toán quyết định về tính chất của chương trình máy tính trên một mô hình tính toán Turing-đầy đủ nhất định. Bài toán yêu cầu quyết định xem một chương trình với dữ liệu vào cho trước có dừng hay chạy mãi mãi. Trong mô hình trừu tượng này, không có bất kì một giới hạn nào về bộ nhớ hay thời gian cho máy chạy; máy có thể chạy lâu bao nhiêu cũng được, sử dụng tùy ý bộ nhớ, trước khi dừng. Câu hỏi chỉ là liệu chương trình cuối cùng có dừng hay không trên dữ liệu đã cho.
Ví dụ như chương trình sau dưới dạng mã giả
:while True:
::continue
không bao giờ dừng, nó lặp lại mãi mãi. Trong khi đó, chương trình sau
:print "Xin chào"
dừng rất nhanh.
Chương trình càng phức tạp thì càng khó để phân tích. Ta có thể chạy chương trình một thời gian. Tuy nhiên, nếu nó không dừng trong thời gian đó thì cũng không thể biết được nó có chạy mãi mãi hay không. Turing chứng minh rằng không một thuật toán nào có thể quyết định đúng cho mọi cặp chương trình và dữ liệu vào, liệu chương trình có dừng hay không trên dữ liệu đã cho.
Tầm quan trọng và hệ quả
Bài toán dừng là vô cùng quan trọng trong lịch sử lý thuyết khả tính do nó là một trong những bài toán đầu tiên được chứng minh là không quyết định được.
Biểu diễn bài toán dừng dưới dạng tập hợp
Cách biểu diễn thông thường của các bài toán quyết định là tập hợp các đối tượng thỏa mãn tính chất đang xét. Tập dừng
K:= {(i, x) | chương trình i với dữ liệu vào x dừng trong hữu hạn bước}
đại diện cho bài toán dừng.
Có nhiều định nghĩa tương đương của bài toán dừng. Tất cả các tập có bậc Turing bằng với bài toán dừng là một cách định nghĩa. Sau đây là một vài ví dụ:
- { i | chương trình i dừng khi chạy trên dữ liệu vào 0 }
- { i | tồn tại dữ liệu vào x sao cho chương trình i dừng khi chạy trên dữ liệu x }
Tóm tắt chứng minh
Sau đây là một chứng minh rằng không tồn tại một hàm khả tính nào quyết định được liệu một chương trình cho trước có dừng trên một dữ liệu vào cho trước hay không. Nói cách khác, nếu định nghĩa hàm h(i, x) trả về 1 nếu chương trình thứ i dừng trên dữ liệu vào x và 0 nếu nó không dừng, thì h là không tính được. Ở đây chương trình thứ i là theo thứ tự của một cách liệt kê tất cả các chương trình của một mô hình tính toán Turing đầy đủ.
Các giá trị của hàm _f_ xếp trên một bảng hai chiều. Các ô màu cam là đường chéo chính. Các giá trị _f_(_i_,_i_) và _g_(_i_) được liệt kê ở dưới; _U_ đánh dấu việc hàm _g_ không được định nghĩa cho dữ liệu vào tương ứng
Ý tưởng chính ở đây là chứng minh mọi hàm khả tính đều khác với hàm h. Thật vậy, xem xét một hàm f bất kì. Định nghĩa hàm khả tính g như sau:g(i) không được định nghĩa khi f(i,i) = 0 (chẳng hạn bằng cách g lặp mãi mãi khi f(i,i)=0)và bằng 0 trong trường hợp còn lại. Nhận thấy rằng nếu f khả tính thì g khả tính.
Do g khả tính, tồn tại một chương trình e trong mô hình tính toán đã định để tính hàm g. Theo định nghĩa của g, luôn xảy ra một trong hai trường hợp sau:
- g(e) = f(e, e) = 0. Khi đó h(e,e) = 1 vì chương trình e dừng trên dữ liệu e.
- g(e, e) ≠ 0. Trong trường hợp này h(e,e) = 0, do chương trình e không dừng trên dữ liệu vào e.
Trong cả hai trường hợp, f và h nhận giá trị khác nhau. Do f là một hàm khả tính bất kì, mọi hàm khả tính đều khác với h.
👁️
3 | 🔗 | 💖 | ✨ | 🌍 | ⌚
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
nhỏ|Nếu người bán hàng xuất phát từ điểm A, và nếu khoảng cách giữa hai điểm bất kì được biết thì đâu là đường đi ngắn nhất mà người bán hàng có thể thực hiện
**Các bài toán của Hilbert** là một danh sách gồm 23 vấn đề (bài toán) trong toán học được nhà toán học Đức David Hilbert đưa ra tại Hội nghị toán học quốc tế tại
Ví dụ về một bài toán xếp ba lô giới hạn 1 chiều: chọn các hộp nào để tổng giá trị các hộp trong ba lô là lớn nhất mà tổng khối lượng dưới 15 kg?
Trong toán học, **bài toán Olympic** là những bài toán mà để giải chúng _bắt buộc_ cần dùng những phương pháp giải bất ngờ và độc đáo. Bài toán Olympic nhận tên mình từ các
Trong khoa học máy tính và toán học, **bài toán tối ưu hóa** là bài toán tìm kiếm _lời giải tốt nhất _trong tất cả các lời giải khả thi. Bài toán tối ưu hóa
nhỏ|So sánh hai bản sửa đổi của một tệp ví dụ, dựa trên dãy con chung dài nhất của chúng (màu đen) **Vấn đề chuỗi con chung dài nhất** **(tiếng anh:** **Longest common subsequence -
**Bài toán Napoléon** (tiếng Pháp: _Problème de Napoléon_, tiếng Anh: _Napoleon's problem_) là một bài toán về dựng hình bằng compa, yêu cầu tìm tâm của một đường tròn cho trước. Một phiên bản đơn
Biểu diễn đồ thị của bài toán vận tải Trong toán học, **Bài toán vận tải** (tiếng Anh: _transportation problem_) là một dạng của bài toán quy hoạch tuyến tính. Bài toán vận tải có
Trong đồ thị này, đường đi rộng nhất từ Maldon tới Feering có chiều rộng 29, và đi qua Clacton, Tiptree, Harwich, và Blaxhall. **Bài toán đường đi rộng nhất**, còn gọi là **bài toán
**Bài toán cây Steiner** hay bài toán tìm đường đi ngắn nhất từ 2 điểm cho trước được phát triển dựa trên bài toán Fermat của nhà toán học nổi tiếng người Pháp. Vào thế
nhỏ Trong lý thuyết đồ thị, **bài toán đường đi ngắn nhất nguồn đơn** là bài toán tìm một đường đi giữa hai đỉnh sao cho tổng các trọng số của các cạnh tạo nên
**Bài toán người đưa thư Trung Hoa** (tiếng Anh: _Chinese postman problem_) phát biểu rằng: :_Một người đưa thư xuất phát từ bưu điện phải đến một số con đường để phát thư rồi quay
**Bài toán thứ mười bảy của Hilbert** là một trong 23 bài toán của Hilbert trong danh sách nổi tiếng của David Hilbert xuất bản năm 1900. Nó xem xét việc biểu diễn các hàm
**Bài toán Josephus**, hay hoán vị Josephus, là một câu hỏi toán lý thuyết trong khoa học máy tính và toán học. Có người đang đứng thành một vòng tròn. Và, bắt đầu từ
**Các bài toán thiên niên kỷ** (tiếng Anh: _Millennium Prize Problems_) là bảy bài toán nổi tiếng và phức tạp được lựa chọn bởi Viện Toán học Clay vào ngày 24 tháng 5 năm 2000,
**Bài toán tám quân hậu** là bài toán đặt tám quân hậu trên bàn cờ vua kích thước 8×8 sao cho không có quân hậu nào có thể "ăn" được quân hậu khác, hay nói
Bài toán **P so với NP** là một bài toán mở quan trọng trong lý thuyết khoa học máy tính. Mô tả một cách đơn giản, bài toán là có phải bất kì vấn đề
**Bài toán ngược** hay **bài toán nghịch đảo** (Inverse problem) trong khoa học là quá trình tính toán ra các nhân tố nhân quả (causal factors) dựa theo tập hợp các quan sát những đại
khung|phải|Bản đồ Königsberg thời Euler, mô tả vị trí thực của bay cây cầu và sông Pregel. **Bài toán bảy cây cầu Euler**, còn gọi là **Bảy cầu ở Königsberg** là bài toán nảy sinh
phải|Một hành trình của quân mã trên bàn cờ. phải|Lời giải bài toán trên bàn cờ 5 x 5. **Mã đi tuần** hay **hành trình của quân mã** (Tiếng Anh: Knight's tour) là bài toán
Trong lý thuyết số, **bài toán Waring** hỏi rằng có phải mỗi số tự nhiên _k_ đều có một số nguyên dương _s_ sao cho mỗi số tự nhiên đều có thể viết thành tổng
Trong quy hoạch tuyến tính, **bài toán gốc** và **bài toán đối ngẫu** bổ sung cho nhau. Đáp số của bài này đồng thời là đáp số của bài kia. ## Cơ bản Các bài
thumb|Trong việc tìm kiếm một chiếc xe mới, người chơi chọn một cánh cửa, ví dụ như cửa 1. Người dẫn chương trình sau đó mở một trong những cánh cửa khác, ví dụ cửa
thumb|Quỹ đạo gần đúng của ba vật thể giống hệt nhau nằm tại các đỉnh của một tam giác không cân với vận tốc ban đầu bằng không. [[Khối tâm, theo định luật bảo toàn
Trong toán học và khoa học máy tính, **bài toán hôn nhân bền vững** (**SMP**) yêu cầu tìm một **cặp ghép bền vững** giữa các phần tử của hai tập hợp theo thứ tự ưu
Trong lý thuyết xác suất, **bài toán ngày sinh** hay **nghịch lý ngày sinh** nói đến xác suất để trong một nhóm người được chọn ngẫu nhiên, có hai người có cùng ngày sinh. Theo
Bài này nói về từ điển các chủ đề trong toán học. ## 0-9 * -0 * 0 * 6174 ## A * AES * ARCH * ARMA * Ada Lovelace * Adrien-Marie Legendre *
Trong logic toán, một phân ngành logic, cơ sở của mọi ngành toán học, **mệnh đề**, hay gọi đầy đủ là **mệnh đề logic** là một khái niệm nguyên thủy, không định nghĩa. Thuộc tính
**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
thumb|Lời giải nhỏ nhất cho bài toán đàn gia súc Archimedes với mỗi biểu tượng chỉ cho con gia súc **Bài toán đàn gia súc Archimedes** (tiếng Anh: Archimedes' cattle problem) là một bài toán
**_Bài toán 3 vật thể_** (tựa gốc tiếng Anh: **_3 Body Problem_**) là một series phim truyền hình thể loại khoa học viễn tưởng của Mỹ do David Benioff, D. B. Weiss và Alexander Woo
500 Bài Toán Chọn Lọc 3 Dùng Chung Cho Các Bộ Sách Giáo Khoa Hiện Hành Sắp xếp từ dễ đến khó, từ đơn giản đến phức tạp, phù hợp với chương trình toán lớp
Làm Chủ Bài Tập Trắc Nghiệm Mũ - Logarit - Số Phức Và Bài Toán Lãi Suất Kép Cuốn sáchLàm Chủ Bài Tập Trắc Nghiệm Mũ - Logarit - Số Phức Và Bài Toán Lãi
500 Bài Toán Chọn Lọc Lớp 6 - Biên Soạn Theo Chương Trình Giáo Dục Phổ Thông Mới 500 Bài Toán Chọn Lọc 6sắp xếp từ dễ đến khó, từ đơn giản đến phức tạp,
**Bài toán thư ký** là một bài toán nổi tiếng trong lý thuyết dừng tối ưu. Bài toán này đã được nghiên cứu trong xác suất ứng dụng, thống kê, và lý thuyết quyết định.
nhỏ|[[Edmund Landau, nhà toán học Đức]] Tại hội nghị toán học quốc tế năm 1912, Edmund Landau đã liệt kê ra bốn bài toán về số nguyên tố. Các bài toán được nói theo lời
Cuốn sách 279 bài toán hình học phẳng Olympic các nước - Nguyễn Bá Đang Cuốn sách được tuyển chọn từ các bài Toán hình học phẳng trong kì thi Olympic toán Quốc tế, Toán
500 Bài Toán Chọn Lọc Lớp 10 Dùng Chung Cho Các Bộ SGK Hiện Hành 500 Bài Toán Chọn Lọc Lớp 10 Dùng Chung Cho Các Bộ SGK Hiện Hànhđược biên soạn theo chuẩn kiến
500 Bài Toán Chọn Lọc 6sắp xếp từ dễ đến khó, từ đơn giản đến phức tạp, phì hợp với chương trình toán lớp 6 hiện hành. Trong đó có những bài toán trắc nghiệm,
Đây là bài toán tìm một xâu (string) hoặc nhiều xâu là xâu con của hai hoặc nhiều xâu. Không nên nhầm lẫn giữa bài toán này với Bài toán chuỗi con chung dài nhất.
500 Bài Toán Chọn Lọc Lớp 3 Dùng Chung Cho Các Bộ SGK Hiện Hành Gồm 2 nội dung chính như sau - Bài tập vân dụng - Hướng dẫn giải hoặc đáp số Mỗi
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
Kĩ Thuật Giải Nhanh Bài Toán Hay Và Khó Đại Số Giải Tích 11 N xin giới thiệu đến cuốnKĩ Thuật Giải Nhanh Bài Toán Hay Và Khó Đại Số Giải Tích 11 của tác
Để giúp quý phụ huynh và thầy cô có tài liệu tham khảo hướng dẫn các em học Toán, chúng tôi biên soạn cuốn CÁC BÀI TOÁN THÔNG MINH LỚP 1. Cuốn sách bám sát
Các em học sinh thân mến Nhằm giúp các em học sinh có thêm tài liệu học và rèn kĩ năng giải toán, chuẩn bị tốt cho kì thi THPT Quốc gia. Chúng tôi biên
Tìm ra đáp số của bài toán đã thú vị nhưng thật thú vị hơn nếu ta tìm ra nhiều con đường đi đến đáp số ấy. Mỗi con đường, mỗi hướng giải là một
Cỏ hương bài sinh trưởng ở khu vực Ấn Độ – Sri Lanka, là nguyên liệu để chiết xuất "tinh dầu bình yên" quý hiếm có công dụng an thần, xả stress, thúc đẩy lưu
Quý thầy cô giáo, phụ huynh cùng các em học sinh thân mến Công ty TNHH Đầu tư và Phát triển Giáo dục Sài Gòn phối hợp cùng Nhà xuất bản Đại học Sư phạm
Rèn Kỹ Năng Giải Các Dạng Bài Toán Cơ Bản Và Nâng Cao Lớp 6 - Tập 1 Nhằm đáp ứng nhu cầu luyện tập, củng cố kiến thức và nâng cao kỹ năng giải