3

私はAnyLogicを初めて使用しています...しかし、それは私を夢中にさせています!!!

それは非常に基本的です... ABモデルでは、エージェントのある割合をある状態から別の状態に移行させたいのですが...私には理解できないことが起こります:S

ここに画像の説明を入力

エージェントは 1000 人います... 950 人が V3 状態になると予想しています... まだ ここに画像の説明を入力

ステータスを変更するエージェントは 889 人だけです:(
条件が 2 回評価されるようです...実際、0.95*0.95=0.90..これは、ステータスを変更するエージェントのパーセンテージです:(

満たされない条件を「ガード」に入れてみました ここに画像の説明を入力

結果は完璧です!!!
ここに画像の説明を入力

誰でもこれを理解するのを手伝ってもらえますか? :( モデル全体を修正する必要があります...いつ「条件」と「ガード」を配置する必要がありますか?

みんな、ありがとう!!

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^

@sdazaモデルより

ここに画像の説明を入力 ここに画像の説明を入力

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^

AnyLogic サポート チームの回答

_最初に true を返した場合、条件は 2 回評価されます。初期チェックは、エージェントが次の条件遷移がある状態に入ったときに実行されます。遷移の特定の条件が true を返す場合、エンジンはそれをトリガーしようとします。ここで再度条件を確認します。条件が false を返した場合はキャンセルされ、エージェントはその状態のままになります。つまり、条件は実行されるために 2 回 true を返す必要があります。

あなたの場合、「true」を 2 回返したエージェントのみがトランジションを実行し、確率は結果と一致します: 0.95 * 0.95 = 0.9。これが実際の確率です。

お役に立てば幸いです_

どうしてそうなるのか、理由はわかりませんでしたが…

4

1 に答える 1