タグ付けされた質問 「heuristics」

ほとんどの場合、問題を迅速に解決するアルゴリズム戦略についての質問ですが、保証はありません。

3
SATインスタンスの難易度を測定する
SATのインスタンスが与えられた場合、そのインスタンスを解決するのがどれほど難しいかを推定したいと思います。 1つの方法は既存のソルバーを実行することですが、そのようなことは難易度を推定する目的に反します。2番目の方法は、ランダムSATのフェーズ遷移で行われるように、変数に対する句の比率を調べることですが、より良い方法が存在するはずです。 SATのインスタンスを考えると、難易度を測定するための高速なヒューリスティックがありますか?唯一の条件は、これらのヒューリスティックがインスタンスで既存のSATソルバーを実際に実行するよりも高速であることです。 関連する質問 どのSATの問題は簡単ですか?cstheory.SEで。この質問では、扱いやすいインスタンスのセットについて尋ねられます。これは似たような質問ですが、まったく同じではありません。単一のインスタンスが与えられ、そのインスタンスが解決するのが難しいものであるかどうかのある種の半インテリジェントな推測を行うヒューリスティックに本当に興味があります。

1
SATとConstraint Satisfactionを使用する場合
難しい問題がある場合、標準的なアプローチの1つは、SATインスタンスとして表現し、SATソルバーを実行することです。別の標準的なアプローチは、それを制約充足問題として表現し、CSPソルバーを使用してみることです。この2つは、入力形式でどのような問題を自然に表現できるかについて、なんとなく漠然と似ています。 特定の問題に対して、どのアプローチが良い結果をもたらす可能性が高いかを認識する方法に関するガイドラインまたは経験則はありますか?CSPソルバーよりもSATソルバーがより適切に処理できる問題、またはその逆について、だれでも提供できるガイダンスはありますか? (明らかに、両方のアプローチで解決できるいくつかの簡単な問題があります。どちらのアプローチでも有効に解決できない難しい問題もあります。それらを脇に置いておきましょう。ガイダンスが最も役立つケースは、SATソルバーはCSPソルバーよりも優れたパフォーマンスを発揮するか、CSPソルバーがSATソルバーよりも優れたパフォーマンスを発揮します。 SATソルバー-つまり、最初に試すアプローチはどれですか?)

2
許容されるヒューリスティックは最適なソリューションをどのように保証しますか?
A *(または他の最適なパス検索アルゴリズム)を使用する場合、使用されるヒューリスティックは許容できる必要があります。つまり、実際のソリューションパスの長さ(または移動)を過大評価してはなりません。 許容されるヒューリスティックは最適なソリューションをどのように保証しますか?直感的な説明を探しています。 必要に応じて、8パズルのマンハッタン距離ヒューリスティックを使用して説明できます。


1
一貫性は、ヒューリスティックも許容されることをどのように示唆していますか?
ヒューリスティック関数h(n)h(n)h (n)は... ノードnnnからゴールまでの推定コストが、そのサクセサステップコストにn′n′n'サクセサからゴールまでの推定コストを加えた値より大きくない場合、一貫性があります。 h(n)h(n)h(n)が目標状態への真のコストを過大評価しない場合に許容されます。 私の人工知能コースの教科書には、一貫性は許容性よりも強いと書かれていますが、それを証明するものではなく、数学的な説明をするのに苦労しています。


1
最大スタッキング高さの問題
次の問題は以前に調査されましたか?はいの場合、それを解決するためにどのようなアプローチ/アルゴリズムが開発されましたか? 問題(「最大スタッキング高さの問題」) 与えられたのポリゴン、その安定した、非オーバーラップ配置見つける彼らの積載高さを最大限に重力の影響の下で固定床の上を。んんn 例 3つのポリゴン: 積み重ねの高さが異なる、非常に多くの安定した重なり合わない配置の3つ: 明確化 すべてのポリゴンは均一な質量と等しい密度を持っています 摩擦はゼロです 重力が下向き方向のすべての点に作用しています(つまり、力のベクトルはすべて平行です) 構成が不安定な平衡点にある場合、構成は安定しているとは見なされません(たとえば、図の緑色の三角形は、バランスポイントの左側と右側の質量が等しい場合でも、どの頂点でも平衡化できません)。 さらに上記の点を明らかにする:ポリゴンが(「転倒」)が不安定であると考えられる場合を除き、それは少なくとも一点にかかっている厳密に左 と少なくとも一点右に厳密に(この定義は大幅シミュレーションを簡略化しその重心のと特に、配置が安定しているかどうかを評価するために位置統合などが不要になります。 「物理的」な形の問題は、ほとんどの場合にのみ解決できる継続的な問題です。アルゴリズムで取り組むことができる離散問題を取得するには、ポリゴン頂点と配置でのそれらの配置の両方を適切なラティスに制約します。 ノート あらゆる種類の総当たり攻撃は明らかに実行不可能です。ラティス内のポリゴンの配置に厳格な制約があっても(限られた領域の「格子空間」を提供するなど)、複雑さはいくつかのポリゴンを超えると単純に爆発します。 単一のポリゴンを削除すると構成が不安定になり、そのような配置は、すべての中間ステップが安定していることに依存しているアルゴリズムでは到達できないため、配置を構築するのは簡単です。 問題は少なくともNPのにおいがするので、頂点の総数がEXPTIMEで完了する可能性が高いため、ヒューリスティックスでもかなりの関心があります。希望を与えることの1つは、ほとんどの人間が例の3番目の配置が最適であることを認識するという事実です。

3
コストを過小評価している場合でも、A *検索ヒューリスティックが最適なのはなぜですか?
A *検索は、ヒューリスティックが許容可能である限り、問題の最適な解決策を見つけます。つまり、特定のノードからへのパスのコストを過大評価することは決してありません(そして、一貫性がありますが、現時点では許容可能であることに焦点を当てましょう)。 しかし、ヒューリスティックが過小評価している場合、なぜ最適なソリューションが常に見つかるのでしょうか。たとえば、最適な経路を過小評価するよりも、非最適な経路を過小評価する場合、それは過大推定と同等ではありませんか?

3
TSPの3-optアルゴリズムはどのように機能しますか?
巡回セールスマン問題を解決するための3-Optヒューリスティックは、グラフから3つのエッジを削除し、さらに3つ追加してツアーを再完了することを理解しています。ただし、3つのエッジが削除された場合、ツアーを再結合する方法は2つしか残っていないことを指摘する多くの論文を見てきました。これは私には意味がありません。 たとえば、次のような論文[1]を見つけました。 3-optアルゴリズムも同様に機能しますが、2つのエッジを削除する代わりに、3つのエッジを削除します。つまり、3つのパスを有効なツアー1に再接続する方法は2つあります(図2と図3)。3 optの移動は、実際には2つまたは3つの2 optの移動と見なすことができます。 ただし、ツアーを再接続するには3つの方法があります。ここで何が欠けていますか? また、誰かが可能であれば3 optのアルゴリズムにリンクしてもらえますか?私はそれを理解しようとしているだけですが、まだ明確なアルゴリズムに遭遇していません。見つけたすべてのリソースは、「3つのエッジを削除し、それらを再接続する」と言うだけです。それだけで、あいまいです。 これは、3つのエッジを削除した後、3つのオプトムーブであるように思える3つのツアーです。 C.ニルソンによる巡回セールスマン問題のヒューリスティック

2
無料の昼食の定理とは何ですか?
私は無料ランチの定理について読んでいますが、それが何であるかはよくわかりません。この定理が「汎用のユニバーサルオプティマイザは存在しない」という主張として他の場所で説明されているのを聞いたことがあります。一方、ウィキペディアの記事では、「1つずつ評価される」「候補ソリューション」について説明しています。特定の形式のアルゴリズムのみを検討すると、それははるかに限定的な主張になります。 この定理が実際に主張していることを誰かが説明できますか?

1
セットパッキングと同様の問題
セットのファミリーに電話する F={S1,…,Sk}F={S1,…,Sk}\mathcal{F} = \{S_1, \dotsc, S_k\} 各セットの場合「多様」 Si∈FSi∈FS_i \in \mathcal{F}少なくとも1つの一意の要素があります。最大の多様なセットを見つけるための可能なアプローチは何ですかSSS セットの家族で FF\mathcal{F}? 1つのアプローチは、変更されたセットパッキング問題を解決することです。と思いますF={S1,…,Sk}F={S1,…,Sk}\mathcal{F}=\{S_1,\dotsc,S_k\}。しましょうKKK 要素のサブセットである K⊂⋃SiK⊂⋃SiK \subset \bigcup S_i、そして F−K={S1∖K,…,Sk∖K}F−K={S1∖K,…,Sk∖K}\mathcal{F}_{-K}=\{S_1 \setminus K,\dotsc, S_k \setminus K\}。次に、最大多様セットSSS から得られる最大の最大集合パッキングに対応 F−LF−L\mathcal{F}_{-L} どこ LLL のすべての非固有要素のセットです FF\mathcal{F}。 しかし、選択するための良いヒューリスティックは何ですか KKK?それとも、より良いアプローチがありますか?

2
行列乗算プログラムの入れ子ループの不変式
Hoareロジックを使用して2つの行列を乗算するためのプログラムの正確性を証明することについて、卒業論文を作成しています。これを行うには、このプログラムの入れ子ループの不変式を生成する必要があります。 for i = 1:n for j = 1:n for k = 1:n C(i,j) = A(i,k)*B(k,j) + C(i,j); end end end 私は最初に内部ループの不変式を見つけようとしましたが、今までは本当のものを見つけることができません。上記のプログラムの不変式を見つけるのを手伝ってくれる人はいますか?
7 algorithms  loop-invariants  correctness-proof  formal-languages  regular-languages  pumping-lemma  logic  logic  programming-languages  lambda-calculus  term-rewriting  operational-semantics  complexity-theory  time-complexity  computability  proof-techniques  reductions  digital-preservation  distributed-systems  storage  algorithms  dynamic-programming  check-my-algorithm  reference-request  cryptography  quantum-computing  formal-languages  regular-languages  context-free  formal-grammars  algorithms  graphs  network-flow  algorithms  data-structures  randomized-algorithms  lists  computability  proof-techniques  undecidability  terminology  distributed-systems  parallel-computing  artificial-intelligence  heuristics  search-problem  algorithms  computational-geometry  algorithm-analysis  asymptotics  recurrence-relation  mathematical-analysis  master-theorem  algorithms  algorithm-analysis  runtime-analysis  computability  reductions  turing-machines  formal-languages  context-free 

1
ショットガンヒルクライミングの詳細を実装して効果的にするにはどうすればよいですか?
私は現在、(少しの調査の後)ヒルクライミングの使用、より具体的にはショットガン(またはランダムリスタート)ヒルクライミングアルゴリズムのアイデアが最適であるように見える問題の解決策に取り組んでいます。最適な開始値を見つける方法を知る手がかりはありません。 しかし、このタイプのアルゴリズムについては、その背後にある基本的な考え方を除いて、多くの情報はありません。 [Shotgun]ヒルクライミングは、ヒルクライミングアルゴリズムの上に構築されたメタアルゴリズムです。ランダムな初期条件で、毎回山登りを繰り返します。最高のが維持されます。山登りの新しいランが保存された状態よりも優れた生成する場合、保存された状態を置き換えます。x0x0x_0xmxmx_mxmxmx_m 私がこれを正しく理解している場合、これは次のようなものを意味します(最大化を想定): x = -infinity; for ( i = 1 .. N ) { x = max(x, hill_climbing(random_solution())); } return x; しかし、これを本当に効果的にするにはどうすればよいですか?これは通常の山登りよりも優れていますか?ランダムな開始値を使用すると、特に巨大な検索スペースで多くの効果があるとは信じがたいです。より正確には、私は疑問に思います: (つまりを実装)を選択するための、特に以前の反復の(中間)結果を知るための優れた戦略はありますか?x0x0x_0random_solution どのようにを選択するか、それは、完全な解が(かなり)見逃されないことを非常に確実にするために必要な反復回数です。NNN
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.