ヒューリスティック
一般的に、ヒューリスティックとは「経験則」、つまり意思決定を行うときに従うとよい指針のことです。コンピューターサイエンスでは、ヒューリスティックにも似た意味がありますが、具体的にはアルゴリズムを指します。
ソフトウェアをプログラミングするとき、プログラマーはさまざまなタスクを実行するために、最も効率的なアルゴリズムを作ろうとします。これには、数値の並べ替えのような単純な処理や、画像または動画クリップの処理のような複雑な機能が含まれます。これらの機能は多くの場合、幅広い入力を受け付けるため、あるアルゴリズムが特定のケースでは適切に動作しても、別のケースではあまりうまく動作しないことがあります。
たとえば、GIF画像の圧縮アルゴリズムは、色数の少ない小さな画像では適切に動作しますが、色数の多い大きな画像ではJPEG圧縮ほど適切に動作しません。色の種類が多くない小さな画像だけを扱うことが分かっていれば、GIF圧縮だけで十分です。大きくて色鮮やかな画像について考える必要はないため、そのような画像向けにアルゴリズムを最適化しても意味がありません。同様に、コンピュータープログラマーは、まれな状況では非効率的に動作する可能性があっても、ほとんどの状況で適切に動作するアルゴリズムをよく使用します。
したがって、ヒューリスティックなプロセスには、テストを実行し、試行錯誤によって結果を得ることが含まれる場合があります。より多くのサンプルデータをテストするほど、似た種類のデータを処理する効率的なアルゴリズムを作りやすくなります。前述のとおり、これらのアルゴリズムは常に完璧とは限りませんが、ほとんどの場合は適切に動作します。ヒューリスティックの目的は、許容できる時間内に正確な結果を生成する、シンプルなプロセスを開発することです。
知識をテストする