Có bằng chứng tồn tại thuật toán không xây dựng?


47

Tôi nhớ rằng tôi có thể đã gặp các tài liệu tham khảo cho các vấn đề đã được chứng minh là có thể giải quyết được với một độ phức tạp cụ thể, nhưng không có thuật toán nào được biết để thực sự đạt đến độ phức tạp này.

Tôi đấu tranh bao bọc tâm trí của tôi xung quanh làm thế nào điều này có thể là trường hợp; một bằng chứng phi xây dựng cho sự tồn tại của một thuật toán sẽ như thế nào.

Có thực sự tồn tại những vấn đề như vậy? Họ có rất nhiều giá trị thực tế?


11
thuật toán dựa trên định lý Robertson-Seymour ? Hay đơn giản hơn, sử dụng PEM để chứng minh thuật toán tồn tại trong đó chúng ta không biết cái nào (vấn đề tạm dừng có thể quyết định được đối với từng máy Turing cố định, nhưng làm thế nào chúng ta có thể tìm thấy thuật toán giải quyết vấn đề một cách chính xác mà không cần giải quyết (phiên bản thống nhất của) vấn đề tạm dừng?) ps: "giá trị thực tế" nghĩa là gì?
Kaveh

6
Tại sao, cũng có những ví dụ đơn giản hơn .
Raphael

1
Raphael, dường như với tôi rằng bình luận của bạn có thể được nâng cấp thành một câu trả lời. Có lẽ bạn (hoặc ai đó) có thể thử điều này?
John Sidles


Câu trả lời:


33

Hãy xem xét hàm (lấy từ đây )

f(n)={10n occurs in the decimal representation of π0else

Mặc dù ngoại hình, có thể tính toán được bằng cách lập luận sau đây. Hoặcf

  1. n0n xảy ra cho mọi hoặcn
  2. có một sao cho xảy ra nhưng thì không.0 k 0 k + 1k0k0k+1

Chúng tôi không biết đó là gì (nhưng), nhưng chúng tôi biết rằng vớifF={f,f0,f1,}

  1. f(n)=1
  2. fk(n)=[nk] .

Vì , có thể tính toán được - nhưng chúng ta không thể nói là gì . f fFREff


2
Câu trả lời này là tốt, và các câu trả lời khác cũng vậy. Rõ ràng câu hỏi của jkff có nhiều hơn một câu trả lời, theo nghĩa là tồn tại nhiều công nghệ chứng minh có thể chứng minh sự tồn tại của thuật toán không mang tính xây dựng.
John Sidles

Tuy nhiên, tôi đánh dấu cái này là "được chấp nhận" bởi vì nó là thứ đơn giản nhất và thể hiện ý tưởng cốt lõi về cách chứng minh sự tồn tại của thuật toán phi xây dựng có thể phát sinh.
jkff

@jkff Đơn giản như vậy, nó là một bài tập tuyệt vời cho sinh viên trong các khóa học giới thiệu TCS. Tôi đã mất nhiều tuần để điều chỉnh trực giác / khái niệm về khả năng tính toán của mình dưới ánh sáng của chức năng này.
Raphael

Tôi sẽ sẵn sàng đặt cược một triệu đô la rằng là hàm 1 không đổi. Và tôi không có một triệu đô la. f
Daniel McLaury

26

Điều này có thể không chính xác như bạn muốn nói, nhưng thuật toán cây bao trùm tối thiểu tối ưu của Seth Pettie và Vijaya Ramachandran theo nghĩa nào đó không mang tính xây dựng.

Đó là một câu hỏi mở cho dù có một thuật toán xác định để tính toán các cây bao trùm tối thiểu theo thời gian tuyến tính (có nghĩa là ). Pettie và Ramachandran mô tả một thuật toán tính MST theo thời gian tuyến tính nếu thuật toán đó tồn tại .O(n+m)

Theo trực giác, thuật toán của họ giảm bất kỳ trường hợp -vertex nào của vấn đề MST thành các trường hợp nhỏ hơn với các đỉnh trong thời gian tuyến tính, trong đó (giả sử) . Sau đó, họ tính toán cây so sánh tối ưu để tính cây bao trùm tối thiểu của bất kỳ đồ thị -vertex nào bằng cách liệt kê lực lượng vũ phu; ngay cả khi việc này mất thời gian theo cấp số nhân theo , thì đó chỉ là thời gian . Cuối cùng, họ giải quyết các trường hợp nhỏ bằng cách sử dụng cây quyết định tối ưu này.nO(n/k)O(k)k=O(logloglogloglogloglogn)kkO(loglogn)

Nói cách khác, Pettie và Ramachandran chỉ xây dựng một thuật toán MST tối ưu một cách gián tiếp, bằng cách xây dựng một thuật toán xây dựng thuật toán MST tối ưu.


Thật tuyệt! BTW, thuật toán của họ phù hợp với thời gian chạy tốt nhất trong mô hình cây quyết định, phải không?
Sasho Nikolov

Vâng đúng vậy!
Jeffε

2
Theo một nghĩa nào đó, điều này nghe giống như một hàm bậc cao hơn (đó là một hàm có chức năng khác và bằng chứng về độ phức tạp thời gian của nó phụ thuộc vào độ phức tạp của đầu vào) so với bằng chứng không mang tính xây dựng. Tôi sẽ lấy bằng chứng phi xây dựng để nói bất cứ điều gì chủ yếu gọi logic cổ điển (LEM, DNE hoặc Peirce) trong việc xây dựng bằng chứng về sự tồn tại của thuật toán mà không thực sự cung cấp nó. Mặc dù vậy, nó vẫn rất tuyệt.
copumpkin

13

Đây là hai ví dụ.

  1. Một số thuật toán sử dụng định lý Robertson-Seymour . Định lý nêu rằng có một sự cản trở hữu hạn cho từng trường hợp, nhưng không cung cấp một cách để tìm một tập hữu hạn như vậy. Do đó, mặc dù chúng tôi có thể chứng minh rằng thuật toán tồn tại, nhưng tuyên bố rõ ràng của thuật toán sẽ phụ thuộc vào tập hợp cản trở hữu hạn mà chúng tôi không biết cách tìm. Nói cách khác, chúng ta biết có một thuật toán, nhưng chúng ta chưa biết cách tìm ra một thuật toán.

  2. Một ví dụ mạnh hơn, mặc dù ít tự nhiên hơn về cơ bản là sử dụng PEM hoặc các tiên đề không mang tính xây dựng tương tự. Điều này mạnh hơn theo nghĩa là chúng ta có thể chứng minh sự tồn tại mang tính xây dựng của một thuật toán sẽ ngụ ý một tiên đề không mang tính xây dựng (tương tự như các ví dụ phản biện yếu của Brouwer ). Một ví dụ như vậy mạnh hơn bởi vì nó không chỉ nói rằng chúng ta không biết ngay bất kỳ thuật toán rõ ràng nào (hoặc bất kỳ cách tìm thuật toán nào), mà còn không có hy vọng làm như vậy.

    Ví dụ, chúng ta có thể sử dụng PEM để chứng minh một thuật toán tồn tại trong khi chúng ta không biết cái nào và cách tìm kiếm mang tính xây dựng sẽ ngụ ý một tiên đề không mang tính xây dựng. Hãy để tôi đưa ra một ví dụ đơn giản:

    Vấn đề tạm dừng có thể quyết định được đối với từng máy Turing cố định (mỗi TM tạm dừng hoặc không dừng lại và trong mỗi trường hợp có một TM đưa ra câu trả lời đúng), nhưng làm thế nào chúng ta có thể tìm ra thuật toán giải quyết vấn đề một cách chính xác mà không cần giải quyết ( phiên bản thống nhất của) vấn đề tạm dừng?

    Chính thức hơn, chúng tôi không thể chứng minh một cách xây dựng mà đưa ra một TM , có một TM rằng quyết định vấn đề ngăn chặn cho . Chính thức hơn, tuyên bố sau đây không thể được chứng minh một cách xây dựng:MHTM

    eN fN [({f}( )=0{e})({f}( )=1{e})]

    Ở đây là TM có mã (trong một số đại diện cố định của TM), có nghĩa là tạm dừng và có nghĩa là không dừng lại.e { e } { e } { f } { f }{e}e{e}{e}{f}{f}


1
"Tắc nghẽn hữu hạn cho từng trường hợp" là gì? Tôi nghĩ bạn có nghĩa là " bộ tắc nghẽn hữu hạn cho mỗi bộ đồ thị đóng nhỏ vô hạn " còn lại là không tốt (tôi đã chỉnh sửa câu trả lời của bạn để sửa nó nhưng dường như bị từ chối, tôi không muốn lặp lại điều này).
Saeed

8

Đúng.

Tại một thời điểm trong (1), định lý phân đôi đồng phân đồ thị có trọng số phức cho bất kỳ kích thước miền hữu hạn nào, Cai, Chen và Lu chỉ chứng minh sự tồn tại của việc giảm thời gian đa thức giữa hai bài toán đếm qua phép nội suy đa thức. Tôi không biết bất kỳ giá trị thực tế nào cho một thuật toán như vậy.

Xem Phần 4 của phiên bản arXiv. Bổ đề trong câu hỏi là Bổ đề 4.1, được gọi là "Bổ đề ghim đầu tiên".

Một cách để đưa ra bằng chứng mang tính xây dựng này là chứng minh phiên bản có trọng số phức tạp của kết quả của Lovasz , cụ thể là:

GZH(G,w,i)=ZH(G,w,j)fGf(i)=j

wHijGZH(G,w,i)GHiw

(1) Jin-Yi Cai, Xi Chen và Pinyan Lu, Biểu đồ đồng hình với các giá trị phức tạp: Định lý lưỡng phân ( arXiv ) ( ICALP 2010 )


7

Một số kết quả ban đầu từ cuối thập niên 80:

Từ bản tóm tắt của mục thứ hai:

Tuy nhiên, những tiến bộ cơ bản gần đây trong lý thuyết đồ thị đã tạo ra các công cụ phi cấu trúc mới mạnh mẽ có thể áp dụng để đảm bảo tư cách thành viên trong P. Các công cụ này không mang tính xây dựng ở hai cấp độ khác nhau: chúng không tạo ra thuật toán quyết định, chỉ tạo ra độ chính xác của bộ cản trở , họ cũng không tiết lộ liệu một thuật toán quyết định như vậy có thể giúp ích gì cho việc xây dựng một giải pháp hay không. Chúng tôi xem xét ngắn gọn và minh họa việc sử dụng các công cụ này và thảo luận về nhiệm vụ dường như ghê gớm của việc tìm kiếm các thuật toán quyết định thời gian đa thức đã hứa khi các công cụ mới này áp dụng.


6

Một ví dụ về một gia đình vô tận của các vấn đề (có giá trị thực tế khả nghi) mà chúng ta có thể chỉ ra:

  1. Điều đó cho mỗi vấn đề tồn tại một thuật toán để giải quyết nó.
  2. Rằng không có cách nào để xây dựng các thuật toán này (nói chung).

M

LM={M|L(M)=L(M) and |M||M|}

  1. M

  2. M P ( M ) L M M M 'PMP(M)LMMM|M||M|P(M)(M)P


2
Dễ thương. Nhưng giá trị thực tế của điều này có thể ít nghi ngờ hơn bạn nghĩ: đây là phiên bản quyết định của vấn đề tìm chương trình ngắn nhất với đầu ra nhất định, tức là nén dữ liệu tối ưu.
David Eppstein

1
Tôi nghĩ rằng ví dụ tương tự như tôi đã đưa ra. Lưu ý rằng khi chúng ta nói nó không mang tính xây dựng, chúng ta đang hiểu từ mang tính xây dựng là đệ quy / tính toán, một trong những trường học trong kiến ​​tạo.
Kaveh

2

Từ "Lý thuyết giá trị và biểu đồ thuật toán thuật toán ghi chú lý thuyết nhỏ" cho Hướng dẫn của MohammadTaghi Hajiaghayi, bởi Mareike Massow, Jens Schmidt, Daria Schymura và Siamak Tazari.

Mỗi thuộc tính đồ thị đóng nhỏ có thể được đặc trưng bởi một tập hợp hữu hạn các vị thành niên bị cấm.

Thật không may, kết quả của họ là không có tính chất xây dựng, tức là không có thuật toán nào có thể xác định chung loại nào sẽ được loại trừ đối với thuộc tính đồ thị đóng nhỏ nhất định. Hơn nữa, số lượng vị thành niên bị cấm có thể cao: Ví dụ: đối với các biểu đồ có thể nhúng trên hình xuyến, hơn 30.000 vị thành niên bị cấm đã được biết, tuy nhiên danh sách này chưa đầy đủ.

[...]

Mỗi thuộc tính đồ thị đóng nhỏ có thể được quyết định trong thời gian đa thức (ngay cả trong thời gian khối).


0

Thuật toán Lovász bổ đề cục bộ - "bổ đề địa phương Lovász thuật toán đưa ra một cách thức thuật toán để xây dựng các đối tượng tuân theo một hệ thống các ràng buộc với sự phụ thuộc hạn chế. ... Tuy nhiên, bổ đề này không mang tính xây dựng ở chỗ để tránh những sự kiện xấu. " Trên một số giả định / giới hạn về phân phối, một thuật toán được xây dựng được đưa ra bởi Moser / Tardos [1]. Bổ đề địa phương Lovasz dường như có nhiều mối liên hệ sâu sắc với lý thuyết phức tạp, ví dụ, xem [2]

[1] Một bằng chứng mang tính xây dựng của Bổ đề địa phương Lovász của Moser, Tardos

[2] Bổ đề địa phương Lovasasz và sự thỏa mãn Gebauer, Moser, Lập lịch, Welzl


Đó là một ý nghĩa khác của "xây dựng". Đôi khi các nhà lý thuyết phức tạp (ab) sử dụng từ "mang tính xây dựng" có nghĩa là thuật toán hiệu quả, và trong bối cảnh đó, bất cứ điều gì không hiệu quả về mặt thuật toán đều được gọi là không mang tính xây dựng. Điều này khác với khái niệm bằng chứng xây dựng dự định trong câu hỏi.
Kaveh

Câu đầu tiên của bạn là sai lệch. Thuật toán LLL là hoàn toàn mang tính xây dựng, theo nghĩa của thuật toán thời gian đa thức. LLL ban đầu có một bằng chứng phi cấu trúc theo nghĩa là một cuộc tranh luận quy nạp về một không gian xác suất rất lớn. Theo dõi công việc của Moser và Tardos, thực tế đã đóng tất cả các khoảng cách giữa LLL thuật toán và thậm chí tăng cường LLL, xem doi.acm.org/10.1145/1993636.1993669
Sasho Nikolov

bổ đề ban đầu từ năm 1975 là không mang tính xây dựng và các nhà nghiên cứu sau đó (nhiều thập kỷ sau) đã tìm thấy các thuật toán mang tính xây dựng cho các trường hợp đặc biệt nhưng "thực tế tất cả các khoảng trống" không giống như "tất cả các khoảng trống". đây là một ví dụ hữu ích cho thấy rằng nó không được đảm bảo rằng bằng chứng tồn tại phi cấu trúc sẽ luôn giữ nguyên như vậy, tức là không cấu trúc không phải luôn luôn tuyệt đối và có thể "có thể thay đổi", và nghiên cứu xa hơn / sau này có thể thu hẹp khoảng cách, và thậm chí liệu tất cả các khoảng trống được đóng lại bằng một thuật toán có thể tinh vi / khó chứng minh. có những ví dụ khác về điều này. Tôi đã trích dẫn giải pháp Moser / Tardos.
vzn

1
tất cả những gì tôi đang nói là cách bạn viết câu đầu tiên của bạn làm cho nó trông giống như "LLL thuật toán" là "không mang tính xây dựng". Trong trích dẫn đó có một tham chiếu đến LLL gốc, nhưng tham chiếu đó bị bỏ qua vì bạn đặt dấu chấm lửng ở đâu. bạn có thể chỉnh sửa để bao gồm nhiều trích dẫn hơn để nó không gây nhầm lẫn?
Sasho Nikolov

1
o / wi nghĩ rằng câu trả lời của bạn chỉ liên quan một cách hữu hình với chủ đề, nhưng một điểm tốt là một số định lý với bằng chứng không mang tính xây dựng cũng thừa nhận những điều mang tính xây dựng (và một số có thể không xác định, tùy thuộc vào cách bạn định nghĩa "mang tính xây dựng"). Có một vấn đề với việc sử dụng LLL mang tính xây dựng hơn nữa là không rõ cách xác định một vấn đề tính toán hợp lý trong mọi tình huống áp dụng LLL
Sasho Nikolov
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.