web-dev-qa-db-ja.com

ヒューリスティック関数とは

誰かがそれが何であるかを非常に簡単な言葉で説明できますか?例も提供します。たとえば、何かのヒューリスティック関数を見つける必要がある場合、それはどのように見えるはずですか?

例として問題を取り上げます。

水差しの問題について http://www.math.tamu.edu/~dallen/hollywood/diehard/diehard.htm

許容されるヒューリスティック関数(h)を考案して説明します[自明ではありませんh(n) = 0]。アクションのコストは、アクションを実行するための1ユニット、追加の1ユニットとして定義されます。各ガロンの水を移動するため(充填、空、注ぐ)、および各ガロンの水を浪費するための追加の1ユニット(空)。パスコスト(g)は、すべてのアクションのコストの合計です。

6
user4303

ヒューリスティック関数は、問題に対する概算コストを計算する(または代替案をランク付けする)関数です。

たとえば、問題は、ポイントまでの最短の運転距離を見つけることである可能性があります。ヒューリスティックコストは、ポイントまでの直線距離になります。計算するのはシンプルで迅速であり、ほとんどのヒューリスティックの重要なプロパティです。道路に固執する必要があり、計算がはるかに難しいため、実際の距離はおそらく長くなります。

ヒューリスティック関数は、検索アルゴリズムと組み合わせて使用​​されることがよくあります。 許容という用語も表示される場合があります。これは、ヒューリスティックが実際のコストを過大評価しないことを意味します。 許容性は重要な品質である可能性があり、A *などの一部の検索アルゴリズムに必要です。

8
blueenvelope

から wiki

ヒューリスティック関数、または単にヒューリスティックは、利用可能な情報に基づいて各分岐ステップで検索アルゴリズムの選択肢をランク付けし、どの分岐に従うかを決定する関数です。

つまりチェスでは、ヒューリスティック関数は、プレーヤーの位置を悪化させる(または損失をもたらす)可能性のある動きを除外し、結果が改善されないため、次の動きをさらに分析することはできません。

そうすることで、悪い動きを見るのに時間を無駄にしないので、関数はより短い期間でより多くの動きを検索することができます。

2

ヒューリスティック関数を決定するには、従来のチェス問題を調べます。一般的に、チェスはアルゴリズムの組み合わせを使用して次の動きを決定します。このリンクにアクセスしてください。それがあなたが探している例だと思います。 チェスによるヒューリスティック検索を理解する

0
Kiran Maniya

人間の進化的行動は認知および聴覚知能に関連しているため、ヒューリスティックパスが最も簡単な近似です。インスタント応答は、私たちの固有のロジックまたは経験的知識による初歩的な学習でさらに処理されます。したがって、ヒューリスティック近似アルゴリズムは、私たちの即時の結論をサポートします。

0
niranjandev

ヒューリスティック関数h(n)任意の頂点nからゴールまでの最小コストの見積もりを示します。ヒューリスティック関数を選択する問題に基づいて、ヒューリスティック関数の選択が真になることを忘れないでください。すべてのノードの結果。詳細については、次のWebサイトにアクセスしてください。 http://theory.stanford.edu/~amitp/GameProgramming/Heuristics.html

0
MSN

ヒューリスティック関数を使用して、問題の推定コストを計算します。スライド用のヒューリスティック関数-マンハッタン距離と呼ばれるタイルパズル。 h(n)で表されるヒューリスティック関数。ヒューリスティック検索、A *アルゴリズム、IDA(反復深化-A *)など、多くのアルゴリズムがヒューリスティック関数を利用します。

0
Paramjot