Có một thuật toán có thể tồn tại mặc dù chúng ta không biết nó là gì?


21

Trong toán học, có nhiều bằng chứng tồn tại không mang tính xây dựng, vì vậy chúng ta biết rằng một đối tượng nào đó tồn tại mặc dù chúng ta không biết cách tìm ra nó.

Tôi đang tìm kiếm kết quả tương tự trong khoa học máy tính. Cụ thể: có một vấn đề mà chúng ta có thể chứng minh nó có thể quyết định được mà không hiển thị thuật toán cho nó không? Tức là chúng ta biết rằng nó có thể được giải bằng thuật toán, nhưng chúng ta không biết thuật toán trông như thế nào?


5
Có một câu trả lời tầm thường. Đi bất cứ yes / no câu hỏi câu trả lời trong số đó là unkown, như "là ngẫu nhiên", sau đó câu hỏi được decidable, chỉ có chúng ta chưa biết được trong hai thuật toán có thể là đúng. π
Hendrik

6
về cơ bản trùng lặp câu hỏi tcs.se là có bằng chứng tồn tại thuật toán phi cấu trúc
vzn

1
@babou Thật vậy: một câu hỏi với một câu trả lời độc đáo là có thể quyết định. Ở đây, sự thiếu hiểu biết là điểm có vẻ như, đó là một trường hợp "không biết" từ câu hỏi, mặc dù chỉ "không biết bây giờ ". Một khi chúng ta đã tìm ra liệu là ngẫu nhiên hay không, chúng ta cần tìm một ví dụ khác. Câu trả lời của bạn dưới đây là tốt hơn tất nhiên! Đó là một hình thức "không biết" vốn dĩ "sẽ không bao giờ biết". π
Hendrik

1
@HendrikJan: Và thủ tục đó là cái mà chúng ta gọi là thuật toán trong CS. Nhưng lấy vấn đề tạm dừng làm ví dụ, chúng ta thậm chí không thể chứng minh rằng thuật toán tồn tại!
MSalters

1
Một số ví dụ thú vị hơn có thể được tìm thấy ở đây: cstheory.stackexchange.com/questions/4777/ mẹo
Erel Segal-Halevi

Câu trả lời:


14

Trường hợp đơn giản nhất mà tôi biết về một thuật toán tồn tại, mặc dù không biết thuật toán nào, liên quan đến automata trạng thái hữu hạn.

Các thương của một ngôn ngữ L 1 bằng một ngôn ngữ L 2 được định nghĩa là L 1 / L 2 = { x | y L 2  đến nỗi  x y L 1 } .L1/L2L1L2L1/L2={xyL2 such that xyL1}

Người ta dễ dàng chứng minh rằng tập thông thường được đóng dưới thương số bằng một tập tùy ý. Nói cách khác, nếu là thường xuyên và L 2 là tùy ý (không nhất thiết phải thường xuyên), thì L 1 / L 2 cũng thường xuyên.L1L2L1/L2

Bằng chứng khá đơn giản. Hãy để là một FSA chấp nhận các thiết lập thường xuyên R , nơi QF lần lượt là tập hợp của tiểu bang và các thiết lập của các quốc gia chấp nhận, và để cho L là một ngôn ngữ bất kỳ. Hãy F ' = { q Q | y LM=(Q,Σ,δ,q0,F)RQFL là tập hợp của các quốc gia mà từ đó một trạng thái cuối cùng có thể đạt được bằng cách chấp nhận một chuỗi từ L .F={qQyLδ(q,y)F}L

Các máy tự động , mà khác với M chỉ trong bộ của nó F ' của các quốc gia chính thức công nhận một cách chính xác R / L . (Hoặc xem Hopcroft-Ullman 1979, trang 62 để biết bằng chứng về thực tế này.)M=(Q,Σ,δ,q0,F)MFR/L

Tuy nhiên, khi các thiết lập là không decidable, có thể không có thuật toán để quyết định các quốc gia có tài sản định nghĩa F ' . Vì vậy, trong khi chúng ta biết rằng tập F là tập con của Q , chúng ta không có thuật toán để xác định tập hợp con nào. Do đó, trong khi chúng ta biết rằng R được chấp nhận bởi một trong 2 | Q | có thể là FSA, chúng tôi không biết đó là gì. Mặc dù tôi phải thú nhận rằng chúng ta biết rất nhiều về nó trông như thế nào.LFFQR2|Q|

Đây là một ví dụ về những gì đôi khi được gọi là một bằng chứng gần như mang tính xây dựng , đó là một bằng chứng cho thấy một trong số các câu trả lời hữu hạn là đúng.

Tôi cho rằng một phần mở rộng của điều đó có thể là một bằng chứng cho thấy một trong vô số các câu trả lời là đúng. Nhưng tôi không biết gì cả. Tôi cũng không biết một bằng chứng hoàn toàn không mang tính xây dựng rằng một số vấn đề có thể quyết định được, ví dụ như chỉ sử dụng mâu thuẫn.


1
@DW Tôi nói là thường xuyên, nhưng L là tùy ý . Nó không phải là đệ quy đệ quy, hoặc thường xuyên. Không có thuộc tính nào của L được sử dụng ngoài thực tế là nó là một chuỗi các chuỗi. Nếu bạn không tin tưởng tôi, hãy kiểm tra Hopcroft-Ullman 1979, trang 62.RLL
babou

Cảm ơn. Đây là câu trả lời yêu thích của tôi vì ngôn ngữ có thể quyết định là vô hạn.
Erel Segal-Halevi

@babou, lỗi của tôi, tôi đọc sai những gì bạn viết. Lỗi của tôi - xin lỗi về điều đó. Tôi đã chỉnh sửa bài viết của bạn để làm cho phần mà tôi hiểu sai hy vọng cleraer.
DW

@DW Tôi rất vui vì bạn có vấn đề, nhưng nó cũng xảy ra với tôi. Nhưng có lẽ tôi nên rõ ràng hơn. Đây không phải là cố ý. Nói rằng bởi vì một số nhà toán học nghĩ rằng nó là thanh lịch hơn để được khó hiểu. Cảm ơn đã chỉnh sửa.
babou

12

Để mở rộng nhận xét ban đầu của Hendrick, hãy xem xét vấn đề này

Đưa ra một số nguyên là có một hoạt động của n hoặc 7s liên tiếp hơn trong việc mở rộng thập phân của π ?n0nπ

Vấn đề này là có thể quyết định, vì một trong hai trường hợp có thể có được:

  1. Có một số nguyên mà phần mở rộng thập phân của π chứa một lần chạy N liên tiếp 7 giây, nhưng không còn chạy nữa.NπN
  2. Đối với bất kỳ , sự mở rộng của πn chạy 7 giây liên tiếp.nπn

Trong trường hợp (1) thuật toán quyết định cho vấn đề sẽ là một trong

Nếu trả lời "không" thì người khác trả lời "có".n>N

và trong trường hợp (2) thuật toán sẽ là

Trả lời có".

Rõ ràng mỗi trong số này là một thuật toán quyết định; chúng ta không biết cái nào Đó là đủ, tuy nhiên, kể từ khi decidability chỉ đòi hỏi sự tồn tại của một thuật toán, không phải là đặc điểm kỹ thuật của thuật toán để sử dụng.


+1 Đây là một ví dụ đơn giản mà tôi nhớ giáo sư của mình về Khả năng tính toán và Logic sử dụng. Đây là ví dụ điển hình của tôi, vì nó không đòi hỏi nhiều kiến ​​thức về miền, nên rất dễ truyền đạt.
Joshua Taylor

1
Đối với công thức thay thế, xem thêm ở đây .
Raphael

2

Đây là một câu trả lời không. Tôi đang đăng bài vì tôi tin rằng đó là hướng dẫn, bởi vì ban đầu tôi đã tuyên bố ngược lại và tám người đã đồng ý đủ để nâng cao trước khi @sdcwc chỉ ra sai lầm. Tôi không muốn chỉ chỉnh sửa câu trả lời đầu tiên của mình vì tôi không chắc nhiều người sẽ ủng hộ nó nếu họ biết nó sai.

Ban đầu tôi đã tuyên bố rằng việc lấy bất kỳ tập hợp  nào mà chúng ta biết là hữu hạn nhưng chúng ta không biết các thành viên. Vì S  là hữu hạn, nó là đệ quy, nên có một thuật toán nhưng tôi tuyên bố rằng chúng ta không biết nó là gì.SS

HH

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.