Chứng minh phân tích trường hợp xấu nhất không triệu chứng cho các nhà khoa học


22

Tôi đã làm việc để giới thiệu một số kết quả từ sự phức tạp tính toán vào sinh học lý thuyết, đặc biệt là tiến hóa & sinh thái học , với mục tiêu là thú vị / hữu ích cho các nhà sinh học. Một trong những khó khăn lớn nhất mà tôi gặp phải là chứng minh tính hữu ích của phân tích trường hợp xấu nhất không có triệu chứng đối với giới hạn dưới. Có bất kỳ tài liệu tham khảo chiều dài bài viết nào biện minh cho giới hạn thấp hơn và phân tích trường hợp xấu nhất không có triệu chứng cho khán giả khoa học?

Tôi thực sự đang tìm kiếm một tài liệu tham khảo tốt mà tôi có thể trì hoãn bằng văn bản của mình thay vì phải trải qua các biện minh trong không gian hạn chế mà tôi có sẵn (vì đó không phải là điểm chính của bài viết). Tôi cũng nhận thức được các loại phân tích và mô hình phân tích khác, vì vậy tôi không tìm kiếm một tài liệu tham khảo cho biết trường hợp xấu nhất là phân tích "tốt nhất" (vì có nhiều cài đặt khi không có nhiều), nhưng đó không phải là hoàn toàn vô dụng: nó vẫn có thể cung cấp cho chúng ta những hiểu biết hữu ích về mặt lý thuyết về hành vi của các thuật toán thực tế trên các đầu vào thực tế . Điều quan trọng là văn bản được nhắm mục tiêu vào các nhà khoa học nói chung và không chỉ các kỹ sư, nhà toán học hay nhà khoa học máy tính.

Lấy ví dụ, bài tiểu luận của Tim Roughgarden giới thiệu lý thuyết phức tạp cho các nhà kinh tế đang đi đúng hướng cho những gì tôi muốn. Tuy nhiên, chỉ có phần 1 và 2 là phù hợp (phần còn lại quá cụ thể về kinh tế) và đối tượng dự định sẽ thoải mái hơn một chút với tư duy chứng minh định lý so với hầu hết các nhà khoa học [1] .


Chi tiết

Trong bối cảnh động lực thích ứng trong quá trình tiến hóa , tôi đã gặp hai loại kháng cự cụ thể từ các nhà sinh học lý thuyết:

[A] "Tại sao tôi nên quan tâm đến hành vi cho tùy ý ? Tôi đã biết rằng bộ gen có cặp cơ sở (hoặc có thể gen) và không còn nữa."n = 3 * 10 9 n = 2 * 10 4nn= =3*109n= =2*104

Điều này tương đối dễ dàng để loại bỏ với lập luận "chúng ta có thể tưởng tượng chờ trong giây, nhưng không phải là ". Nhưng, một lập luận phức tạp hơn có thể nói rằng "chắc chắn, bạn nói rằng bạn chỉ quan tâm đến một cụ thể , nhưng lý thuyết của bạn không bao giờ sử dụng thực tế này, họ chỉ sử dụng rằng nó lớn nhưng hữu hạn, và đó là lý thuyết của bạn mà chúng tôi đang nghiên cứu phân tích tiệm cận ".2 10 9 n1092109n

[B] "Nhưng bạn chỉ cho thấy rằng điều này thật khó bằng cách xây dựng cảnh quan cụ thể này bằng các tiện ích này. Tại sao tôi phải quan tâm đến điều này thay vì mức trung bình?"

Đây là một bài phê bình khó giải quyết hơn, bởi vì rất nhiều công cụ mà mọi người thường sử dụng trong lĩnh vực này đến từ vật lý thống kê, nơi thường an toàn khi giả định một phân phối thống nhất (hoặc đơn giản cụ thể khác). Nhưng sinh học là "vật lý với lịch sử" và hầu hết mọi thứ không ở trạng thái cân bằng hoặc 'điển hình', và kiến thức thực nghiệm là không đủđể biện minh cho các giả định về phân phối trên đầu vào. Nói cách khác, tôi muốn một đối số tương tự như đối số được sử dụng để phân tích trường hợp trung bình phân phối thống nhất trong công nghệ phần mềm: "chúng tôi mô hình hóa thuật toán, chúng tôi không thể xây dựng một mô hình hợp lý về cách người dùng sẽ tương tác với thuật toán hoặc phân phối của họ đầu vào sẽ là, đó là cho các nhà tâm lý học hoặc người dùng cuối, không phải chúng tôi. " Ngoại trừ trong trường hợp này, khoa học không ở vị trí tương đương với 'nhà tâm lý học hoặc người dùng cuối' để tìm ra các phân phối cơ bản (hoặc nếu điều đó thậm chí còn có ý nghĩa).

Ghi chú và câu hỏi liên quan

  1. Liên kết thảo luận về khoa học nhận thức, nhưng tư duy là tương tự trong sinh học. Nếu bạn duyệt qua Evolution hoặc Tạp chí Sinh học lý thuyết , bạn sẽ hiếm khi thấy bằng chứng định lý, và khi bạn thực hiện nó thường sẽ chỉ là một phép tính thay vì một cái gì đó như một bằng chứng tồn tại hoặc xây dựng phức tạp.
  2. Mô hình cho phân tích phức tạp của các thuật toán
  3. Các loại phân tích thời gian chạy khác ngoài trường hợp xấu nhất, trường hợp trung bình, vv?
  4. Sinh thái và tiến hóa thông qua lăng kính thuật toán
  5. Tại sao các nhà kinh tế nên quan tâm đến sự phức tạp tính toán

23
Hành vi xấu nhất là không thể biện minh cho thuật toán đơn giản có hành vi trường hợp xấu hơn theo cấp số nhân và những người duy nhất từng quan tâm là các nhà lý thuyết. Những gì bạn cần tranh luận là (a) hành vi tiệm cận trong trường hợp trung bình là quan trọng; (b) hành vi tiệm cận trong trường hợp trung bình và hành vi tiệm cận trong trường hợp xấu nhất thường khá giống nhau; (c) hành vi tiệm cận trong trường hợp xấu nhất thường dễ tính toán hơn nhiều so với hành vi tiệm cận trong trường hợp trung bình (đặc biệt là vì không ai biết phân phối xác suất liên quan là gì).
Peter Shor

5
Asymptotics đã là một khía cạnh có vấn đề. Chúng ta đều biết câu chuyện về thuật toán nhân ma trận (giới hạn trên không có triệu chứng trong thực tế) và có lẽ câu chuyện về việc chọn tham số trong mật mã (giới hạn dưới tiệm cận là vô nghĩa trong thực tế; thuật toán hàm mũ đôi khi khả thi [DES]). Nếu phân tích của bạn có hằng số thực tế thì nó sẽ thuyết phục hơn.
Yuval Filmus

6
Nếu bạn nghĩ về tính toán như một trò chơi (tức là chiến tranh) giữa nhà cung cấp đầu vào và thuật toán, thì phân tích trường hợp xấu nhất là một cách tiếp cận quân sự tiêu chuẩn - bạn muốn biết nó có thể tệ đến mức nào. Thứ hai, và quan trọng hơn, phân tích trường hợp xấu nhất không cho phép bạn lười biếng về mặt trí tuệ và chấp nhận các giải pháp có thể tốt cho những gì bạn tin rằng thế giới (và không phải thế giới thực sự là gì). Cuối cùng, và có lẽ là quan trọng nhất, nó cung cấp một cách thống nhất để so sánh các thuật toán theo một cách có ý nghĩa hy vọng. Nói tóm lại, đó là cách tiếp cận tồi tệ nhất, ngoại trừ tất cả những cái khác.
Sariel Har-Peled

6
Tôi nghĩ rằng một trường hợp xấu nhất bị ràng buộc thấp hơn nên được coi là đưa bóng trở lại tòa án của họ. Bạn đã chỉ ra rằng không có thuật toán nào có thể giải quyết vấn đề của họ trên tất cả các trường hợp trong một khung thời gian hợp lý. Họ có thể tin tưởng một cách hợp lý rằng các trường hợp của họ rất dễ dàng - nhưng bạn đã chỉ ra rằng nếu điều này là như vậy, thì đó là một thực tế không hề nhỏ. Mô hình của họ do đó không đầy đủ trừ khi họ đưa ra một lời giải thích cho lý do tại sao điều này là như vậy.
Aaron Roth

3
(Đây là cách tiếp cận có vẻ hiệu quả khi nói chuyện với các nhà lý thuyết trò chơi. Nó đặt ra câu hỏi - nếu thị trường thực sự cân bằng nhanh chóng - thị trường thực sự có tài sản đặc biệt nào có độ cứng trong trường hợp xấu nhất? tài sản như vậy, và giới hạn dưới chỉ cho rằng làm như vậy là một hướng nghiên cứu quan trọng)
Aaron Roth

Câu trả lời:


8

Cá nhân tôi (và thiên vị) nhận định rằng phân tích trường hợp xấu nhất không có triệu chứng là bước đệm lịch sử cho các loại phân tích thực tế hữu ích hơn. Do đó có vẻ khó để biện minh cho các học viên.

Chứng minh giới hạn cho trường hợp xấu nhất thường dễ hơn so với chứng minh giới hạn cho các định nghĩa "đẹp" của trường hợp trung bình. Phân tích tiệm cận cũng thường dễ dàng hơn nhiều so với việc chứng minh các giới hạn chặt chẽ hợp lý. Do đó, phân tích tiệm cận tồi tệ nhất là một nơi tuyệt vời để bắt đầu.

Công việc của Daniel Spielman và Shanghua Teng về phân tích đơn giản về Simplex dường như là điềm báo cho những gì có thể xảy ra khi chúng ta bắt đầu hiểu rõ hơn về hình dạng của một vấn đề: giải quyết trường hợp xấu nhất trước tiên cho phép hiểu được nhiều sắc thái hơn đã phát triển. Hơn nữa, như Aaron Roth đã đề xuất trong các bình luận, nếu hành vi "thông thường" của một hệ thống khác biệt đáng kể so với trường hợp xấu nhất của nó, thì hệ thống vẫn chưa được chỉ định hoàn toàn và cần thêm nhiều công việc để cải thiện mô hình. Vì vậy, vượt ra ngoài trường hợp xấu nhất thường có vẻ quan trọng như là một mục tiêu dài hạn.

Theo như phân tích tiệm cận, nó thường phục vụ để giữ một bằng chứng dài và lộn xộn rõ ràng về các chi tiết gây mất tập trung. Thật không may, hiện tại dường như không phải là một cách để thưởng cho công việc tẻ nhạt trong việc điền vào các chi tiết để có được các hằng số thực tế, do đó hiếm khi có vẻ được thực hiện. (Giới hạn trang cũng hoạt động chống lại điều này.) Phân tích cẩn thận các chi tiết của ràng buộc tiệm cận đã dẫn đến các thuật toán thực tế, với các giới hạn tốt trên các hằng số, vì vậy cá nhân tôi muốn xem thêm về loại công việc này. Có lẽ nếu nhiều bằng chứng được chính thức hóa bằng cách sử dụng các hệ thống trợ lý bằng chứng, thì các hằng số có thể được ước tính với ít nỗ lực hơn. (Hoặc giới hạn của các hằng số, dọc theo các dòng của Gowers bị ràng buộc đối với Bổ đề chính quy của Szemerédi, có thể trở nên thường xuyên hơn.) Cũng có những cách để chứng minh các giới hạn thấp hơn không có hằng số, bằng cách sử dụng các mô hình máy rõ ràng hơn (chẳng hạn như automata trạng thái hữu hạn xác định). Tuy nhiên, các giới hạn thấp hơn (gần) chính xác như vậy đối với các mô hình tính toán tổng quát hơn có thể đòi hỏi rất nhiều công việc hoặc hoàn toàn nằm ngoài tầm với. Điều này dường như đã được theo đuổi trong ~ 1958 Ném73 trong thời kỳ hoàng kim đầu tiên của lý thuyết automata, nhưng theo như tôi có thể nói thì phần lớn đã bị bỏ lại một mình.

Ôi(nk)


Tôi không chia sẻ sự nhiệt tình của bạn về việc bỏ các tiệm cận không có lợi cho các giới hạn chính xác với các hằng số xác định. Tiệm cận có thể không chính xác - nhưng chúng không chính xác. Họ trừu tượng về sự khác biệt thực hiện cho cùng một mô hình máy. Ví dụ, một thuật toán sắp xếp bậc hai trên phần cứng của những năm 1950 vẫn sẽ là bậc hai trên phần cứng ngày nay. Hơn nữa, các công thức tiệm cận sáng tác độc đáo. Linears và đa thức được đóng theo thành phần, ví dụ. (Lưu ý rằng tranh luận về giới hạn tốt hơn trong trường hợp trung bình so với trường hợp xấu nhất là trực giao từ tranh luận chống lại triệu chứng.)
brandjon

Bạn nói chung đúng, nhưng có một sự khác biệt lớn giữa một hằng số nhỏ và một hằng số là hàm không sơ cấp của một tham số có liên quan.
András Salamon

Tôi thích câu trả lời này một cách tổng thể, nhưng tôi đồng ý với @brandjon rằng việc ẩn các hằng số là rất quan trọng. Đối với tôi, lý do TCS hữu ích trong sinh học là bởi vì nó cần đưa ra các giả định về động lực học vi mô ít hơn nhiều so với vật lý. Tuy nhiên, nếu bạn không đưa ra các giả định về động lực học vi mô (Tức là thông số kỹ thuật chính xác của mô hình tính toán) thì bạn không thể loại bỏ các yếu tố không đổi. Tính năng hữu ích khác của TCS là các phân đôi định tính nghiêm ngặt (một cái gì đó dễ so sánh với các quan sát định tính hơn trong sinh học), thông thường để có được những thứ này bạn cũng phải bỏ các hằng số.
Artem Kaznatcheev

Ôi~(nÔi~(1/ε))

1
Như một lưu ý phụ, có những ví dụ trong đó phân tích trường hợp xấu nhất có ý nghĩa. Ví dụ: khi bạn phát triển một thư viện các chương trình con có mục đích chung và không biết chúng sẽ hữu ích trong lĩnh vực ứng dụng nào: chẳng hạn, bạn có thể dự đoán tất cả các trường hợp khi nào và tại sao ai đó muốn tính toán kết hợp lưỡng cực chi phí tối thiểu, chẳng hạn. Các cài đặt đối nghịch, chẳng hạn như mật mã, thậm chí còn rõ ràng hơn (tuy nhiên, trong tiền điện tử, bạn thực sự muốn biết các hằng số khi nói đến các tham số bảo mật).
Sasho Nikolov

4

Giới hạn dưới và phân tích trường hợp xấu nhất thường không đi cùng nhau. Bạn không nói rằng một thuật toán sẽ mất ít nhất thời gian theo cấp số nhân trong trường hợp xấu nhất, do đó, nó rất tệ. Bạn nói rằng nó có thể mất nhiều thời gian tuyến tính trong trường hợp xấu nhất, và do đó là tốt. Cái trước chỉ hữu ích nếu bạn định chạy thuật toán của mình trên tất cả các đầu vào có thể, và không chỉ là đầu vào trung bình.

Nếu bạn muốn sử dụng giới hạn thấp hơn để chứng minh tính xấu, thì bạn muốn phân tích trường hợp tốt nhất hoặc phân tích trường hợp trung bình. Bạn có thể đơn giản hóa mọi thứ bằng cách dựa vào quan điểm của @ PeterShor rằng tệ nhất và trung bình thường rất giống nhau và đưa ra một danh sách các thuật toán giặt là đúng. (Ví dụ: tất cả các loại cổ điển bên cạnh quicksort.)

Để chứng minh rằng tiệm cận có vấn đề khi so sánh với các yếu tố đầu vào không đổi và các yếu tố không đổi, bài viết yêu thích của tôi về chủ đề này là "Ngọc trai lập trình: kỹ thuật thiết kế thuật toán" của Jon Bentley. Ông trình bày bốn giải pháp khác nhau cho một vấn đề mảng đơn giản, và chứng minh cách tiếp cận tuyến tính tiêu diệt khối thứ nhất. Ông gọi bảng của mình là "The Tyranny of Asymptotics", sau thuật ngữ được các nhà vật lý sử dụng cho tính hấp dẫn của phương trình tên lửa. Tôi sử dụng ví dụ này để thúc đẩy việc tìm kiếm các thuật toán tốt hơn cho sinh viên dự bị đại học.

Một nhà khoa học không phải là máy tính sẽ đọc qua một bài báo có chứa mã và biết bỏ qua các chi tiết cấp thấp để có được bức tranh lớn? Tôi không biết. Có lẽ có một bài thuyết trình tốt hơn ở nơi khác. Nhưng tôi nghĩ rằng đây là một nguồn tài nguyên tốt để trích dẫn.

Và nếu họ lập luận rằng họ không quan tâm đến n lớn tùy ý, hãy để họ chạy Fibros đệ quy không ghi nhớ trên các cặp cơ sở 3 * 10 9 và nói với họ rằng đó là O (1) vì kích thước của chuỗi DNA được cố định. ;)


1
Tôi thích ví dụ fibonacci :)
Suresh Venkat

3
Re: đoạn đầu tiên của bạn: thực sự, đó gần như chính xác là những gì rất nhiều lý thuyết phức tạp làm. Nếu một vấn đề đã hoàn thành EXP, điều đó có nghĩa là nó đòi hỏi thời gian theo cấp số nhân đối với các đầu vào trong trường hợp xấu nhất. Điều này thường được coi là một dấu hiệu cho thấy khó khăn chung của nó (mà công bằng mà nói, trong thực tế thường không quá tệ như một chỉ số chung). Đây là tiêu chuẩn thực tế, được gọi là "vô hạn thường xuyên" hoặc io giới hạn dưới; đạt được giới hạn trung bình hoặc gần như ở mọi nơi thấp hơn (nghĩa là, đối với tất cả nhưng rất nhiều đầu vào) là mục tiêu đôi khi được theo đuổi, nhưng thường nằm ngoài tầm với so với giới hạn dưới của io.
Joshua Grochow

2
Hãy để tôi chỉ ra rằng bạn không chỉ có thể đưa ra một danh sách các thuật toán giặt mà phân tích trường hợp xấu nhất và trường hợp trung bình là như nhau, mà bạn còn có thể đưa ra nhiều ví dụ về chúng rất khác nhau (thuật toán đơn giản là nổi tiếng nhất trong số này). Bạn thực sự cần phải tranh luận bằng cách nào đó rằng chúng giống nhau cho ứng dụng cụ thể của bạn; thử nghiệm thử nghiệm là một cách tốt để làm điều này.
Peter Shor

1
@JoshuaGrochow Đủ công bằng. Làm thế nào về chúng tôi sửa đổi tuyên bố như sau: Giới hạn thấp hơn trong trường hợp xấu nhất là quan trọng khi bạn muốn chứng minh sự vắng mặt của một đảm bảo toán học về tính không kinh khủng. ;)
brandjon

-3

nhiều người đồng ý đây là một chủ đề quan trọng để khảo sát / bao gồm nhưng dường như vẫn chưa có nhiều. một vài giới thiệu về phong cách / phạm vi / đối tượng / hình thức khác nhau không chính xác như yêu cầu nhưng hơi gần gũi (được xem trực tuyến tốt nhất cho đến nay trên tìm kiếm trung bình, hy vọng sẽ biết thêm về bất kỳ cái nào tốt hơn; ghi chú thêm bên dưới):

  • Sự phức tạp của các thuật toán Atkinson (than ôi chỉ là một giới thiệu duy nhất về sinh học trong bài báo, nhưng có thể đủ cho các thuật ngữ khoa học / kỹ thuật chung hơn)

    Lý thuyết hiện đại về thuật toán có từ cuối những năm 1960 khi phương pháp đo thời gian thực hiện tiệm cận bắt đầu được sử dụng. Có ý kiến ​​cho rằng chủ đề này có cả cánh kỹ thuật và khoa học. Cánh kỹ thuật bao gồm các phương pháp thiết kế được hiểu rõ trong khi cánh khoa học có liên quan đến nền tảng lý thuyết. Các vấn đề chính của cả hai cánh được khảo sát. Cuối cùng, một số ý kiến ​​cá nhân về nơi mà chủ đề sẽ đi tiếp theo được đưa ra.

  • Độ phức tạp và thuật toán J. Diaz. 100 slide. rộng lớn; người ta có thể trích dẫn những cái có liên quan nói riêng.

  • Giới thiệu nhẹ nhàng về phân tích độ phức tạp thuật toán Phân tích "dionyziz" Zindros

nói cách khác, có một loại giới thiệu / khảo sát / tổng quan về thấu kính lý thuyết phức tạp trong sự kết hợp chặt chẽ / kết hợp / đồng hành với thấu kính thuật toán tiến bộ trong khoa học, một cái gì đó như "Lý thuyết phức tạp cho các nhà khoa học, kỹ sư và nhà nghiên cứu" ?

có refs tốt trên các cựu "ống kính thuật toán" bạn đã trích dẫn ví dụ PAPADIMITRIOU nhưng nó dường như không phải là một ref rất thỏa đáng bởi một chuyên gia trong lĩnh vực này đã được viết vào "ống kính phức tạp" sau ... chưa (có thể một số "ưu tú " Thành viên của trang này sẽ coi đó là dự án sách hoặc giấy tiếp theo của họ).

cũng lưu ý rằng có rất nhiều giới thiệu về mức độ phù hợp P so với NP ngoài lý thuyết phức tạp & trong các lĩnh vực khoa học khác có thể được sử dụng phần nào cho các mục đích này. sẽ thêm chúng trong các ý kiến ​​nếu có bất kỳ quan tâm.


3
Tôi không nghĩ rằng điều này thực sự trả lời câu hỏi.
Huck Bennett

1
uh huh, bạn đã xem bất kỳ giới thiệu? một phần câu trả lời của tôi là không có (chưa) câu trả lời lý tưởng / hoàn hảo nào: |
vzn

1
Họ dường như định nghĩa phân tích trường hợp không có triệu chứng và tồi tệ nhất thay vì tập trung vào việc biện minh cho nó, nhưng có lẽ tôi đã bỏ lỡ điều gì đó?
Huck Bennett

7
Trên thực tế, tôi nghĩ rằng các nhà nghiên cứu bên ngoài TCS có thể dễ dàng loại bỏ trường hợp xấu nhất là "các ví dụ được xây dựng giả tạo sẽ không bao giờ xảy ra trong thực tế" và sẽ (không có sức thuyết phục mạnh mẽ khác) quan tâm nhiều hơn đến trường hợp trung bình (mặc dù thực tế là nó không rõ ràng rằng trường hợp trung bình gần với các trường hợp thực tế hơn).
Joshua Grochow

1
@vzn: tiệm cận (ví dụ big-Oh) và trường hợp xấu nhất có phần trực giao. Người ta có thể thực hiện phân tích trường hợp xấu nhất không có triệu chứng, phân tích trường hợp trung bình không có triệu chứng hoặc thậm chí phân tích trường hợp dễ nhất không có triệu chứng (mặc dù tôi thừa nhận điều sau có vẻ hơi sai lầm). Thay vào đó, người ta có thể thực hiện phân tích trường hợp xấu nhất chính xác , hoặc phân tích trường hợp trung bình chính xác , v.v., mặc dù những điều này sẽ phụ thuộc nhiều vào mô hình và ít mạnh mẽ hơn. Biện minh cho việc sử dụng tiệm cận (và che giấu những thứ như các yếu tố không đổi) hoàn toàn khác biệt với việc chứng minh trường hợp xấu nhất so với trường hợp trung bình hoặc trường hợp "thực tế" (bất cứ điều gì sau này có nghĩa là ...).
Joshua Grochow
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.