問題タブ [planning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
eclipse - MIndiGolog Fluents を IndiGolog cause_val 形式に変換します
Eclipse (バージョン: Kepler Service Release 1) と、Eclipse での Prolog 開発用のProlog Development Tool (PDT) プラグインを使用しています。次のインストール手順を使用しました: http://sewiki.iai.uni-bonn.de/research/pdt/docs/v0.x/download .
私はMulti-Agent IndiGolog (MIndiGolog) 0 (MIndiGolog の暫定プロローグ バージョン) を使用しています。ここからダウンロード: http://www.rfk.id.au/ramblings/research/thesis/ . MIndiGolog を使用したいのは、アクションの時間と期間を非常にうまく表現し (一時的な計画を実行したい)、複数のエージェントの計画 (同時実行を含む) をサポートするためです。
MIndiGologは、状況計算に基づく高水準プログラミング言語です。言語のすべては、状況計算に正確に従っています。ただし、これは私が取り組んでいるプロジェクトには適合しません。
この他の高水準プログラミング言語、Incremental Deterministic (Con) Golog (IndiGolog) (ここからダウンロード: http://sourceforge.net/p/indigolog/code/ci/master/tree/ ) (これも Prolog で作成)、も(大まかに)状況計算に基づいていますが、流暢さを非常に異なる方法で使用しています。それは、どのアクションがどの流暢にどのように変化するかを示すためにcauses_val-predicatesを使用し、流暢に状況を含めません!
ただし、これはチームの他のメンバーが実際に望んでいることです。MIndiGolog を書き直して、アクションの時間と期間の適切な表現を備えたオフライン プランナーのままにする必要があります。
プロローグと状況計算に関する私の知識は基本しかカバーしていないため、これを行うのは非常に難しいと思いますが、彼らは私を専門家と見なしています。私は頭がいっぱいで、私が得ることができるすべての助けやアドバイスを使うことができると感じています.
私はすでに流暢さからシチュエーションを削除し、causes_val 述語を使用して計画ドメインを作成し、IndiGolog コードを MIndiGolog に追加しようとしました。しかし、運が悪い。プランナーを実行すると、単に「false」が返されます。また、SWI-Prolog デバッガーの GUI トレーサ バージョンを使用したり、できるだけ戦略的にスパイ ポイントを配置しようとしても、トレースの意味をほとんど理解できません。
前もって感謝します、
ベスト、PJ
artificial-intelligence - PDDL ベースの計画における計画の視覚化とシステム アーキテクチャ
PDDL でいくつかのドメインと問題を構築しましたが、現在、ドメイン、問題、およびソリューションを視覚化する可能性を探しています。私の質問は次のとおりです。
- 計画を簡単にグラフィカルに表現するためのツールはありますか (ノードや接続など)?
- ドメインの現在の世界の状態 (つまり、計画の各ステップの後に、ドメイン内のすべての変数の値) をいつでもプレーン テキストで表示できるツールはありますか?
- PDDL をシステム アーキテクチャに統合するにはどうすればよいですか? 自分の世界 (Gazebo など) の 2D または 3D 表現を使用したい場合、Gazebo と PDDL を「接続」するにはどうすればよいですか?
ありがとう!
c++ - 確率的に表現された 2D グリッド上で最適なスコアリングの動きをリアルタイムで決定する
これを StackOverflow、cstheory.stackexchange.com、および math.stackexchange.com に投稿しています。どこが最適かよくわからないからです。大丈夫だと思います。
私は2Dグリッドを持っています(サイズはマップごとに異なり、10X10から20X20の範囲で、必然的に正方形です)。各セルには、とりわけ、各ユニット(マップに応じて10から50)がその位置にある確率(0から1)が含まれています位置。
ユニットには主に 2 つのタイプがあります。動作がアルゴリズムによって制御される大きなユニットがあり、あなたが私を助けてくれることを願っています。小さなユニットは、移動するか、(ブール値の) 状態を助けによって変更することしかできません。大きなユニットの。すべてのユニットはチームに属していますが、大きなユニットは小さなユニットを移動できます。試合は、小さなユニットの位置と状態の両方に従って採点されます。各ユニットは独自の座標を知っています。
ポイントは指定された多数のセルのいずれかに小さなユニットを配置することで与えられ、隣接するセルの数に対してボーナスが与えられます - 隣接性は必ずしも隣接するセル座標を意味するわけではなく、マップごとに決定されることに注意してください。
私はすでにパスシステムを持っているので、それは問題ではなく、移動の時間コストを計算することもありませんが、これはパフォーマンス上の理由から最小限に呼び出す必要があります。
私の意図は、計画システムに一連の望ましい状態/アクションを出力させることです。たとえば、43 度の角度で (9,4) にあり、次に 12 度の (12,4) にあり、そこで小さなユニットを有効にします。
時間切れになったときのチームの最終順位を最適化するために、競合する最大 5 つのメイン ユニットのそれぞれに最適な動きを決定しようとしています。ユニットには、確率的な位置を設定するシミュレートされたセンサーがあるため、情報を収集することは有効な動きです。
理想的には、アルゴリズムは数手先を見て、特定の手が次の手を実行するのに適した位置にいるかどうかなどを考慮します。この位置の「良さ」は、パス コストの逆数になります。
ここではパフォーマンスが非常に重要であり、大幅なパフォーマンスの向上と引き換えにソリューションの品質を犠牲にすることを厭わないかもしれません。
これまでの私の考えは次のとおりです。
最も完全な解決策は徹底的な検索ですが、パフォーマンスがこれを除外します。
どの情報が重要かを判断できるように、合理的に考えられる現在の状態のそれぞれの重要性を計算する必要があります。
平均的な最新の PC でのユニットあたりの実行時間は、可能であれば <= 25 ミリ秒にする必要があります。これは C++ であるため、かなり高速です。
チェスのアルゴリズムを適応させることは、良いアプローチかもしれません。
苦手なので、ネットで聞いてください。
最良のアプローチは、ほぼ間違いなく見積もりです。
1 つの手が他の手より 20 倍のポイントを獲得する可能性が 10% ある場合、リスクを冒す価値があります - 他の手が良い最終順位をほぼ保証し、時間切れが近づいている場合を除きます。
私の質問はやや冗長です。
今までもっと考えていたに違いない気がしますが、それが何であるかを一生考えることができません。
その最後の点は韻を踏んだ。
あなたがまだこれを読んでいるなら、私はあなたと結婚したいと思うかもしれません。
誰かがこれに対する完全な解決策を提供してくれたら素晴らしいことですが、私が得ることができるあらゆる助け/ヒントを受け入れることを絶対に喜んでおり、それが遠いかどうかに関係なく、私を最も遠ざける答えを受け入れます. 私が興味を持っているのは、コードよりもアルゴリズムです。私は今では大柄な女の子なので、自分で処理できます。
heuristics - フォワード プランニング ヒューリスティック - hmax、hadd、hff
私はフォワード プランニング ヒューリスティック hmax、hadd、および hff を研究しており、オンラインでいくつかのリソースを見つけましたが、それらが実際にどのように機能するかを本当に理解できません。
これまでに見つけたリソースは次のとおりです。
http://icaps09.uom.gr/tutorials/tut1.pdf
(hmax、hadd、hff、およびh+.)
http://gki.informatik.uni-freiburg.de/papers/betz-helmert-icaps2009ws.pdf
(Betz と Helmert による科学論文で、AI 2009 に関するドイツ会議で「Planning with h+ in Theory and練習」は、他の3つと密接に関連しています。)
https://cw.felk.cvut.cz/wiki/_media/courses/a4m36pah/07_relaxation.pdf
(ヒューリスティック hmax、hadd、hff に関する別のチュートリアル (ソース不明))
それらがどのように機能するかを簡単に説明できますか? ありがとうございました
search - STRIPS 計画でのループ アクションの処理
ループに入ったりアクションを繰り返したりしないように STRIPS を変更するにはどうすればよいですか? A - B - C - D - E の領域 (トラバース問題) があるとしましょう。それらはすべて双方向です。初期状態は At(A) であり、目標は At(E) になる必要があることです。結果は
Travel(C, B) - Travel(B, C) - Travel(C, D) - Travel(D, E)
.
要するに、A - B - C - D - C - B - C - D - E と進みました。これを解決する方法と、より良い疑似コードを提供できるかどうかについてのアイデアが必要です。ありがとう!