はどう違うのは、ヒューリスティックとアルゴリズム?
-
22-09-2019 - |
質問
はどう違うのは、ヒューリスティックとアルゴリズム?
解決
は、アルゴリズムは問題のへの自動化ソリューションの記述があります。どのようなアルゴリズムが行うことは、正確に定義されています。解決策は、または可能な限り最高の1であることができなかった可能性がありますが、あなたが得る結果の種類を最初から知っています。あなたはのプログラム(の一部)を取得するには、いくつかのプログラミング言語を使用します。
のアルゴリズムのを実装しますさて、いくつかの問題は難しいです、あなたは許容時間内に受け入れ可能な解決策を得ることができない場合があります。このような場合、あなたは、多くの場合、いくつかの任意の選択肢(教養の推測)を適用することにより、はるかに高速悪くない解を得ることができます。ヒューリスティック
のののAヒューリスティックまだアルゴリズムの一種が、問題のすべての可能な状態を探るないだろうか、最も可能性の高いものを探索することから始めます一つです。
典型的な例は、ゲームからです。チェスのゲームプログラムを書くとき、あなたは、いくつかの深さのレベルで可能なすべての動きをしようとしてボードにいくつかの評価関数を適用想像できます。ヒューリスティックは明らかに悪い動きで始まる完全な枝を除外するます。
いくつかのケースでは、最善の解決策を探していないが、任意の解決のために、いくつかの制約を当てはめます。良いヒューリスティックは、短時間で解決策を見つけるために役立つだろうが、唯一の解決策は、それがしようとしないことを選択した状態にある場合も、いずれかを見つけるために失敗することがあります。
他のヒント
- アルゴリズムは通常、決定論的及び実収量に最適な結果
- ヒューリスティックが無い証明の正確性、多くはランダムな要素がない場合に最適なる。
多くの問題のない効率的なアルゴリズムによる最適なソリューションで知られていヒューリスティックアプローチの利回り近に最適な結果。
あと重複す:"遺伝的アルゴリズム"は受け入れ期間が厳密に言えば、ヒューリスティックなアルゴリズム
ヒューリスティックは、一言で言えば「推測」です。ウィキペディアはうまくそれを説明しています。終わりには、「一般的な受諾」方法は、指定された問題の最適解とした。
ヒューリスティックのための形容詞です その助け経験に基づく技術 問題解決には、学習し、 発見。発見的方法が使用されています 急速にある解決策に来ます 可能な限り最良の近くにあることを望みました 答え、または「最適解」。 ヒューリスティックは、「経験則」です 教育を受けた推測、直感的な判断 あるいは単に常識。ヒューリスティックは、 問題を解決するための一般的な方法。 名詞としてヒューリスティックは、別の名前であります ヒューリスティックな方法についてます。
は、より正確な用語は、ヒューリスティック 容易に使用して戦略を立て アクセス、緩く適用けれども、 問題解決を制御するための情報 人間と機械でます。
アルゴリズムは問題の解決に使用される命令の有限集合を含む方法であるが。この方法は、問題の仕事に数学や科学的に証明されています。形式手法と証拠があります。
のヒューリスティックアルゴリズムを生成することができるアルゴリズムであります 問題の中に受け入れ可能な解決策 で多くの実用的なシナリオ、 一般のヒューリスティックのファッションが、 そのための正式な証拠はありません その正します。
実は私はそれらの間に多くの共通点があるとは思いません。そのロジックのいくつかのアルゴリズムを使用ヒューリスティック(多くの場合、少数の計算を行うか、より高速な結果を得るために)。通常、ヒューリスティックは、いわゆる貪欲法で使用されています。
ヒューリスティックは、我々が想定していること、いくつかの「知識」(選択は取られるべきであるとき)のアルゴリズムで最良の選択を取得するために使用する良いです。たとえば...チェスでのヒューリスティックは、(あなたができる場合は、これは強い数字である知っているので、常に、相手の女王を取る)である可能性があります。ヒューリスティックは、多くの場合、はるかに短い時間で最高に近い答えを得る(仮定が正しければ)正しい答えにあなたを導く、しかしれることを保証するものではありません。
An アルゴリズム であることがわかり段階的に設定の操作を行 4, 的として解釈される有限のシーケンス(コンピュータは人間の指定問題などのあの道をAからBまたは最小の経路が後者の場合、このままを満足することを合理的に近'。
ある可能性があることが一般的にアルゴリズム、ヒューリスティックアルゴリズムにすることはできません。によっては、(実績)の特性アルゴリズムこの場合、がありこれらのカテゴリー(注1)。
- 正確な:の解の場であるとともに、最適(または 正確な 溶液)を入力問題
- 近似:の偏差の解価値を証明するなら、最適な値は以前の定義の結合(例えば、以上50%以上の最適値)
- ヒューリスティック:このアルゴリズムとのないすることが明らかとなり最適なもの以前の定義の行の最適解
通知る近似アルゴリズムはヒューリスティックが、より強い物件があることを実証へのソリューション(値)とします。<br></p><
一部の問題ズは見つかり、効率的なアルゴリズムを計算するための最適なソリューション(注2)。その一つの問題を知らせる巡回セールスマン問題です。Christophidesのアルゴリズムのための巡回セールスマン問題に対する、例えば、使用するという ヒューリスティック, としていることが実証できたので良かった50%の最適化を行った。で実績のある、しかし、Christophidesのアルゴリズムはより正確に言うと近似アルゴリズムです。
制限により、何ができるコンピューターけていくことができるわけではなく 効率的に の ベスト 解決が可能です。が多く含まれている場合は構造問題があり、安心して効率的な移動の解空間のものの解空間には大きな(の最短経路問題)。
ヒューリスティクスは、通常、改善の走行時間のアルゴリズムによる追加の専門家は情報教育推測'の検索方面へ。実際に、ヒューリスティックがかかることもサブルーチンのための最適なアルゴリズム決定! 第.
(注1):また、アルゴリズムの特徴はるかどうかなどのランダムな非決定論的です。アルゴリズムが常に実行と同じように同じ答えという決定的な.
(注2):これは、P vs NP問題の問題に分類されるNP-完全でNP-硬く、効率的なアルゴリズム.注;として@Krissのコメントもあり'悪い'の問題が指数関数を時間軸や空間を計算する.
いくつかの答えが考える回答の一部の問題をもたらしていました。いと判断されることから完全かつ正確ではありません、この編集を受け入れることよって@Kriss
ヒューリスティックなアルゴリズムなので、その意味では何もありません、しかし、経験則は「十分に良い」と答えたのではなく、「可能な限り最高の」解決策を見つけることを得、問題解決への「推測」アプローチを取ります。
あなたは非常に難しいがあります。ここで、良い例があるので、ヒューリスティックアルゴリズムに基づいて十分に良い解決策を使用する必要があり、問題あなたがのためのソリューションをしたいが、それに到着する時間がありません(NP-完全リード) 、遺伝的アルゴリズムを用いた巡回セールスマン問題に対する解決策を見つけることなど。
アルゴリズム入力所与が何か(関数)を計算し、結果を出力するいくつかの操作のシーケンスである。
アルゴリズムが正確な又は近似値を得ることができる。
また、正確な値の高い確率の近くであるランダムな値を計算することができる。
はヒューリスティックアルゴリズムは、入力値にいくつかの洞察を使用して正確な値を算出しない(しかし最適に近い可能性があります)。 いくつかの特別なケースでは、ヒューリスティックは、厳密解を見つけることができます。
アンアルゴリズムは、問題を解決するための手順の明確に定義されたセットで、ヒューリスティックが解に到達することを学ぶと発見のアプローチを利用伴うます。
あなたが問題を解決する方法を知っていれば、そうでは、アルゴリズムを使用します。あなたが解決策を開発する必要がある場合、それは経験則です。
Aヒューリスティックは、通常、最適化または通常は良い十分な答えを提供戦略、常にではないとめったに最良の答えです。時にはそれはそれはない、他の回を助け、それは間違いなくdoesnの」:たとえば、あなたは、そのコストは現在の最善の解決策では、ヒューリスティックであることを超えたら、部分的な解決策を破棄し、ブルートフォースでの巡回セールスマン問題を解決した場合tはアルゴリズム
の理論(ビッグOH表記)の実行時間を改善私はヒューリスティックは、より多くの将来のソリューションの状態を予測することは困難であるため、インテリジェント人工における学習ベースのモデルで使用される制約のだと思います。
しかし、その後、私の疑問の答えの上に読んだ後は、 「どのようにヒューリスティックに成功確率的最適化技術を使用して適用することができるのでしょうか?あるいは確率的最適化で使用した場合、彼らは本格的なアルゴリズムとして機能することができますか?」
私は読んだことが最善の説明の一つは、素晴らしい本コード完了から来ています>、これは私が今引用します:
Aヒューリスティックは、あなたが答えを探すことができますテクニックです。それの ヒューリスティックは、あなただけでどのように伝えますので、結果が偶然の対象となります 外観に、何を見つけることではありません。これは、直接取得する方法を教えていません 点Aから点Bへ;それも知らないかもしれないどこ点Aと ポイントBです。実際には、ヒューリスティックはピエロスーツでアルゴリズムです。 それは可能な小さいpredict-だ、それはより多くの楽しみだし、それは30日なしで来て、 返金保証ます。
はここで誰かの家に駆動するためのアルゴリズムである:高速道路167を取ります ピュイallup南。サウスヒルモール出口を出て、4.5マイルを運転 丘の上。その後、食料品店で光を右に回して、 最初の道を左折し。大規模な日焼け家の私道上に回し 714ノースシーダーで、左ます。
はここで誰かの家に取得するためのヒューリスティックです:最後を探します 私たちはあなたを郵送手紙。リターンアドレスに町へのドライブ。いつ あなたは私たちの家がある誰かを尋ねる、町に着きます。誰もが知っています 私たち-誰かがあなたを助けるために喜んでいるでしょう。あなたは誰を見つけることができない場合は、お電話 公衆電話から、私たちはあなたを得る来るます。
のアルゴリズム及びヒューリスティックの差は微妙であり、そして ややオーバーラップ二つの用語。この本の目的のために、メイン 両者の違いは、より間接のレベルであります 解決。このアルゴリズムは、直接あなたに指示を与えます。 A ヒューリスティックは、自分自身のための命令を発見する方法を説明します、または 少なくともどこ彼らのために見てます。
は、唯一の多項式ヒューリスティックの開発に理にかなっていることは明らかです。これらの方法の適用は、彼らのために多項式時間で近似解を見つけることが可能であってもアルゴリズムが存在しないことを計算の観点から、厄介なので、現実の世界の問題や大規模な問題を解決するのに適している。