工学的なシステム論 鈴木 嘉彦

工学的なシステム論
鈴木 嘉彦
1 はじめに
循環システム工学科の卒業生が修得しておくことが望ましい分野の一つがここで学ぶシステム論的な考え方で
ある。
システム論としてカバーされる領域は広いが、
システム論2において扱う対象は社会的なシステムである。
ここではその概要を解説する。社会システムの話に入る前に、システム論全体の意味付けについて述べておく。
循環システム工学科では、最終的には現代社会が直面する環境問題の根源を理解した上で、経営工学的センス
を持ったシステムエンジニアを養成することを目的に掲げている。本学科が掲げているシステムエンジニアは、
いわゆるコンピュータのシステムに関するようなエンジニアという狭い意味ではない。本学科が対象とするシス
テムとは、コンピュータのような人工的に作られたシステムだけでなく、物理的・化学的・生物学的な側面を含
めた自然現象を対象としたシステムや、
人間が関わることによる社会現象を対象としたシステムを包含している。
コンピュータに代表されるようなシステムは、システムそのものが我々人間の考えに基づいて造りあげられて
いるので、システムとして動作するときの動きの記述がはじめから与えられている。例えば、0と1の二つの数
からなる集合の上で、関数や時間遷移の考え方を記述することによって、比較的容易な形でシステムを表現する
ことができる。このような人工的に造られた対象をシステムとして捉える問題はシステム論 1 で講義する。
簡単な例としては自動販売機などが考えられる。たとえば100円でジュースを買うことができる自動販売機
の動きをシステムとして記述することを考える。
対象を拡張して、人工的に造られたものではない、自然現象をシステムとして表現する場合はコンピュータの
システム表現とは本質的に違った問題が発生する。自然現象をシステムとして表現するためには、まず正確に自
然現象を捉えているのかどうかが問題となる。
例えば、野球の選手がボールを投げる場合、ボールがどのような軌道を描いて移動するのかを表現しようとす
れば、物体の運動に関する知識が必要になる。そこでは力と加速度の関係や抵抗力と速度の関係などを理解する
必要がある。さらにそれらの関係を数学的に表現するために微分方程式が必要となる。逆に言うと、物理学や微
分方程式を学んできたということは、システム論の基礎を学んできたともいえる。とくに自然現象のシステム表
現に関わる問題として、
循環システム工学科では講義科目としてシステム・シミュレーションが用意されている。
また、単純な自然現象ではないが、生命現象を対象としたシステム表現としてシステム論 3 で其の構造を学ぶこ
1
とができる。
このようなシステム論に関する、全体構造の中でシステム論2で学ぶシステムとしての対象は、私達が日常生
活の中で関わっている社会的行為や経済的行為などの社会現象である。つまり、社会的な現象をシステムとして
認識するために、それを普遍的に表現する方法について考えていく。
社会システムの特徴
自然現象や人工的な機械の動きと社会現象の違いは、現象そのものに人間が介在していることである。人工的
に作られた機械類は、もともと製作者の意図にしたがって動くように造られているのであるから、その動きが意
図と違ったならばもはや造られた機械ではない。機械と呼ばれている以上は、その動きを完全に記述している数
学的な記述形式が存在する。
自然界の動きを表現の対象としたシステムシミュレーションなどにおいては、人工的に造られたものの動きと
は異なり、数学的に完全な記述が与えられる場合は比較的少ない。しかし、多少の誤差を含んでいることを許容
すれば、現実に起こっている自然現象をシステム表現する事が出来る場合が多い。
これに対して社会現象をシステムとして表現することは非常に困難な問題を含むことになる。人間が介在する
からである。一人一人の人間は、それぞれに違った価値基準を持っており、同じ状況下においても、それぞれに
違った行動を選択する。そのため、すべてに適用できるような普遍的な表現を導くことは極めて困難といえる。
それでも、人間の社会では、まったく無秩序に社会が変動しているのではなく、ある程度の法則と考えられるよ
うな性格を持って現象が起こっていると考えられる。
システム論 2 ではそのような社会的な現象をシステムとして表現することを試みる。もちろん、コンピュータ
の動作を記述するような、完全な表現が出来るわけではない。自然現象を記述するような精度の高い表現という
わけでもない。しかし、社会的な現象をシステムとして把握することの意味、さらに一歩進んで、それを普遍的
に表現する試みを学ぶことによって、社会を客観的に捉えること、普遍的に表現することを身につけてもらいた
いと考えている。
工学的なシステム解析の対象
シズテム理論が最も注目され、活用されたのは制御に関わるような領域である。具体的には下記のような問題
を考えると、システム理論の意味が理解できよう。
+
目標
制御装置
入力
制御対象のシステム
u(t)
出力
y(t)
−
フィードバック・ループ
図1
フィードバック制御の考え方
上記のようなシステムを制御しようとすると、どのように扱うと良いのか?
線形静的システムと動的システムの表現
出力が現在の入力だけに依存するシステムを静的なシステム、
過去の入力にも依存するシステムを動的シ
2
ステムと呼ぶ。静的なシステムの解析は比較的簡単であるが、動的なシステムをどのように解析するのかが
問題である。まず基本となるのが線形動的システムの解析である。
代表的な例として、下の液面系の例を考える。
u
h1
水槽1
水槽2
y1
図1
h2
y2
液面系のシステム
水槽1と水槽2の微小時間Δtの間の水の変化量ΔS1 とΔS2 はそれぞれ
ΔS1 = Δh1*A1 、
ΔS2 = Δh2*A2
(1)
ただし、A1 と A2 はそれぞれの水槽の断面積である。
それぞれの水槽への流入量と水槽からの流出量を求めると、水槽1に関して流入量が u*Δtであり、流出
量はk1*h1*Δtである。また水槽1と水槽2が連結しているので、水槽間の水圧の差に比例して水が
移動する。つまりk3*(h1−h2)*Δtによって表わされる量が移動する。水槽2に関しては直接の
流入がないほかは水槽1と同様に考えることができる。以上より、
ΔS1 = Δh1*A1 = u*Δt―k1*h1*Δt―k3*(h1−h2)*Δt 、
ΔS2 = Δh2*A2 = k3*(h1−h2)*Δt―k2*h2*Δt
であたえられる。これから次式の微分方程式が与えられる。
dh1/dt = - k1*h1 - k3*(h1−h2)+ u
dh2/dt = k3*(h1−h2)- k2*h2
具体的に u=3,k1=0.3,k2=0.2,k3=0.5として微分方程式の数値解を求めると
NDSolve[
{h1'[t]==3-.3*h1[t]-.5*(h1[t]-h2[t]),
h2'[t]==.5*(h1[t]-h2[t])-.2*h2[t],
h1[0]==7,h2[0]==7}, {h1,h2},{t,0,20}];
Plot[Evaluate[{h1[t]/.%,h2[t]/.%}], {t,0,20}]
7.5
7
6.5
6
5.5
5
10
15
Graphics
3
20
ここで入力を u(t)と考え、出力y(t)を水槽2から流れ出る水の量であるk2・h2(t)と考え
る。この出力y(t)を常に希望の水量rになるように適当な入力 u(t)を決める問題が、制御問題であ
る。そこで制御入力 u(t)をrとy(t)の偏差(r−y(t)
)の関数で与えるものとすると、線形フ
ィードバック制御が形づくられる。
u(t)= c1+ c2(r−y(t)
)
として、t→∞においてy(t)=rとなるように設計することが必要である。まずc1は
- k1*h1 - k3*(h1−h2)+ c1 = 0
k3*(h1−h2)- k2*h2 = 0
y = k2*h2 = r
Solve[{k2*h2==a,c1-k1*h1-k3*(h1-h2)==0,k3*(h1-h2)-k2*h2==0},{h1,h2,c1}]
::c1 → −
− a k1 k2 − a k1 k3 − a k2 k3
k2 k3
, h1 →
a Hk2 + k3L
a
>>
, h2 →
k2 k3
k2
よって、c1=r*(k1*k2+k1*k3+k2*k3)
・
(k2*k3)
と選んでおけば、どのような初期条件からもtが∞においてyはrとなる。また、C2の値によって収束に
至る様子が変化する。具体的にk1=.3,k2=.2,k3=.5とすると
c1 = 3.1r、 h1=7r、 h2=5r
r=2、k=10 とすると
NDSolve[{y'[x]==k*(r-.2z[x])+3.1*r-.3*y[x]-.5*(y[x]-z[x]),z'[x]==.5*(y[x]-z[x])-.2*z[x],y[0]==7,z[0]
==7}, {y,z},{x,0,10}];
Plot[Evaluate[{y[x]/.%,z[x]/.%}], {x,0,10}]
14
12
10
2
4
6
8
10
Graphics
r=2、k=3 とすると
NDSolve[{y'[x]==k*(r-.2z[x])+3.1*r-.3*y[x]-.5*(y[x]-z[x]),z'[x]==.5*(y[x]-z[x])-.2*z[x],y[0]==7,z[0]
==7}, {y,z},{x,0,10}];Plot[Evaluate[{y[x]/.%,z[x]/.%}], {x,0,10}]
14
13
12
11
10
9
8
2
4
6
8
10
Graphics
このようにして出力が希望の値になるような制御装置を設計することができる。
4
線形時不変システム
システム
(線形)
入力
u(t)
出力
(時不変)
y(t)
線形性:
入力に対する出力の特性として
y(t) = F{u(t)}
の場合
F{k1u1(t)+k2u2(t)} = k1F{ u1(t) }+k2F{u2(t)} ならば線形のシステムという。
時不変性:
また、時間がτずれた場合
y(t+τ) = F{u(t+τ)}が成立すれば、時不変のシステムという。
線形時不変システムの特徴
固有関数の存在:
ある f(t)が存在して、入力 u(t)を u(t)=f(t)とすると出力 y(t)が
y(t)= k・f(t)ならばf(t)をシステムの固有関数、kを固有値という。
線形時不変システムの固有関数:
入力 u(t)=exp( jωt)として y(t)=f{exp( jωt)}とする。
時不変性より、入力 u(t+τ)に対する出力 y(t+τ)は
y(t+τ) = f{u(t+τ)} = f{exp( jω(t+τ) )}
線形性より、入力を u(t)=k・exp( jωt)=exp( jωτ)・exp( jωt)
= exp(jω(t+τ))とすると
出力 y(t+τ)は y(t+τ)=kf{exp( jωt)}= exp( jωτ)f{exp( jωt)}
ここで t=0とすると
y(τ) = exp( jωτ)f{exp( 0)} = exp( jωτ)f{1}
つまり、
u(τ)=exp( jωτ) とすると y(τ) = exp( jωτ)f{1}
となり、exp( jωτ)が固有関数であることが分かる。ここで、f(1)が固有値である。
5
自動販売機のような有限状態で記述されるシステム
たとえば100円でジュースを買うことができる自動販売機を考える。
これをシステムとして表現するた
めにはどのような表現が可能か。ここでも、状態方程式と出力方程式を考える。
入力として、
.100円以外の貨幣の投入(1)
.ジュース A のボタンを押す(2)
.ジュースBのボタンを押す(3)
.ジュースCのボタンを押す(4)
.100円硬貨の投入(5)
出力として
.ジュース A を出す(1)
.ジュースBを出す(2)
.ジュースCを出す(3)
.余分なお金を返す(4)
.何も出ない(5)
が考えられる。
これら入力と出力が整合するようなシステムを構築するのはどう表現することが可能であろうか。
たとえば
パソコン上でこの動きを作ってみよう。
この基本になるのが、入力と出力を結びつける状態方程式であり、出力方程式である。
そこで状態という概念が重要になる。ここでは、
.自動販売機にお金が入っていない状態(1)
.自動販売機に100円が入っている状態(2)
の二つを用意することによって、状態方程式と出力方程式を記述することが可能になる。
状態をx(n)とし、状態方程式は
(1)
x(n+1)= f(x(n)
、u(n)
)
で記述される。出力をy(n)として、出力方程式は
(2)
y(n) = g(x(n)
、u(n)
)
で記述される。この関数fとgを決めることが自動販売機の動きを記述したことになる。
具体的には、次の図のような動きであることがわかる。
5/5
1/4,2/5,3/5,4/5
1/4, 5/4
状態1
状態2
2/1, 3/2, 4/3
図3
自動販売機の状態遷移図
6
次に、fやgという関数をどのように記述することが良いのかを考える。たとえばfとgを論理関数を使っ
て表現することができる。
これがかって論理式を使った表現となって計算機設計などの主要な作業であった。
表現という意味では、有限体を使って表現することもできる。もちろん通常の実関数を使って表現すること
もできる。
さらにパソコンなどを使うことができるのならば、適当なリストを活用することにより、簡単に表現可能
となる。たとえば次のようなリストを使うと、これらを表現できる。
状態が二つ、入力が5種類なので、2次元の行列fとgを、f[ 2 , 5 ]と g[ 2 , 5 ]で与えるものとする。それぞれ
の行列の要素である f [ i , j ]と g[ i , j ]要素は式(1)及び(2)の関数値に対応するものとし、さらに上図の状
態遷移で決まる関係が成立するものとする。つまり、
f[ 1 , 1 ] = 1 , f[ 2 , 1 ] = 2 , f[ 1 , 2 ] = 1 , f[ 2 , 2 ] = 1 , f[ 1 , 3 ] = 1 ,
f[ 2 , 3 ] = 1 , f[ 1 , 4 ] = 1 , f[ 2 , 4 ] = 1, f[ 1 , 5 ] = 2 , f[ 2 , 5 ] = 2 ;
g[ 1 , 1 ] = 4 , g[ 2 , 1 ] = 4 , g[ 1 , 2 ] = 5 , g[ 2 , 2 ] = 1 , g[ 1 , 3 ] = 5 ,
g[ 2 , 3 ] = 2 , g[ 1 , 4 ] = 5 , g[ 2 , 4 ] = 3, g[ 1 , 5 ] = 5 , f[ 2 , 5 ] = 4 ;
とする。このリストを利用すると簡単に自動販売機の動きをシミュレーションできる。
8 f @ 1, 1 D = 1, f @ 2, 1 D = 2, f @ 1, 2 D = 1, f @ 2, 2 D = 1, f @ 1, 3 D = 1, f @ 2, 3 D = 1,
f @ 1, 4 D = 1, f @ 2, 4 D = 1, f @ 1, 5 D = 2, f @ 2, 5 D = 2, g @ 1, 1 D = 4,
g @ 2, 1 D = 4, g @ 1, 2 D = 5, g @ 2, 2 D = 1, g @ 1, 3 D = 5, g @ 2, 3 D = 2, g @ 1, 4 D = 5,
g @ 2, 4 D = 3, g @ 1, 5 D = 5, g @ 2, 5 D = 4, f @ 1, 1 D = 1 < ;
i = 1;
For@ k = 1, k < 6, k ++ ,
j = Input @ " in put" D ; Pri nt @ " state = " , i , " i npu t = " , j, " ne xt state = " ,
f @ i , jD , " ou tput = " , g @ i, jDD ; i = f @ i , jDD
state= 1
input= 5 next state
=
2
output
=
5
state= 2
input= 3 next state
=
1
output
=
2
state= 1
input= 1 next state
=
1
output
=
4
state= 1
input= 5 next state
=
2
output
=
5
state= 2
input= 4 next state
=
1
output
=
3
つまり、上のようなリスト処理が実行できるシステムがあれば、自動販売機としての機能を持つことができ
るのである。
7
行政の公的活動、企業活動、個人の消費行動の総合システム表現
持続可能な循環型社会を構築するためには、新しい社会の設計を行うと共に、設計に基づいた将来予測が不可
欠である。そこで、社会を的確にシステムとして表現し、産業構造や行政の施策、個人の消費行動を、客観的に
捉える必要がある。社会を客観的に捉える方法として、産業連関の考えを基本に据え、情報の提供や取得、人間
の意向や組織の方針、満足度などの綜合的な関係をシステム表現し、そのシステムの持続可能性を評価できる方
法を提案する。
人間及び社会
投入分
A, B , C
物的投入
エネルギー投入
生み出された
付加価値
A, B
人間及び社会の部門
産出分
物的産出 A
エネルギー的産出 A
A 生産部門
(物的・エネルギー的)
サービス産出 B
サービス投入
B サービス生産部門
情報産出 A,B,C
情報投入
C 需要部門
(民間、公的)
満足度 A,B,C
方針、意向
排出される
廃棄物、排気ガス
A, B , C
図1 分析のための綜合的なシステム表現(人間及び環境との関わりを考慮した表現)
このような投入と産出特性からシステムの特性を推定することにより、企業の方針や地方自治
体の施策と満足度の関係を明確にすることが可能になる。
8
新しい地域創生のために必要な取り組みの概要
1 地域を客観的に捉えること(地域のシステム表現と表現のための基礎データ)
2 地域システムの総合評価(各種評価の位置付けと統合化)
3 地域システムの再構築(PDCA サイクルの構築と具体的な転換)
欲望
計画
需要
財・サービスの生産
生み出される
付加価値
生産の誘発
生み出される廃棄物
供給
経済の持続性
の問題
消費される非再生資源
資源枯渇等の持続性の問題
消費される再生資源
自然環境・地球環境への影響
に代表される持続性の問題
図2
各種データの情報化
個人、企業等の活動と物質・エネルギー・情報・満足感等の関係
9
満足感