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

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

時間と空間

時間を扱いたい(らしいね>自分) - 檜山正幸のキマイラ飼育記 に関連して:

  • 時間を空間に変換するのがバッファリングやアキュミュレーション(累積記憶)
  • 空間を時間に変換するのがストリーミングやトラバースやイテレーション
  • プログラムを時間方向に結合したら、データは空間的に(一挙にドカンと)渡す。リレーのバトンタッチ。
  • プログラムを空間方向に結合したら、データは時間的に(少しずつ順に)渡す。流れ作業の受け渡し。あるいはバケツリレー方式。
  • 時間は時計の数だけある。多時間モデル。
  • CPUは時計の数だけある。処理=プロセスは時計により駆動される。
  • 異なる時計の時刻は比較できない。比較するには同期機構がいる。ほんとの同期機構は実現できない。
  • 同期が唯一意味を持つのは隣接プロセス間でのIOだけ。これもフィクションではあるが。

バケツリレーにも二方式があるのか。

  1. 1つのバケツを持って走って次の人に渡す。
  2. たくさんの人が動かないで、複数のバケツだけを動かす。

絵で描くと:

  • A, Bは状態のゲート(エントリーとイグジット)の集合で、横方向射の対象となる。
  • X, Yはアルファベット(入力と出力)の集合で、縦方向射の対象となる。
  • 左右にゲート(境界)、上下にアルファベット(基本信号)。
  +--X--+-
  |     |
  A  F  B G
  |     |
  +--Y--+-
  |     |
     H
  • FからGには、Bの要素=状態=バルク(bulk)データで渡す。
  • FからHには、Yの列=イベント列=時系列(タイムシーケンス)で渡す。
  • Bの要素が非決定性なら、Bの部分集合が受け渡し情報
  • Yの列が非決定性なら、Y上の言語が受け渡し情報