Everything should be made as simple as possible but not simpler.

Everything should be made as simple as possible but not simpler.

「物事は全て出来るだけ単純にすべきだ」

アインシュタイン(Albert Einstein)さんの言葉のひとつです。

1879年、アインシュタインさんはここウルム(Ulm)で長男として生をうけます。

生まれてすぐミュンヘンへ引っ越したそうです。

ウルムには国際河川のドナウが流れています。

アインシュタインさんもきっとこんな空気を吸っていたのですね。

Schadenfreude ist die schönste Freude.

ドイツ語でこういう言葉があります。
 
Schadenfreude ist die schönste Freude.
 
日本語訳は「他人の不幸は密の味」です。
「バカにする」、「嘲笑う」、「ざまーみろ」などが近い意味かもしれません。
  
アメリカの「Simsons」というアニメでネルソン君がいつも言ってます。
ドイツでも毎日夕方に一時間ほどテレビで放送されています。
火曜日なんて2時間あるほど、ドイツでは人気があるんですね。 

 
いやーしかし、教育に悪そうなアニメですね。
いやーしかし、おもしろい。
またひとつドイツ語を覚えました☆
 

【文献】発見的最適化手法による構造のフィルムとシステム

発見的最適化手法による構造のフィルムとシステム (Heuristic Methods for Optimization of Structual Systems)
著者:三井和男・大崎純・大森博司・田川浩・本間俊雄
発行所:株式会社 コロナ社
発行:2004年7月15日

1 セルオートマトン法
 砂丘の風紋を見たことがありますか。砂丘では気象状況の変化によって、砂上に様々な紋様が描かれ、時間とともに変化します。この紋様は砂粒だけから構成されていて、風の力と多くの形の異なる砂粒との相互関係で形成されます。ここでは、セルオートマトン法を使い、この現象を紐解きます。

セルオートマトン(Cellular Automata, CA)とはなんなのか。

 砂丘は、大きさと形の異なる小さな砂粒どうしの摩擦によって、沢山の砂粒が集まった場所です。ここに風の力が作用して、あるものは空中に舞い上がって、あるものは隣接した砂粒どうしの力の伝搬によって、迫り上がります。迫り上がった砂粒は、重力の影響により崩れます。このような過程を繰り返して徐々に砂粒は移動するのです。砂粒一つひとつは、周りの状況に応じて、時間とともに自分の位置が決まります。その結果として、全体を見渡すと秩序だった紋様が砂上に現れて見えているのです。つまり、砂丘全体を見渡して、紋様を決定しようとする統一した意思が働いている訳ではなくて、一つひとつの砂粒がある一定の規則によって、それぞれの位置を決め、結果的に紋様が現れます。一定の規則とは、摩擦や重力に関連した力学的な規則が考えられます。もちろん、砂の一粒に対して、はるかかなたの砂粒から直接的な力の影響は受けないでしょう。ごく周辺にある砂粒から影響を受けると考えられます。つまりこの規則は、近くにある砂粒の状態に依存します。このような砂粒間の相互作用は、はるかかなたまで連鎖するでしょう。したがって、はるかかなたの砂粒の影響も間接的に受けていると考えられます。砂丘のこのような状況は、自己組織化の一例です。初期条件や境界条件などの環境と風の強さや向きなどの刺激を設定することで、時間とともに一つひとつの砂粒が位置や向きを変えます。自己組織化の特徴は、全体を掌握した意図的な指示によらず組織が形成されることです。周りとの相互の関わり合い、つまり局所的な相互作用の積み重ねから組織が自動的に形成される点に特徴があります。このような局所的な相互作用の原理に基づく一つのモデルがCAであって、現象解明に用いるCAによる計算手段をCA法といいます。

 CA法は、ある現象をマクロに定義した微分方程式などの関係式により全体像を捉える従来の方法とは異なります。セル間の簡単な規則の積み上げから、セル間の相互作用を通して、全体像を把握しようとする方法がCA法です。この方法は、次の二つの点から最近多くの方面で注目されるようになりました。第1に、複雑な現象を表現する系全体の関係式の構成を考える必要がないこと。第2に、たとえ構成された系全体の関係式が存在したとしても、それを解く必要がないこと。その代わり、対象とする現象を詳細に調べて、単純でかつ適切な局所的な規則群を抽出することが必要になります。CA法の適応例では、避難、火災、地震、雪崩、流体現象、交通状況等のシミュレーション、蝶、魚、貝あるいは動物などの様々な紋様の形成等多くの分野に適用されています。さらに、現象を支配するパラメータが複雑に絡み合う株価や景気などの経済現象、地震や地すべり等から派生する自然災害などにも応用した研究があります。

 構造解析にCA法を応用すると、全体がある目的関数に支配されているという従来の構造解析におけるトップダウン型のアルゴリズムとは異なり、各セルが分散的かつ自動的に自己組織化して、結果として系全体の秩序を形成させようとするボトムアップ型の計算手順となります。これは、創発型計算(emergent computation)に分類されるような計算スキームと考えられます。注意すべき点は、このような計算モデルにより得られる解に対して、必ずしもある目的変数を最大化あるいは最小化するという保証がないことです。しかし、逆に多様な解を容易に生成できるという特徴があり、フィルムの創生などの構造解析や構造設計にも可能性を秘めた方法です。

 セルオートマトン理論の起源は、1940年代にウラム(S.Ulam)との議論を通してノイマン(J.Neumann)により発案されたといわれています。基本モデルとして、有限個の状態設定可能なセルを空間的に規則正しい格子状に相互接続した系で考えられています。この系は各々のセル自身の状態とその周辺のセルの状態に依存して、セル間の単純な規則に従いながら自律的に状態遷移(state transfer)を進める離散化計算法として考案されました。ウルフラム(S. Wolfram)は、このCAの基礎的な状態遷移挙動を詳細に分析して体系化しています。

2 セルオートマトンの定義
 ウルフラムによれば、CAの基本的特徴(定義)は、次のようにまとめられます。
① セルオートマトンは空間と時間を離散的に扱って実際のシステムを理想化する
② セルオートマトンは規則正しい格子で構成され、通常は有限の広さであり、各セルにおいて離散的な変数をもつ
③ セルオートマトンの状態は、各セルにおける変数の値によって完全に明示される
④ 各セルにおける変数の値は、各セルの近傍における変数の値と一定の近傍則に基づき同期的に更新される

 CAの計算モデルの基本は、セル自身の状態がその周辺のセルすなわち近傍(neighborhood)の状態にのみ依存して、セルが状態遷移を進める局所的な規則群を用いた操作を実施することにあります。定義では具体的な規則の決め方やセルの状態は指定されていません。これは自由に決めてよいということです。また、次元にこだわる必要もありません。例えば、三次元では立体的に配列された状態となるのです。解析対象モデルと対応可能であるならばn次元に配列されたCAにも拡張可能でしょう。

3 一次元と二次元の簡単なCAモデルと物理現象
 最初に、力学問題から離れて、セルの状態が1もしくは0の二つの状態のみをとる最も単純なモデルによって、一次元と二次元に対する具体的なCAを表現してみましょう。以下は一次元CAのモデル例です。CA法では近傍と規則の設定をどのように決めるかが重要なポイントです。ただ、一次元の場合は、近傍の取り方が明快であり、時間経過を含めて平面上に状態表示できるので、視覚的に理解し易いと思います。図中の白四角がセルで、一列に並べたものが系全体です。近傍の例を4つ示します。ここで黒四角は対象セル、灰色四角は近傍セルになります。例えば、4近傍モデルは対象セルの左右連続して2つずつ、合計4つのセルを近傍としています。このように近傍の定義を拡張すれば、範囲を広げることができて、対象セルも必ずしも隣接する必要はありません。問題設定によっては様々な近傍パターンが考えられます。

 近傍モデルが定義されたなら、次に規則を具体的に決めなければいけません。ただし、規則は近傍の取り方にも依存します。ここでは、ウルフラムに習って、次の規則を考えましょう。これは連続する三つのセルの状態から真中の対象セルの次ステップにおける状態を規定するものです。

 この規則は、0の状態を白四角、1の状態を黒四角として、前図の2近傍モデルを採用した例になります。この規則を使用して、あるセルの状態配置を出発点として、離散時間ステップごとにセルの状態を更新させます。対象セルとその周辺のセルの状態は、規定した原則に依存して、全セルが同期的に更新を続けます。この規則例を見ればわかるように、対象とするセルの状態は、前ステップにおける隣接セルと自身の状態によって決まります。つまり、2×2×2=8通りの状態を示す並びから、2種類のうち一つの状態を決定する問題である2状態2近傍モデルとなります。規則の決定の組合せ内容は256(=2^8)通り考えられます。ここで示したものは規則146と呼びます。規則番号は次のように決められています。図に示すように三つの並びから決められた処理後の状態を0と1で表示すると左から順に(10010010)になります。この数字を8ビットの2進数として読み替えると10進数で146(=1×2^7+0×2^6+0×2^5+1×2^4+0×2^3+0×2^2+1×2^1+0×2^0)となります。任意の初期状態に任意の規則を適用すると、ステップを進めることで様々なパターンが出現します。規則146により出現するパターン(それを状態遷移図と呼びます)の例を示します。この図は”Wolfram mathworld”からお借りしています。(詳細はこちらhttp://mathworld.wolfram.com/ElementaryCellularAutomaton.html)このパターンは空間的広がりを行方向、時間的広がりを列方向にとり、マトリックス表示しています。このように与える規則によって異なった状態遷移図が得られます。

 次に、CAの定義に基づき、規則正しく配列させた二次元CAモデルによる基本的な局所規則を考えてみましょう。二次元CAの基本モデルとして図の二つの近傍がよく知られています。一つは、中心の対象セルに隣接した上下左右の四つのセルから構成するノイマン近傍です。もう一つは、周囲の八つのセルからなるムーア近傍です。

 ここでは、ムーア近傍を基準に、いくつかの近傍規則を見てみましょう。まず、コンウェイ(J. H. Conway)のライフゲームです。このゲームは初期状態に応じた空間的パターンを追跡して、その時間的移り変わりを楽しむものです。セルの状態は、一次元CAモデルのように、それぞれ0か1のいずれかの値をとります。具体的な局所規則の例を下図に示しています。中央の対象セルが隣接した近傍の状態でどのように変化するかを表しています。セルの状態は白四角(0)と黒四角(1)です。対象セルとその近傍の合計九つのセルの状態和が4であるとき、次ステップで対象セルは同じ状態を保ちます。総和が3のときは1の状態、それ以外は0の状態とします。


 
 これは、バクテリアなどに見られる生存状況に置き換えると、次のように解釈できます。生(1の状態)と死(0の状態)において、生の状態で周囲が2~3個体生存していると快適な状態で、自身も生存ができます。反対に、過密(4個体以上)や過疎(1個体以下)だと自身は生存ができなくなります。また、死滅している状態でも、周囲に3個体生存していれば、適切状態とみなされ生命は誕生します。このことからライフゲームという名称がつけられたのだと思います。
 
 次に、セルの状態が1と0の二つではなくて、三つの場合に拡張してみましょう。いま、各セルが-1、0、+1のいずれかの値をもつことにします。更新の規則は次のように設定します。ムーア近傍に+1の状態が二つあるとき、対象セルがー1であれば0に、0であれば+1に、+1であればー1にと次ステップのセル状態を決めます。他の場合は変化させません。この規則だと、ライフゲームとは変わったダイナミックな状態遷移パターンが得られます。
 
 最後に、物理現象に関連したCAのモデルを考えます。例として、状態が0~255の値をもつ256の状態が設定できるセルを想定します。規則は、ムーア近傍八つのセルの状態平均値を整数化し、その値を次ステップの対象セルの値とする単純なものです。初期状態として系の一部のセルに大きな値を与えると、ステップを繰り返すことで、徐々に数値が系全体で均一化するように広がります。このモデルは、熱などの拡散現象のシミュレーションに対応します。また、近傍セルの状態平均値の整数化した値に、1などの正の整数を加えた値を次ステップの対象セルに設定することを考えます。ただし、セルの値が256以上になったときは、256を引く操作もいれます。これは沸騰現象をシミュレートしたCAモデルとなります。
 
 ところで、現象を追跡できる正当性が示されるなら、モデルを規則正しい空間配列に限定する必要もありません。局所規則を用いた更新が同期的である必要もありません。ここまでの二次元CAの説明では、セルの状態を離散値の有限集合に限定しました。しかし、これを限定する必要もないですし、ノイマン近傍やムーア近傍だけでなく、近傍の定義も一次元CAのように様々に設定できます。CAのモデルは、近傍の状態のみで対象セルの状態を規定する方法と解釈すべき自由度の高い計算法であり、近傍の取り方と局所規則に対するユーザの発想が重要となります。