1

単純なSTRIPSベースのプランナーを作成しようとしています。目標に到達する個別の確率的計画を計算するための基本機能を完了しましたが、現在、最初のアクションに基づいてこれらの計画を集約する方法を決定し、時間t0での「全体的な」最良のアクションを決定しようとしています。 。

次の例を考えてみましょう。ユーティリティは、0から1の範囲で、計画が目標をどの程度達成しているかを表します。CFも0と1の間にあり、確実性係数、つまり計画を実行すると特定の効用が得られる確率を表します。

Plan1: CF=0.01, Utility=0.7
Plan2: CF=0.002, Utility=0.9
Plan3: CF=0.03, Utility=0.03

相互に排他的な3つのプランすべてが、アクションA1で始まる場合、アクションA1を使用するための全体的な「適合性」を判断するために、それらをどのように集約する必要がありますか?私の最初の考えは、確実性の要因を合計し、それをユーティリティの平均で乗算することです。それは正しいと思いますか?

したがって、現在の結果は次のようになります。

fitness(A1) = (0.01 + 0.002 + 0.03) * (0.7 + 0.9 + 0.03)/3. = 0.02282

または、個々の可能性のあるユーティリティを計算し、それらを平均する必要がありますか?

fitness(A1) = (0.01*0.7 + 0.002*0.9 + 0.03*0.03)/3. = 0.00323

より理論的に健全な方法はありますか?

4

3 に答える 3

2

あなたが話している適応度関数は、最初のアクションとしてA1を持たないすべての計画も考慮する必要があると思います。それらはすべて本当に良いかもしれません、その場合A1をすることは悪い考えです、あるいはそれらはひどいかもしれません、その場合A1をすることは良い動きのように見えます。

あなたのアイデアを見ると、2番目のアイデアの方がはるかに理にかなっています。A1で始まるすべての計画からランダムに均一に計画を選択することの期待効用を計算します。これは、計画が特定の効用を達成するか、完全に失敗することを前提としています。たとえば、最初の計画は、確率0.7でutility = 0.01を取得し、確率0.3でutility=0を取得します。これは合理的な仮定のようです。処理するデータがない限り、できることはこれだけです。

だからここに私の提案があります:A1をA1で始まるすべての計画とし、〜A1をA1で始まらないすべての計画とします。それで

F(A1) = fitness(A1) / fitness(~A1)

ここで、フィットネスは2番目の例で定義したとおりです。

これにより、A1で始まる計画とそうでない計画の期待効用の比率が得られるはずです。1より大きい場合、A1は適切なアクションのように見えます。

于 2010-09-13T20:43:24.877 に答える
2

アクションA1を実行する場合は、3つの計画のうち、相互に排他的なものを決定する必要があります。その時点で、計画1の期待効用は次のように計算できます。

E[plan1] = Prob[plan1 succeeds]*utility-for-success 
           + Prob[plan1 fails]*utility-of-failure
         = .01*.7 + .99*0 //I assume 0
         = .007

他の2つのプランについても同様です。ただし、選択できるプランは1つだけなので、アクションA1を実行することで実際に期待される効用(「フィットネス」の意味だと思います)は次のようになります。

max(E[plan1],E[plan2],E[plan3]) = fitness(A1)
于 2010-09-14T00:02:57.807 に答える
2

確率的計画に興味がある場合は、POMDPモデルと値の反復などのアルゴリズムを確認する必要があります。

編集:

実際、私はあなたにマルコフ決定過程(POなし)を指摘すべきでした。ごめんなさい。

あなたがおそらくあなたの問題のためにすべきことは、期待効用を最大化することです。これをフィットネスと呼んでください。

于 2010-09-14T09:01:52.193 に答える