このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

エージェント(タスク)、プロセッサ、状態空間

タスクというわけが分からない概念がある。ひとまとまりの仕事という意味だが、それじゃ国語辞典の項目としての説明なだけで「定義」になってない。仕事に対してその仕事をする主体をエージェントと呼ぶことにする。「やること」と「やる主体」の違いしかないから、エージェントとタスクは1:1で対応する。つまり、interchangable。エージェント概念をハッキリさせれば、タスクもハッキリすることになる。

まず、プロセッサと状態空間(メモリ)は、加群として定義できる。プロセッサ本体は、加群の作用のことで、作用は加群台AとモノイドMに対する射 A\otimesM→M in モノイド圏C で与えられる。

加群(multi-module)は、単一の台に複数のモノイドが作用するもの。異なる作用のあいだの結合律やバランス律は仮定しない。プレモノイド圏において交替律を仮定しないのと一緒。

加群は、マルチコア・単一メモリ空間のシステムを記述する。コア=プロセッサが分離されているとは限らずに共有メモリ=相互干渉を許す。相互干渉があると、交替性、結合性、バランス性はくずれる。

エージェントは、与えられた複加群の部分複加群と考えればいいのかな、と思っているが、まだよく分からない。部分複加群というよりは、複加群のあいだの射がエージェントなのかもしれない。域となる複加群は構文的に作ったものだろう。構文的な(おそらくは自由な)複加群から意味的な複加群への対応がエージェントかな。そうなると、エージェントは複加群セマンティクスとなる。