« 王子こわい | Main | テキストベースコミュニケーションの障壁#1 »

2004.12.16

スタック・アーキテクチャ

自然現象や現実の道具、人間関係の取り決めを、コンピュータの内部に持ち込むことは往々にしてありますが、
コンピュータならではのアルゴリズムやデータ構造なんてものから、現実の人間関係の取り決めごとに転用するというのは、少なめだと思います。
とりあえず暇つぶしにそんなことを考えてみようと思います。

まず、コンピュータならではのデータ構造として代表的なものですと
スタックというものがあります。
これは必要なデータをあたかも本やCDを重ねて置くがごとく、積み重ねて管理するというものです。
実はスタックはコンピュータの動作の中枢をなすデータ構造でして、そもそも全ての計算がスタックを介して行われているといっても過言ではありません。
例を挙げますと、
(1+2)*3-4
という計算をコンピュータにやらせたい場合は、
1を置く
2を置く
置かれているものを取り除き、代わりにそれらを足し合わせた結果を置く
3を置く
置かれているものを取り除き、代わりにそれらを掛け合わせた結果を置く
-4を置く
置かれているものを取り除き、代わりにそれらを足し合わせた結果を置く

こんな処理で、最後にスタックには5という結果が残ります。
ちなみにいうと、関数呼び出しと呼ばれるコンピュータの処理ブロックの遷移処理も、
実はスタックを利用して行われています。
プログラムである以上はスタックを利用し、コンピュータである以上はプログラムを利用するといった感じです。

で、このスタックを人間関係の取り決めに応用するにはどうすれば良いでしょうか?

Aさんを雇う
Bさんを雇う
雇われている人間を解雇し、かわりに彼らの共通の知り合いを雇う
Cさんを雇う
雇われている人間を解雇し、かわりに彼らの共通のライバルを雇う

うーん、よく分からん、そもそも簡単に雇ったり解雇したりと人は物ではありません。

Aさん起立
Bさん起立
起立している人を座らせ、かわりに2人が共通して嫌う人物を立たせる
Cさん起立
起立している人を座らせ、かわりに2人が共通して嫌う人物を立たせる

うーん、多分、教室なんかだと思うのですが、
これだと教師が一番立ったり座ったりと忙しくなる気がします。

結局なんか、ゲームみたいなことには使えそうだけど、具体的に何?って言われると難しいですね。
そもそも2人が関係して行われる何かの動作、これを決める事がルール作成の肝要な部分だと思うのですが、
もう眠いので寝ます。

|

« 王子こわい | Main | テキストベースコミュニケーションの障壁#1 »

Comments

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/20403/2281072

Listed below are links to weblogs that reference スタック・アーキテクチャ:

« 王子こわい | Main | テキストベースコミュニケーションの障壁#1 »