feedback, step プロセスを行う構成

world_sample_00.gh

MAS(マルチエージェントシステム)やひとつの生成結果をフィードバックする現象のモデル化、設計システムを考える場合、コンポーネントを実行するたびに各変数が初期化されるのは困りますし、システム全体であるいは個々のエージェント等が変数の値を保つ必要があります。

まずはクラスなどでプロトタイプを記述し、そのインスタンスを別のコンポーネントに送り、送った側でインスタンスの関数をコールする、という構成で実現することができます。

WorldPlan コンポーネント側 (プロトタイプ宣言とインスタンス生成、インスタンスのポート’a’への送信)
クラスの記述方法を説明すべきですが、クラス内部で保つ変数(メンバー変数)は、self. で定義・アクセスします。proc という関数の中に、各設計ステップの処理を書いていきます。siteという入力ポートが暫定でありますが、ここが敷地情報、境界情報、何らかの初期座標、点、などを入力する想定です。

#class(prototype definition)
class WorldPlan:
    def __init__(self):
        self.step = 0

    def proc(self):
        self.step += 1

#create instance
world = WorldPlan()
#send instance to output port "a"
a = world

Process コンポーネント側 (インスタンスの受け取り、インスタンス関数の実行)
こちらのエディタを開いて、”test”ボタンを押下する度に1ステップ実行されます。

#execute function of instance from input port "world"
world.proc()

print "step:",world.step

↓このあたりのサンプルはすべてこの構成です。
MAS基本形
define functions, define prototypes(class)
シミュレーション Werner’s Model
シミュレーション Reaction-diffusion system 反応拡散系モデル
Category Archives: MAS (Multi-Agent System)

Category Archives: CA (Cellular Automaton)
Percolation

Comments are closed.