Cơ sở dữ liệu kết quả cho mã số


17

Trong tài liệu về phương pháp số, nhiều tài liệu nghiên cứu bao gồm mô tả về một biến thể thuật toán mới, theo sau là một vài vấn đề thử nghiệm so sánh phương pháp mới với một hoặc hai phương thức hiện có. Điều này gây khó khăn cho việc xác định

  • Phương pháp mới sẽ thực hiện như thế nào đối với các vấn đề quan tâm khác
  • Phương thức mới sẽ so sánh với các phương thức hiện có khác như thế nào

Tất nhiên, cả hai câu hỏi này thường rất quan trọng đối với người quyết định có nên áp dụng phương pháp mới hay không. Để cải thiện tình trạng này, có vẻ như mong muốn, nếu có thể, hãy khiến mọi người chạy một tập hợp lớn các vấn đề kiểm tra ( xem câu hỏi này ) với phương pháp của họ và lập danh mục kết quả trong cơ sở dữ liệu để so sánh với các phương pháp khác. Sau đó, một nhà khoa học hoặc kỹ sư có thể truy vấn cơ sở dữ liệu, có lẽ chỉ ra đặc điểm giải pháp / vấn đề nào là quan trọng nhất đối với họ (tính chính xác, hiệu quả, tính chất định tính, v.v.) và có được một so sánh định lượng về hiệu suất của tất cả các phương pháp trong cơ sở dữ liệu.

Tôi nhận ra rằng có rất nhiều khó khăn trong việc thực hiện ý tưởng này (chủ yếu: khiến mọi người thực sự chạy tất cả những vấn đề đó và đo lường chi phí tính toán). Nhưng câu hỏi của tôi là: Có tồn tại một cơ sở dữ liệu kết quả như vậy không? (nói trong một số trường con cụ thể) hoặc có một cách tiếp cận như thế này đã được thực hiện ở bất cứ đâu?

Cả hai câu trả lời được đăng cho đến nay là về cơ sở dữ liệu về các vấn đề. Tôi đang hỏi về cơ sở dữ liệu kết quả.

Câu trả lời:


9

Trong số các tiêu chí bạn đã chỉ định, tôi nghĩ rằng dự án gần nhất mà tôi biết sẽ là bộ sưu tập ma trận thưa thớt của Đại học Florida . Mọi người thường sử dụng bộ dữ liệu này để so sánh các bộ giải đại số tuyến tính thưa thớt và bạn có thể lọc theo ứng dụng, số lượng khác không, kích thước của ma trận, v.v. với giao diện web thực sự đẹp, giao diện MATLAB hoặc GUI Java. Tôi đã thấy các bảng về những vấn đề này được liệt kê trong các bài báo cùng với việc so sánh thời gian chạy của người giải với 4 đến 8 người giải đại số tuyến tính.

Tôi đồng ý rằng sẽ rất hữu ích khi biên dịch các cơ sở dữ liệu như vậy và hơn nữa, tôi nghĩ rằng phương pháp thu thập ma trận thưa thớt của UF để biên dịch dữ liệu là một cách tuyệt vời và sẽ là khởi đầu tuyệt vời cho bất cứ ai nghĩ về việc hiện thực hóa ý tưởng này. Thực hiện tất cả các vấn đề, trong thực tế, dường như không phải là một khó khăn lớn miễn là bạn có thể có quyền truy cập vào tất cả các người giải quyết; nếu bạn có quyền truy cập vào bộ giải và một máy tham chiếu tiêu chuẩn đáng tin cậy với tất cả các phần mềm cần thiết được cài đặt, thì đó là vấn đề chạy tập lệnh và thu thập dữ liệu. Khó khăn, trong suy nghĩ của tôi, sẽ khiến mọi người cung cấp cho bạn phần mềm của họ, nếu đó không phải là nguồn mở. Nếu nó là thương mại, bạn có thể mua nó, hoặc thậm chí có thể khiến mọi người quyên góp phần mềm,Dự án COIN-OR . Nhưng nếu đó là phần mềm nghiên cứu không phải là nguồn mở hay thương mại, thì bạn cần thuyết phục mọi người mua vào nỗ lực đó và họ có thể không tin tưởng một bên thứ ba đánh giá phần mềm của họ một cách công bằng.

Tôi cũng biết rằng trong tối ưu hóa, có các cơ sở dữ liệu về các vấn đề có thể tải xuống ( CUTEr xuất hiện) và sách về các vấn đề kiểm tra để tối ưu hóa. Tôi đã thấy mọi người (ví dụ, tôi đặc biệt nghĩ về một cuộc nói chuyện của Ruth Misener tại AIChE 2011) so sánh người giải quyết tối ưu hóa của họ với những người giải quyết vấn đề khác về cơ sở dữ liệu trong các bài thuyết trình; Tôi không chắc chắn những gì được phát hành công khai. Tôi biết rằng có một truyền thống tối ưu hóa để so sánh trên quy mô lớn (nhiều người giải quyết, nhiều vấn đề); Tôi chỉ không nghĩ rằng có sẵn một cơ sở dữ liệu trực tuyến.

Một điều khác mà tôi nghĩ là quan trọng là chúng ta phân biệt ở đây giữa các phương thứctriển khai phần mềm. Trong điện toán khoa học, tất cả chúng ta đều nói về phương pháp nào nhanh hơn hoặc chậm hơn dựa trên những thứ như số liệu độ phức tạp tính toán hoặc kinh nghiệm của chúng tôi với các vấn đề khác nhau. Tuy nhiên, khi nói đến việc đo thời gian tính toán một cách định lượng, trừ khi người ta đếm số lượng FLOP trong một thuật toán cụ thể, người ta phải thực hiện thuật toán trong phần mềm và sau đó đo hiệu suất theo cách nào đó (sử dụng bộ nhớ, thời gian thực hiện của đồng hồ treo tường, v.v. .). Thật hợp lý khi đánh giá hiệu suất của một phương pháp khi xem xét độ phức tạp tính toán hoặc số FLOP, bởi vì chúng ta không cần thực hiện để đo lường những điều đó, nhưng thời điểm chúng ta quan tâm đến thời gian chạy đồng hồ treo tường thực tế, nói về các phương pháp là chỉ hữu ích như một thiết bị trừu tượng, thông tục. (Ví dụ,

Tôi đưa ra sự khác biệt này giữa các phương pháp và phần mềm bởi vì trong cơ sở dữ liệu như vậy, tôi cũng có thể thấy khả năng theo dõi sự cải tiến của phần mềm theo thời gian. Vì vậy, ví dụ, với một cái gì đó như, như PETSc, hoặc PyCLAW, hoặc bất kỳ phần mềm nào đang được thử nghiệm, sẽ rất thú vị khi xem những vấn đề nào bị ảnh hưởng tích cực (hoặc tiêu cực!) Khi nâng cấp trong phần mềm. Điều này có thể hữu ích cho các nhà nghiên cứu cố gắng quyết định xem nó có xứng đáng với bất kỳ chi phí tiềm năng nào về tiền bạc và nhân lực để nâng cấp mã của họ hay không. Một lý do khác để phân biệt như vậy là quan trọng là bởi vì một phương pháp tốt có thể được thực hiện tồi; Tôi nghĩ rằng khả năng này góp phần vào sự thận trọng mà mọi người đôi khi có trong việc chia sẻ mã nghiên cứu của họ.

Tôi nghĩ bất cứ ý tưởng nào xuất hiện (và tôi hy vọng điều gì đó xuất hiện và sẽ sẵn sàng đóng góp sau tiến sĩ), điều quan trọng là phải nhấn mạnh sự khác biệt giữa phần mềm và phương pháp, bởi vì nếu chúng tôi đang chạy thử nghiệm, chúng tôi sẽ sẽ được đăng kết quả cho phần mềm.


2
Tôi rất thích ý kiến ​​của bạn, và bạn nêu lên một điểm quan trọng. Như tôi chắc chắn rằng bạn biết, các liên kết bạn đưa ra là cho các cơ sở dữ liệu về các vấn đề chứ không phải về kết quả.
David Ketcheson

Đó là những thứ gần nhất tôi có thể tìm thấy. Tôi đã cố gắng săn lùng các cơ sở dữ liệu về kết quả, bởi vì tôi nghĩ rằng bạn nêu ra một ý tưởng thực sự quan trọng, nhưng tôi không thể tìm thấy bất kỳ. Có lẽ đây là một dự án mới quan trọng?
Geoff Oxberry

Cảm ơn; Tôi đồng ý và đây là những "hữu ích gần đúng nhất" như bạn nói. Tôi thực sự đang xem xét điều này (với một số người khác sẽ cho vay nó đáng tin cậy hơn) như một dự án mới. Tôi rất vui vì bạn quan tâm! Chúng ta có thể thảo luận về nó ở nơi khác, vì SE không thích thảo luận.
David Ketcheson

4

Đã có một nỗ lực để tạo ra một danh sách các tích phân "khó" để tính toán bằng số (xem các bài báo của Walter Gautschi, Robert Piessens và những người khác) nhưng không có cơ sở dữ liệu chính thức.

Trong lĩnh vực ODE, có bộ kiểm tra IVP , bộ kiểm tra cho các vấn đề giá trị ban đầu.


thực sự tôi đang hỏi về cơ sở dữ liệu về kết quả tính toán, chứ không phải cơ sở dữ liệu về các vấn đề.
David Ketcheson

1
@DavidKetcheson Nó chứa mã trình điều khiển để tự động tính toán kết quả.
Jed Brown

Tuyệt quá! Mặc dù tôi rất muốn thấy một cơ sở dữ liệu thực tế nơi lưu trữ kết quả (tất nhiên, ngoài khả năng tính toán lại chúng), đây là điều gần nhất tôi thấy với những gì tôi nghĩ.
David Ketcheson

3

Tôi không quen thuộc với cơ sở dữ liệu như vậy, nhưng tôi nghĩ sẽ rất khó để định nghĩa theo cách hữu ích. Theo tôi, một hệ thống tốt hơn là phát hành mã ở dạng có thể chạy được để người dùng có thể mở rộng để kiểm tra toàn diện như họ muốn. Về mặt kho lưu trữ cộng đồng, bộ kiểm tra IVP mà GertVdE đề cập cũng chứa mã trình điều khiển để chạy một số bộ giải ODE / DAE được công bố về các vấn đề kiểm tra. Trong các ấn phẩm của mình, tôi cố gắng phát hành mã và tất cả các tập lệnh được sử dụng để tạo phân tích dữ liệu đầu ra và tạo các ô và bảng xuất hiện trong bài báo.


1
Phân minh nhỏ: đây là một nhận xét nhiều hơn là một câu trả lời. Tôi đánh giá cao suy nghĩ phê phán, mặc dù. Tôi muốn thấy mọi người làm cả hai. Tại sao làm cho tôi cài đặt và chạy mã của bạn chỉ để tôi có thể vẽ kết quả của bạn chống lại tôi? Và sau đó bạn có thể tuyên bố rằng tôi đã không đặt đúng lựa chọn? Dù sao, tôi (có nghĩa là nhà nghiên cứu điển hình) sẽ không làm điều đó vì nó quá nhiều công việc. Nhưng nếu tất cả những gì tôi phải làm là đọc trong một tệp dữ liệu, tôi có thể sẵn sàng.
David Ketcheson

1

Hội thảo Âm thanh Âm thanh về các vấn đề điểm chuẩn có một mục tiêu tương tự trong tâm trí đối với các vấn đề về âm thanh. Đầu tiên họ trình bày một loạt các vấn đề điểm chuẩn trước thời hạn và nhờ mọi người giải quyết chúng bằng phương pháp của riêng họ và so sánh kết quả. Ví dụ: đây là thủ tục của cuộc họp thứ tư: http://www.archive.org/details/nasa_techdoc_20040182258

Mặc dù, từ những gì tôi có thể nói họ không so sánh hiệu quả của các mã của họ với nhau, họ chủ yếu nhìn vào độ chính xác.


Hấp dẫn! Có một cơ sở dữ liệu của các giải pháp? Hoặc chính xác làm thế nào để họ so sánh kết quả?
David Ketcheson

"Cơ sở dữ liệu" có trong báo cáo tôi đã đăng. Ở phần cuối của bài báo có một phần có tiêu đề "So sánh giải pháp". Chỉ có bốn cuộc họp cho việc này, và cuộc họp cuối cùng là vào năm 2004. Tôi ước có nhiều nỗ lực hơn để có được những loại điều này trực tuyến như bạn đề xuất.
James Custer

1

Trong mô hình động đất đã có một vài trong số những nỗ lực này. Những cái mà tôi nghĩ đến là dự án mô phỏng vỡ động và dự án đảo ngược nguồn (http://eqsource.webfactional.com/wiki/). Cả hai đều cung cấp các vấn đề vật lý để giải quyết và là bất khả tri (ở một mức độ nào đó) liên quan đến các phương pháp được sử dụng. Thực sự các dự án này là về việc làm cho các nhà lập mô hình cụ thể của miền so sánh với nhau, không thực sự là một tập hợp các vấn đề kiểm tra chung cho mọi phương pháp số. Nhưng bạn có thể so sánh với kết quả của người khác, và điều này đã tiết lộ rất nhiều vấn đề với nhiều mã.

Một khả năng để xem xét sẽ là dự án madagreb , được phát triển trong thế giới hình ảnh địa chấn nhưng tuyên bố là mục đích khá chung chung.


Madagascar là một ví dụ tuyệt vời. Cảm ơn bạn!
Jack Poulson
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.