Oracle® Solaris Studio 12.4: 数値計算ガイド

印刷ビューの終了

更新: 2015 年 1 月
 
 

5.6 独立した確認

再現性に関する前述の説明は、再現される結果が正しく、おそらくは多数の正しい結果の 1 つであるという仮定に基づいています。しかし、最終的にはどのようにして確認できるのでしょうか。一部のプログラムには証明がありますが、ほとんどの証明はプログラムよりも複雑です。なぜプログラムよりも信頼できるのでしょうか。プログラムの中には、チェック可能な保存則を持つ物理システムをモデルにしているものがありますが、保存則が完全ではない、または正しくないということが物理的に発見されるとしたらどうしますか。

重要な決定はすべて、独立した手段で確認する必要があります。コンピュータを利用した決定のうち、もっとも重要なケースでは、独立した手段で、マシン、命令セット、オペレーティングシステム、プログラムを記述するコンピュータ言語、実装されるアルゴリズムの違い、およびこれを実行する調査者の自然言語、および国の違いに対応する必要があります。どの程度まで対応させるかについては、正しくない結果によってかかるコストに応じて異なります。

このため、たとえば、進数変換をテストするプログラムを記述する場合、最低限、使用するテストアルゴリズムは、テスト対象の進数変換関数で使用する可能性のあるすべてのアルゴリズムとは完全に別のものになるようにする必要があります。このため、コンピュータサイエンスにおいては、低速で単純なアルゴリズムでも、高速で複雑なアルゴリズムをテストできるという点で価値があります。