숫자 코드에 대한 결과 데이터베이스


17

수치 분석법 문헌에서, 많은 연구 논문은 새로운 알고리즘 변형에 대한 설명으로 구성되며, 새로운 분석법을 하나 또는 두 개의 기존 분석법과 비교하는 몇 가지 테스트 문제가 뒤 따릅니다. 이것은 결정하기 어렵다

  • 새로운 관심사가 다른 관심있는 문제 에서 어떻게 수행 될 것인가
  • 새로운 방법이 기존의 다른 방법 과 비교되는 방법

물론이 두 가지 질문은 대개 새로운 방법을 채택할지 여부를 결정하는 데 중요합니다. 이 상황을 개선하기 위해 가능한 경우 사람들 자신의 방법 으로 많은 테스트 문제 ( 이 질문 참조 )를 실행하고 다른 방법과 비교하기 위해 데이터베이스에 결과를 카탈로그 화하는 것이 바람직합니다. 그런 다음 과학 자나 엔지니어는 데이터베이스에 쿼리하여 가장 중요한 솔루션 / 문제 특성 (정확도, 효율성, 정 성적 속성 등)을 표시하고 데이터베이스에있는 모든 방법의 성능을 정량적으로 비교할 수 있습니다.

나는이 아이디어를 구현하는 데 많은 어려움이 있음을 알고 있습니다 (주로 사람들이 실제로 모든 문제를 실행하고 계산 비용을 측정하도록 유도). 그러나 내 질문은 : 결과 데이터베이스가 있습니까? (일부 특정 하위 필드에서) 또는 이와 같은 접근 방식이 어디서나 구현 되었습니까?

지금까지 게시 된 두 가지 답변은 문제 데이터베이스에 관한 것입니다. 결과 데이터베이스에 대해 묻습니다.

답변:


9

내가 지정한 기준 중 내가 아는 가장 가까운 프로젝트는 University of Florida의 희소 행렬 모음 일 것 입니다. 사람들은 일반적으로이 데이터 세트를 사용하여 희소 선형 대수 솔버를 비교하며, 정말 멋진 웹 인터페이스, MATLAB 인터페이스 또는 Java GUI를 사용하여 응용 프로그램, 0이 아닌 수, 행렬의 차원 등으로 필터링 할 수 있습니다. 이 문제의 표를 4-8 선형 대수 솔버에 대한 솔버 런타임 비교와 함께 논문에 나와 있습니다.

나는 그러한 데이터베이스를 컴파일하는 것이 유용 할 것이라는 데 동의하며, 또한 데이터를 컴파일하기위한 UF 희소 행렬 수집 접근법은 훌륭한 방법이라고 생각하며,이 아이디어를 실현하고자하는 모든 사람들에게 훌륭한 출발을 할 것이라고 생각합니다. 실제로 모든 문제를 해결하는 것은 모든 솔버에 액세스 할 수있는 한 큰 어려움처럼 보이지 않습니다. 솔버 및 필요한 모든 소프트웨어가 설치된 신뢰할 수있는 표준 참조 시스템에 액세스 할 수있는 경우 스크립트를 실행하고 데이터를 수집해야합니다. 내 생각에 어려움은 사람들이 오픈 소스가 아닌 경우 소프트웨어를 제공하게 만드는 것입니다. 상업적인 경우에는 소프트웨어를 구매하거나 사람들이 소프트웨어를 기부하도록 할 수 있습니다.COIN-OR 프로젝트. 그러나 상용 소프트웨어 나 오픈 소스가 아닌 리서치 소프트웨어 인 경우 사람들이 노력하도록 구매하도록 설득해야하며 소프트웨어를 공정하게 평가하기 위해 제 3자를 신뢰하지 않을 수 있습니다.

또한 최적화에는 다운로드 가능한 문제 데이터베이스 ( CUTEr 가 떠오를 것)와 최적화를위한 테스트 문제 가 있다는 것을 알고 있습니다. 나는 사람들을 보았습니다 (예를 들어, AIChE 2011에서 Ruth Misener의 대화를 생각하고 있습니다)는 프레젠테이션의 문제 데이터베이스에서 최적화 솔버와 다른 솔버를 비교합니다. 무엇이 공개 될지 잘 모르겠습니다. 대규모 비교 (많은 솔버, 많은 문제)에 대한 최적화의 전통이 있다는 것을 알고 있습니다. 온라인 데이터베이스가 있다고 생각하지 않습니다.

내가 생각하는 또 다른 중요한 것은 여기에서 메소드소프트웨어 구현을 구별한다는 것입니다. 과학 컴퓨팅에서 우리는 계산 복잡도 메트릭스 또는 다양한 문제에 대한 경험을 바탕으로 어떤 방법이 더 빠르거나 느린 지에 대해 이야기합니다. 그러나 계산 시간을 정량적으로 측정하는 경우 특정 알고리즘에서 FLOP 수를 계산하지 않는 한 소프트웨어에서 알고리즘을 구현 한 다음 어떤 방식 으로든 성능을 측정해야합니다 (메모리 사용, 월 클록 실행 시간 등). ). 계산 복잡성 또는 FLOP 카운트를 볼 때 메소드의 성능을 평가하는 것이 합리적입니다. 왜냐하면 우리는 그러한 것들을 측정하기 위해 구현이 필요하지 않기 때문에 실제 벽시계 실행 시간에 관심이있는 방법은 추상 구어체 장치로만 유용합니다. (예를 들어

이러한 데이터베이스에서는 시간이 지남에 따라 소프트웨어의 향상을 추적 할 가능성이 있기 때문에 방법과 소프트웨어의 차이점을 제시합니다. 예를 들어 PETSc 또는 PyCLAW와 같은 테스트 또는 어떤 소프트웨어를 테스트하든 소프트웨어 업그레이드로 인해 어떤 문제가 긍정적 (또는 부정적!)으로 영향을 받는지 보는 것이 흥미로울 것입니다. 이는 코드를 업그레이드하는 데 비용과 인력이 어느 정도의 가치가 있는지 결정하려는 연구원에게 유용 할 수 있습니다. 그러한 구별이 중요한 또 다른 이유는 좋은 방법이 잘못 구현 될 수 있기 때문입니다. 이 가능성은 사람들이 때때로 연구 코드를 공유하는 데있어 회귀에 기여한다고 생각합니다.

나는이 아이디어가 무엇이든 생각하고 (그리고 무언가가 나오기를 희망하며 박사 학위 후에 기꺼이 기꺼이 기여할 것입니다), 우리가 테스트 문제를 실행한다면, 우리는 소프트웨어에 대한 결과를 게시 할 예정입니다.


2
나는 당신의 의견을 매우 좋아하며 중요한 점을 제기합니다. 당신이 알고 있듯이, 당신이주는 링크는 결과가 아닌 문제의 데이터베이스에 대한 것입니다.
David Ketcheson

그것들은 내가 찾을 수있는 가장 가까운 것들이었습니다. 나는 당신이 정말로 중요한 아이디어를 제기한다고 생각하기 때문에 결과 데이터베이스를 찾기 위해 노력했지만 아무것도 찾을 수 없었습니다. 아마도 이것이 중요한 새 프로젝트입니까?
Geoff Oxberry

감사; 나는 동의하며, 이것들은 당신이 말한 것처럼 "가장 가까운 근사치"로 유용합니다. 나는 이것을 새로운 프로젝트로 (신뢰성을 더 빌려 줄 다른 사람들과 함께) 고려하고 있습니다. 관심을 가져 주셔서 감사합니다. SE는 토론을 피하기 때문에 다른 곳에서도 토론 할 수 있습니다.
David Ketcheson

4

수치 적으로 계산하기위한 "어려운"적분 목록을 작성하려는 시도가 있었지만 (Walter Gautschi, Robert Piessens 등의 논문 참조) 공식 데이터베이스는 없습니다.

ODE 분야에는 초기 값 문제에 대한 테스트 세트IVP 테스트 세트가 있습니다.


실제로 문제의 데이터베이스가 아니라 계산 결과의 데이터베이스에 대해 묻고 있습니다.
David Ketcheson

1
@DavidKetcheson 여기에는 결과 계산을 자동화하는 드라이버 코드가 포함되어 있습니다.
Jed Brown

큰! 결과가 저장된 실제 데이터베이스 (물론 결과를 다시 계산할 수있는 능력)를보고 싶지만 이것이 내가 생각했던 것과 가장 가까운 것입니다.
David Ketcheson

3

나는 그러한 데이터베이스에 익숙하지 않지만 유용한 방법으로 정의하는 것은 매우 어렵다고 생각합니다. 제 생각에 더 나은 시스템은 실행 가능한 형식으로 코드를 릴리스하여 사용자가 원하는대로 테스트를 확장 할 수 있도록하는 것입니다. 커뮤니티 저장소 측면에서 GertVdE가 언급 한 IVP 테스트 스위트 에는 테스트 문제점에 대해 공개 된 여러 ODE / DAE 솔버를 실행하기위한 드라이버 코드도 포함되어 있습니다. 내 간행물에서는 출력 데이터 분석을 작성하고 종이에 나타나는 플롯과 테이블을 만드는 데 사용되는 코드와 모든 스크립트를 해제하려고합니다.


1
작은 퀴즈 : 이것은 답변보다 더 많은 의견입니다. 그래도 비판적 사고에 감사드립니다. 나는 사람들이 두 가지 모두를하고 싶다. 내 결과를 플롯 할 수 있도록 코드를 설치하고 실행 해야하는 이유는 무엇입니까? 그리고 내가 올바른 옵션을 설정하지 않았다고 주장 할 수 있습니까? 어쨌든, 나는 (일반적인 연구원을 의미) 너무 많은 일을하기 때문에 그것을하지 않을 것입니다. 그러나 내가해야 할 모든 것이 데이터 파일을 읽었다면 기꺼이 할 수 있습니다.
David Ketcheson

1

벤치마킹 문제에 관한 전산 공기 음향 워크샵은 항공 음향 문제와 비슷한 목표를 가지고 있습니다. 먼저 벤치 마크 문제를 미리 제시하고 사람들이 자신의 방법으로 문제를 해결하고 결과를 비교하게합니다. 예를 들어, 다음은 네 번째 회의 진행 과정입니다. http://www.archive.org/details/nasa_techdoc_20040182258

비록 내가 알 수있는 바에 따르면 코드가 서로 얼마나 효율적인지 비교하지는 못하지만 주로 정확도를 봅니다.


흥미 롭습니다! 솔루션 데이터베이스가 있습니까? 아니면 결과를 정확히 어떻게 비교합니까?
David Ketcheson

"데이터베이스"는 내가 게시 한 보고서에 있습니다. 이 논문의 마지막 부분에는 "솔루션 비교"섹션이 있습니다. 이를위한 회의는 4 회 밖에 없었으며 마지막 회의는 2004 년에있었습니다. 여러분이 제안한 것처럼 이러한 유형의 온라인 정보를 얻는 데 더 많은 관심이 있었기를 바랍니다.
James Custer

1

지진 모델링에는 몇 가지 이러한 노력이있었습니다. 염두에 두어야 할 것은 동적 파열 시뮬레이션 프로젝트 와 소스 반전 프로젝트 (http://eqsource.webfactional.com/wiki/)입니다. 이 두 가지 모두 해결해야 할 물리적 문제를 제공하며 사용 된 방법에 대해 (어느 수준에서) 불가지론 적입니다. 실제로 이러한 프로젝트는 도메인 별 모델러를 서로 비교하는 것입니다. 실제로 모든 수치 적 pdes 방법에 대한 일반적인 테스트 문제는 아닙니다. 그러나 다른 결과와 비교할 수 있으며 많은 코드에 많은 문제가 있습니다.

볼 수있는 한 가지 가능성은 마다가스카르 프로젝트 일 것인데,이 프로젝트 는 지진 이미징 세계에서 개발되었지만 상당히 일반적인 목적이라고 주장합니다.


마다가스카르가 훌륭한 예입니다. 감사합니다!
잭 폴슨
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.