まず以下の図形を用意します。
図1:解説のための基本図形
![img160214-n00](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/f9/74/p/t02200185_0679057213567182180.png?caw=800)
灰色の丸はネットワークを表しています。ノードとエッジの要素から成るネットワークです。
黒い矢印もネットワークです。こちらもノードとエッジから成りますが、主として伝えることを目的とした要素から成ります。
灰色の丸がノードで、矢印がエッジのようでもありますが、それらをよくよく見ると実はネットワークからできている、ということです。これらをネットワーク要素と呼ぶことにします。
灰色の丸には記号を付けています。それぞれ次のような意味があります。
a1, a2, a3:ある動作を生成するためのネットワーク要素です。番号の違いは生成する動作の違いを表しています。
N1, N2, N3:動作の直接的な切欠を作るネットワーク要素です。
n1, n2:ある文脈でNxを活性化させるネットワーク要素です。
nz:動作のタイミングを制御するネットワーク要素です。
信号の伝達は赤塗りで表現します。次の図のようにです。
図2-1:ネットワークを信号が伝わる様子1
![img160214-n00-1](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/7c/a2/p/t02200084_0800030713567182178.png?caw=800)
左から右に向かって時間が進んでいることを表しています。
この図の場合、文脈を担うn1から信号が伝わり、N1を活性化させています。
図2-2:ネットワークの信号が伝わる様子2
![img160214-n00-2](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/2e/f6/p/t02200084_0800030713567182179.png?caw=800)
上の図も左から右に向かって時間が進んでいます。
この図の場合、タイミングを制御するネットワーク要素nzから信号が伝わり、N1を活性化させています。
図2-3:ある動作の切欠
![img160214-n00-3](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/30/a6/p/t02200053_0800019113567182181.png?caw=800)
先のふたつの信号の流れを重ねると、N1の円が二重に赤くなりました。この時a1の動作へ引き渡されるとします。
ここからは、動作a1、a2、a3を任意のタイミングで作動させられるようにするため図1のネットワークの特性を変えていく話をします。
a1、a2、a3を周期的に作動させられるようになった後、任意のタイミングで作動させられるようになる、という流れで説明していきます。
図3は、ある文脈を担うn2の信号と、出力タイミングを制御するネットワークznの信号を組み合わせて、a1、a2、a3を一挙に動作させています。
図3n:一挙に作動させる例
![img160214-n01](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/ee/95/p/t02200101_0800036813567182182.png?caw=800)
それぞれの動作をタイムチャートで見ると次のようになるはずです。
図3g:一挙に作動させた場合の動作の時系列
![img160214-g01](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/01/38/p/t02200132_0516031013567183878.png?caw=800)
一方、図4nは、ある文脈を担うn1の信号と、その後に続くN1からN3への連鎖をうまく使って、a1、a2、a3を順番に作動させています。
図4n:順番に作動させる例
![img160214-n02](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/d4/e9/p/t02200101_0800036813567183882.png?caw=800)
図4g:順番に作動させた場合の動作の時系列
![img160214-g02](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/85/21/p/t02200132_0520031213567183879.png?caw=800)
以降では、ネットワークの振る舞いとタイムチャートを並置することにします。
例えばN1からN3へ信号の伝達とそれらの繰り返しを、N1からN3の活性化だけで実現できたとします。図5のようにです。
図5:自主的に巡回させる
![img160214-n03pre1](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/26/86/p/t02200102_0800037013567183881.png?caw=800)
そして、この巡回の速度と相対的にタイミングをずらす形で、nzの頻度を変えられるようにできたとします。まずは図5よりも速く巡回する見せ方として図6のように表現します。
相対的なので、N1からN3の巡回速度は常に定速で、nzの周期が速くなったり遅くなったりする、でも良いということです。
図6:相対的に速度を上げた場合の表現
![img160214-n03pre2](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/84/e7/p/t02200048_0800017413567183880.png?caw=800)
こうした上で、N1からN3の巡回の頻度に合わせて、タイミングをずらせるようにします。これはnzからNxに伝わる信号の周期を速くしたり遅くしたりできる、ということです。
図7はnzの発信周期を変更し、図4nよりも長い時間かけてa1からa3を作動させています。
図7:ゆっくり作動させる
![img160214-n03](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/49/e8/p/t02200154_0800056113567185188.png?caw=800)
![img160214-g03](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/c2/e2/p/t02200132_0520031213567185184.png?caw=800)
図8はnzの発信周期を変更し、図4nとは異なる順番でa1からa3を作動させています。
図8:作動する順番を入れ替える
![img160214-n04](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/ca/8d/p/t02200101_0800036813567185187.png?caw=800)
![img160214-g04](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/f9/a7/p/t02200131_0520031013567185185.png?caw=800)
同様に、nzからの発信周期を速くし、a1からa3を連続させることもできると思われます。図9のようにです。
図9:連続的に作動させる
![img160214-n05](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/bc/53/p/t02200048_0800017313567185186.png?caw=800)
![img160214-g05](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/22/6e/p/t02200132_0520031213567186636.png?caw=800)
以上は「N1からN3へ変遷するタイミング」と「nzが発信するタイミング」を相対的に伸縮できる前提を用意して、作動させるタイミングを変えるという方法です。
またnzの発信周期を上げ、それに加え、N1からN3への巡回でNxの前後で重複して発信するよう振る舞いを改変できれば、各動作の部分の次の動作と並行させるようなことも可能と考えられます。図10のようにです。
図10:作動内容を前後で重複させる
![img160214-n06](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/b6/00/p/t02200048_0800017313567186638.png?caw=800)
![img160214-g06](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/a9/3b/p/t02200132_0520031213567186637.png?caw=800)
さて、周期的な現象同士の相対的なタイミングの切り替えだけでは「任意のタイミンで作動させる」ことはできません。任意のタイミングで作動せるためには、N1からN3を定期的に巡回させるのみならず、任意のタイミングで動作させる別の工夫が必要です。
そこで作動させたい内容Nxをずらすタイミングをn2からの信号に委ねられるようにします。図11のようにです。
図11:任意のタイミングできっかけをずらしていくため文脈の使い方を変える
![img160214-n07pre1](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/a7/0f/p/t02200155_0800056413567186639.png?caw=800)
例えば、ネットワークの構造自体に長期記憶が反映され(n2からNxへのネットワーク要素がある)、信号がNxに留まっている状態に短期記憶が反映されている(Nxが自主的に活性化し続けられる)と捉えられないかと思っています。
さて、出力するタイミングnzをこのn2の発信と同期的に振る舞うようにします。すると図12のように任意のタイミングでa1からa3を作動させられるようになります。
図12:任意のタイミングで作動させる
![img160214-n07](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/66/1c/p/t02200154_0800056113567186640.png?caw=800)
![img160214-g07](https://stat.ameba.jp/user_images/20160214/19/ihsotasatho/28/2e/p/t02200132_0520031213567187107.png?caw=800)
「書いてみたけど、どうなのこれ」
『そう言われましてもわん』
「あ、今日は司馬遼太郎の番組があるみたい」
『何見てるわん』
「なんだか物語書きたくなってきちゃった」
『ぜんぜん繋がらないわん』