Programmable Architecture

-Towards Human Interactive, Cybernetic Architecture-

Kensuke Hotta (B.Eng, M.Eng, Msc)
Architectural Association School of Architecture, 2013

プログラマブル アーキテクチャ

ーヒューマンインタラクティブ、サイバネティックアーキテクチャーに向けてー

堀田憲祐, 英国建築協会建築学校 

Chapter 6
Experiment 1: Simple Real-Time GA with Grasshopper

第6章

実験1:Grasshopperを使ったシンプルなリアルタイムGA

6-1 . Introduction

Continuing the focus on illumination in chapter 5, this chapter looks at a series of experiments to measure the shading capacity of various roof types under different light exposures using Rhinoceros and Grasshopper. The special feature of this construction model was that, unlike a traditional CAD model, it was not static but dynamic using a variety of techniques discussed later. The construction model was made with 'Kangaroo Physics', a Grasshopper plug-in which contains a physics engine allowing physical modeling, and 'Galapagos', another plug-in which contains the GA (genetic algorithm) components and was used for optimization. Real time experiments require a dynamic model as well as a set time period. This second aspect, the set time period, became a separate research issue.

6-1 . 序論

 本章では、第5章の照明に引き続き、RhinocerosとGrasshopperを用いて、様々な種類の屋根の遮光能力を異なる日射量下で測定する一連の実験について見ていく。この施工モデルの特徴は、従来のCADモデルとは異なり、静的なものではなく、後述する様々な手法を用いた動的なものであることである。施工モデルは、物理モデリングを可能にする物理エンジンを搭載したGrasshopperのプラグイン「Kangaroo Physics」と、GA(遺伝的アルゴリズム)コンポーネントを搭載し最適化に使用した「Galapagos」によって作成されたものである。リアルタイム実験では、動的なモデルだけでなく、時間軸も設定する必要がある。この2つ目の設定時間については、別の研究課題となった。

Fig.6-1,1 : Program Execution Display ShotThis figure shows the interfaces of Rhinoceros and Grasshopper and Galapagos
図.6-1,1:プログラム実行時のディスプレイ画面RhinocerosとGrasshopper、Galapagosのインターフェイスを示した図。

6-2 . Aim

The aim of these experiments was to prove that the proposed kinetic roof adapts most effectively to sun exposure over time providing the best result. In the first experiment, the number of shadows were counted by using the ‘exposure’ component from Grasshopper-the greater the area of shade, the better. In other words, the Objective Function (the necessary light level) was a constant in this experiment. The second experiment measured how much three different roof systems-fixed, pre-optimized and kinetic-could follow a fluctuating Objective Function. This second experiment measured the systems adaptability, focusing on two different issues - the margin of error in trying to match to Objective Function and the other the speed at which they adapted.

6-2 . 目的

 これらの実験の目的は、提案する可動式屋根が、時間の経過とともに日射量に最も効果的に適応し、最良の結果をもたらすことを証明することであった。最初の実験では、Grasshopperの「露光」コンポーネントを用いて影の数をカウントし、影の面積が大きいほど良いとした。つまり、この実験では目的関数(必要な光量)は一定である。2つ目の実験では、固定式、最適化式、可動式の3種類の屋根システムが、変動する目的関数にどの程度ついていけるかを測定した。この2回目の実験では、「目的関数に合わせるための誤差」と「目的関数に合わせるための速度」という2つの異なる課題に着目し、システムの適応性を測定した。

6-3 .Preparation and Mathematical Definitions of the Model

The main objects in this digital experiment can be divided into 5 parts functionally (fig 6-3,1). These parts are going to be explained respectively.

6-3 .モデルの準備と数学的定義

 このデジタル実験の主な対象は、機能的に5つの部分に分けられる(図6-3,1)。これらのパーツについてそれぞれ説明する。

Fig.6-3,1: The Whole Grasshopper Definition with partsPart one composes the static components of the tensegrity structure, part two is the spring system using the physics engine, part three makes up the membranes connected to the tensegrity structure, part four is the sun and its vector, and part five is the evaluative and recording function.
図.6-3,1: 部品からなるGrasshopperの全体像の定義第1部はテンセグリティー構造の静的構成要素、第2部は物理エンジンを用いたバネシステム、第3部はテンセグリティー構造に接続された膜組織、第4部は太陽とそのベクトル、第5部は評価・記録機能を構成している。

6-3-1. Static Tensegrity Structure (part1)

Firstly, the static tensegrity roof is made by the combination of Rhinoceros’s modeling and Grasshopper's group of components. (fig 6-3-1,1), (fig 6-3-1,2) . The basic form of the tensegrity components is made in Rhinoceros and pointed out as Grasshopper's component. Those are going to be arrayed as X and Y directions. Array in Grasshopper is simply used for 'Series' and 'Move' components. In this experiment 2 by 2, total 4 components are used. The roof surface is an array made of the developed component. The component consists of 3 upper cables, 3 lower cables, 6 side cables, 6 struts and 1 central spring. By arraying this component on a 2-dimensional array along the X and Y axes, a roof-like surface is produced.

6-3-1. 静的テンセグリティー構造 (第1部)

 まず、RhinocerosのモデリングとGrasshopperのコンポーネントの組み合わせで、静的テンセグリティー屋根を作る。(図6-3-1,1), (図6-3-1,2). テンセグリティーコンポーネントの基本形は、Rhinocerosで作成し、Grasshopperのコンポーネントとして指摘される。それらは、X方向とY方向として配列されることになる。Grasshopperの配列は、単純に「直列」と「移動」のコンポーネントに使用されます。今回の実験では、2×2、合計4つのコンポーネントを使用している。屋根面は、開発したコンポーネントを配列したものである。コンポーネントは、上部ケーブル3本、下部ケーブル3本、サイドケーブル6本、支柱6本、中央のバネ1本で構成されている。この部品をX軸とY軸に沿った2次元配列にすることで、屋根のような面を作り出す。

Fig.-3-1,1: One Tensegrity ComponentOne of tensegrity components consists of 3 upper cables, 3 lower cables, 6 side cables, 6 struts and 1 central spring for suspension.
図.6-3-1,1: テンセグリティコンポーネントのひとつテンセグリティーコンポーネントの1つは、3本の上部ケーブル、3本の下部ケーブル、6本のサイドケーブル、6本の支柱、1本の中央バネからサスペンションから構成されている。
Fig.6-3-1,2: Arrayed Tensegrity ComponentsBy using the 'Move' component in grasshopper, tensegrity components are arrayed 2-dimensional along the X direction vector and the Y direction vector. In this way, a roof-like surface is produced.The component shape is hexagonal so this array is laid out more like a honeycomb rather than perpendicularly.
図.6-3-1,2: テンセグリティーコンポーネントの配列grasshopperの「移動」コンポーネントを用いて、テンセグリティーコンポーネントをX方向ベクトル、Y方向ベクトルに沿って2次元的に配列する。こうすることで、屋根のような面を作り出すことができる。コンポーネントの形状は六角形のため、この配列は垂直というよりはハニカム状に並べられる。

6-3-2. Spring System (Part2)

The cables and springs described above are made using the spring component in the Kangaroo physics engine. By following Hooke's law, in reference to the springs, factors such as rest length and the spring constant, can be set within components to allow them to maintain their shape (too high a value induces component collapse). In the physical model, the spring is made by shape memory alloy, thus it usually acts as a spring and when it is actuated, shrinks by 50% (ideal situation). Therefore, here, the strength is taken as a gene. In the case where the ‘actuator is shaped memory alloy’, the digital output will be 'On' and 'Off'. On the slider this is represented as '1' and '0.5' in reference to its original length. In the case where the actuators are a servo-reel system that rolls up the line, the slider will have continuous values from '1.00' to ‘0.00’ at ‘.01’ increments.  In this ideal rolling system there are no limits to the length of the elements.

6-3-2. バネシステム (Part2)

 前述のケーブルとバネは、物理エンジンKangarooのバネコンポーネントを用いて作られています。バネはフックの法則に従って、形状を維持するための静止長やバネ定数をコンポーネント内で設定することができる(値を大きくしすぎるとコンポーネントの崩壊を招く)。物理モデルでは、バネは形状記憶合金で作られているため、通常はバネとして働き、作動すると50%収縮する(理想的な状態)。したがって、ここでは、強度を遺伝子としてとらえる。アクチュエーターが形状記憶合金の場合、デジタル出力は「オン」と「オフ」になる。スライダーでは、これは元の長さを基準にして「1」と「0.5」と表現される。アクチュエーターがサーボリールシステムで、ラインを巻き上げる場合、スライダーは「1.00」から「0.00」まで、「0.01」刻みで表示される。 この理想的なローリングシステムでは、エレメントの長さに制限はない。

Fig.6-3-2, 1 :Hooke's law (fig from Wikipedia) 
図.6-3-2, 1 :フックの法則(図はWikipediaより引用) 
Fig.6-3-2,2: Cables and Their Shortest LengthThe data from the previous part (Part 1), is treated as flattened data using the 'Bang!' component. The tension wires, compression members and central suspension are handled by Kangaroo Physics. The material properties are different but can be adjusted using several parameters.
図.6-3-2,2: ケーブルとその最短距離前編(第1部)のデータを、「Bang!」コンポーネントを使ってフラット化したデータとして扱う。テンションワイヤー、コンプレッションメンバー、センターサスペンションは、Kangaroo Physicsで処理する。材料特性は異なるが、いくつかのパラメータを使って調整することができる。
Fig.6-3-2,3: Core parts of the SpringThe line data from the previous part (Part 2), is connected to the 'Springs' component. This component enables the lines to make a dynamic object. There are parameters such as 'Stiffness', 'Damping', 'RestLength', 'Cutoff', 'Compfail' etc. However only 'Stiffness' and 'RestLength' are used.
図.6-3-2,3: バネのコアパーツ前編(第2部)の線データを、「Springs」コンポーネントに接続する。このコンポーネントにより、線は動的なオブジェクトを作ることができる。Stiffness', 'Damping', 'RestLength', 'Cutoff', 'Compfail'などのパラメータがある。ただし、使用するのは「Stiffness」と「RestLength」のみである。
Fig.6-3-2,4: Physics EngineThe spring data from the previous part (Part 2-2), is connected to the 'Kangaroo' component. This is the core engine of Kangaroo physics. It needs to be connected to 'Kangaroo settings'. The 'Kangaroo' component outputs dynamically deformed geometry from its right side.
図.6-3-2,4: 物理エンジン前編(第2部-2)のバネデータは、'Kangaroo'コンポーネントに接続されている。これは Kangaroo の物理エンジンの中核となるものである。これを「Kangaroo settings」に接続する必要がある。「Kangaroo」 コンポーネントは、その右側から動的に変形された形状を出力する。
Fig.6-3-2,5: Colour of the StringsThrough Kangaroo physics, static lines become dynamic springs. The degree of shrinking is visualized using colour. The original RestLength is set at 1.0 while the lower limit (green) is set at 0.9 and the upper limit (red) is set at 1.2.
図.6-3-2,5:弦の色Kangaroo物理学によって、静的な線は動的なバネになる。縮む度合いを色で可視化した。元のRestLengthを1.0とし、下限(緑)を0.9、上限(赤)を1.2としている。

6-3-3. Membranes on the tensegrity structure (Part3)

6-3-3. テンセグリティー構造上の膜  (第3部) 

Fig.6-3-3,1: MembranesSome of the point data of part 1 (6-3-1) is used for the triangle membranes. In this experiment four tensegrity components are used, so the number of triangle membranes is also four. Three vertices are manually selected to make dynamic surfaces.
図.6-3-3,1: 膜第1部(6-3-1)の点データの一部が三角形の膜に使われている。この実験では、4つのテンセグリティーコンポーネントを用いているため、三角形の膜の数も4つである。3つの頂点は手動で選択し、動的なサーフェスを作成する。

6-3-4. The Sun (Part4)

The dynamic sun is defined here. The speed of the sun, position of the sun, initial position of the sun, etc. can be statically controlled but in the experiment the sun’s movement is controlled by an automated graph which has time duration using the 'timer' component in grasshopper.

6-3-4. 太陽 (第4部)

 ここでは動的な太陽を定義している。太陽の速度、位置、初期位置などは静的に制御できるが、実験ではgrasshopperの「timer」コンポーネントを用いて、時間的持続性を持たせた自動グラフで太陽の動きを制御する。

Fig.6-3-4,1: Grasshopper Sun DefinitionThe first part of the model, the sun, moves from one side of the digital ‘world’ to the other side being defined from (- π /2) to (+ π /2) in Grasshopper. Its path moves along a semicircle, and its directional vector always points towards the center of the evaluating plane. By using the 'Fad er' function with the timer in the 'Firefly' plug-in, the sun’s movement can be automated here. The solar altitude is set at 90 degree (note: this would be the location of the sun on the equator at the solar equinox) though the real sun’s path is not a pure perpendicular 2 dimensional semi circle.
図.6-3-4,1: Grasshopper の太陽の定義モデルの最初の部分である太陽は、デジタル「世界」の片側から反対側へ移動し、Grasshopper では (-π /2) から (+π /2) まで定義されている。その軌道は半円を描いており、その方向ベクトルは常に評価面の中心を向いている。ここでは、「Firefly」プラグインのタイマーで「Fad er」機能を使うことで、太陽の動きを自動化することができる。太陽高度を90度(注:太陽赤道上の太陽の位置)に設定したが、実際の太陽の軌道は純粋な垂直2次元半円ではない。

6-3-5. The Evaluative and Recording function (Part5)

In the fifth part of the model, the shadow of the roof’s membranes is calculated using a mathematical function tied to the evaluation mesh surface. Specifically, the number of shadows are going to be counted mesh by mesh, using the ’exposure’ component. Then that data will be recorded and output as Excel data in a *.csv file.

6-3-5. 評価・記録機能(その5)

 モデルの第5部では、屋根の膜の影を、評価用メッシュ面に結びついた数学的関数を使って計算する。具体的には、「露出」コンポーネントを用いて、メッシュごとに影の数をカウントしていく。そして、そのデータを記録し、Excelデータとして*.csvファイルに出力する。

Fig.6-3-5,1: Grasshopper Evaluation DefinitionThe evaluation plane is made of a mesh surface. This mesh in this experiment is subdivided into an 11x11 grid with 121 cells. If more accuracy is needed a larger grid such as 100x100 grids with 10,000 cells could be used although this might cause a delay in processing, depending on one's computer’s speed. Each cell or mesh component is connected to an 'Exposure' component, which returns a binary value of ‘1’ or ‘0’ which indicates whether the mesh is exposed directly to the sun ('0') or hidden in the shadow ('1'). In the second experiment using multiple roof styles (as explained below), the exposure number is more complex. In some cases where there are multiple light sources (other exposure sources; sun; reflected light), the returned value may be more than 1, and not a binary value. Mathematically that data has to be dealt with using alternative operations. This data is connected to a 'Gradient' component which allows it to be visualized in colour. It is also connected to the 'Data Recorder' for exporting into Excel.
図.6-3-5,1: Grasshopper 評価の定義評価面はメッシュ面でできている。今回の実験では、このメッシュを11×11のグリッドに細分化し、121個のセルで構成している。より精度が必要な場合は、100x100グリッド、10,000セルのような大きなグリッドを使用することもできるが、コンピュータの速度によっては処理の遅延が発生する可能性がある。各セルやメッシュのコンポーネントは「露出」コンポーネントに接続されており、メッシュが太陽に直接さらされているか(「0」)、影に隠れているか(「1」)を示す「1」または「0」のバイナリー値で返されるようになっています。複数の屋根スタイル(以下で説明)を使用した 2 番目の実験では、露出の数値はより複雑になっています。複数の光源(他の露光源;太陽;反射光)がある場合、返される値は1以上であり、バイナリー値でない場合もある。数学的には、このデータは別の演算で処理する必要がある。このデータは「勾配」コンポーネントに接続されており、カラーで視覚化することができます。また、Excelにエクスポートするための「Data Recorder」にも接続されている。

6-4 . The Unique Feature / Limitation of ‘Galapagos’

Here, instead of considering the general procedure for using GA, the specific features and limitations of Galapagos’s implementation of GA are discussed, point by point. These points are unique features, sometimes work effectively but could work ineffectively. The process called 'step' below conforms to Chapter 3-3-3’s step.

• Step 1-generating the initial group: Galapagos has an Initial Boost factor setting which multiplies the number of individuals in Generation Zero.

• Step 2-N/A

• Step 3-selection procedure: Galapagos provides Isotropic Selection and Exclusive Selection options for selecting the parent components for the next generation. In this experiment those options are randomly assigned. According to creator David Rotten, these methods are basic and limited but currently good enough for the algorithm. Biased Selection (those are explained above) , though common in nature, is not applied here.

• Step 4-crossover: There is a limitation on the ‘Coupling Process’ and the ‘Mating Process’. Unlike other versions of GA, in Galapagos the only allowed way to choose a mate is by Genomic Distance on the Genome Map (explanation below). Once an individual has been selected by the Selection process, a mate or partner needs to be found through the Coupling process which then leads to the Mating process. There are two extremes in the mating process with the Genome Map; one is incestuous mating the other is zoophilic mating (these terms are explained below). These are both problematic for different reasons but by using both in Galapagos a balance is achieved between in-breeding (incestuous mating) and out-breeding (zoophilic mating). A balance point or breeding factor selection allows one to select individuals that are not too close to oneself and not too different. Galapagos’ creator leaves breeding factor manipulatable; (between -100% and +100%, total out-breeding vs. total in-breeding respectively). In Galapagos, “mate selection at present completely ignores mate fitness. This is something that needs looking into for future releases, but even without any advanced selection algorithms the solver still works.”(from his website)

6-4 . ユニークな特徴/「Galapagos」の限界

 ここでは、GAを使う一般的な手順を考えるのではなく、GalapagosのGA実装の具体的な特徴と制限を、ポイントごとに検証する。これらのポイントは、独自の機能であり、時には効果的に機能するが、非効率的に機能する可能性もある。以下の「ステップ」と呼ばれるプロセスは、第3章3-3-3のステップに準拠している。

・ステップ1ー初期グループを生成する:Galapagosには、Generation Zeroの個体数に乗じるInitial Boostファクターの設定がある。

・ステップ2ーN/A

・ステップ3ー選択手順:Galapagosは、次世代の親成分を選択するために、Isotropic SelectionとExclusive Selectionのオプションを用意している。この実験では、これらのオプションはランダムに割り当てられる。開発者のDavid Rottenによれば、これらの方法は基本的で限定的なものであるが、現在のところこのアルゴリズムには十分なものであるとのことである。なお、Biased Selection(上記で説明した方法)は、本来はよくある方法だが、ここでは適用していない。

・ステップ4ークロスオーバー:「結合プロセス」と「交配プロセス」には制限がある。他のGAと異なり、Galapagosでは、ゲノムマップ上のゲノム距離によってのみ交配相手を選択することが許されている(説明は後述)。選択プロセスによって個体が選ばれると、カップリングプロセスによって仲間やパートナーを見つける必要があり、それが交配プロセスにつながる。ゲノムマップの交配プロセスには、近親交配と動物交配の2つの極端なものがある(これらの用語は以下で説明)。これらはそれぞれ異なる理由で問題があるがGalapagos では両方を用いることにより、インブリード(近親交配)とアウトブリード(動物親和性交配)の間のバランスが達成される。バランスポイントや繁殖要因の選択により、自分に近すぎず、違いすぎない個体を選択することができる。Galapagosの考案者は繁殖係数を操作できるようにしている(-100%と+100%の間で、それぞれ同種繁殖と異系繁殖を行う)。Galapagosでは、「現在の相手の選択では、相手の適応性を完全に無視している。これは、今後のリリースで検討する必要があることだが、高度な選択アルゴリズムがなくても、ソルバーは動作する」(彼のウェブサイトより)。

Fig.6-4,1 : Genome-Map and Mating Method (Drawn by K.Hotta)The ‘Genome-Map’ is useful in adjusting the breeding factor and other aspects of the mating process. The Genome Map is an approximate 2 dimensional map made by using projections from higher dimensions. The number of genes (an N-dimensional value) is compressed to 2 dimensions. (It is assumed that all the genomes in a species have the same number of genes. This is not technically a limitation of Evolutionary Algorithms, even though it is currently a limitation of Galapagos). All the individuals in a certain population are demonstrated as dots on a 2 dimensional grid (this grid axis does not have a meaning because it is a projection). The distance between two dots on this grid is practically analogous with the distance between the individual’s genomes in higher dimensional gene-space. The only information a Genome Map conveys is which genomes are more similar (close together) and which genomes are more different (far apart).‘Incestuous mating’ behaviour occurs when the individual is able to find their potential partner from their neighbourhood. In the Genome map, individuals who are closer are very much like each other; they have a tendency to have similarities in their genome. The considerable risk of incest in Evolutionary Solvers including GA is a rapid decline in population diversity. Low diversity makes the chances of finding alternate solutions decrease, and thus it risks getting stuck in locally optimum settings.In contrast ‘Zoophilic Mating’ is the method of mating by excluding everyone near the one who is mating. Those genomes are totally different and often incompatible as the genome distance is huge. This method is also recognized as harmful especially when the fitness landscape has multiple mountains ( fitness landscape is defined in Chapter3-3-3), or a population has more than a single group of genomes. Here, in iteration, candidates are climbing their own little fitness peak. When two different individuals, who are climbing different mountains, make offspring generally, they tend to fall down into a fitness valley somewhere in the middle of the fitness landscape, in other words they tend to be non-optimal and not fit for purpose.• Step 5-Coalescence; Galapagos has two methods for Coalescence. One is Crossover Coalescence and the other is Blend Coalescence with blending preferences (Both terms will be explained below). In Galapagos, currently these methods are randomly implemented. Genes in evolutionary solvers such as Galapagos behave like floating point numbers.• Step 6-Mutation; Currently Mutation methods in Galapagos are restricted to Point Mutations (explanation below).
図.6-4,1 : ゲノムマップと交配方法(作図 K.堀田) 「ゲノムマップ」は、増殖率の調整や交配プロセスの他の側面で役立つ。ゲノムマップは、高次元からの投影を利用して作られた2次元に似たマップである。遺伝子の数(N次元の値)を2次元に圧縮している。(ある種のゲノムはすべて同じ数の遺伝子をもっていると仮定している。これは、現在のところGalapagosの制限事項であるが、厳密には進化アルゴリズムの制限事項ではない)。ある集団に属するすべての個体は、2次元の格子上の点として示される(この格子軸は投影であるため意味を持たない)。このグリッド上の2つの点の間の距離は、高次元遺伝子空間における各個体のゲノムの間の距離と実質的に類似している。ゲノムマップが伝える唯一の情報は、どのゲノムがより似ていて(近くにあって)、どのゲノムがより異なっているか(遠く離れているか)ということである。「近親交配」行動は、その個体が近傍からパートナー候補を見つけることができるときに起こる。ゲノムマップでは、近い個体同士は非常によく似ており、ゲノムに類似性がある傾向がある。GAを含む進化的ソルバーにおいて近親交配の考慮に入れるべきリスクは、集団の多様性が急速に低下することである。多様性が低いと代替解が見つかる可能性が低くなり、局所最適設定に陥る危険性がある。一方、「動物親和性交配」は、交配する人の近くにいる人をすべて排除して交配する方法である。この場合、ゲノムの距離が非常に大きくなるため、これらのゲノムは全く異なるものとなり、多くの場合相容れないものとなる。この方法は、特にフィットネスランドスケープが複数の山を持つ場合(フィットネスランドスケープの定義は3-3-3章)、あるいは集団が複数のゲノムグループからなる場合に有害であるとされている。ここで、候補者は反復して自分の小さなランドスケープを登っている。異なる山を登っている2つの個体が一般に子孫を作ると、フィットネスランドスケープの真ん中あたりのフィットネスの谷に落ち込む、つまり、最適でない、目的に合わない個体になりがちである。 
Fig.6-4,2 Genome Graph and Mutation (Drawn by K.Hotta)As the ‘genome’ or gene sequence is the key driver for GA, the Genome Graph is one useful way to visualize gene sequences as a 2 dimensional graph. Thanks to this way of representation, subspecies or lone species can be identified at a glance. A common method for displaying multi-dimensional points on a two- dimensional medium is to draw them as a series of lines that connect different values on a set of vertical bars. Each bar represents a single dimension. This enables people to quite easily display not just points with any number of dimensions, but even points with a different number of dimensions in the same graph. In the fig 5-4-1, the example genome, which consists of 5 genomes, is shown. It is common in actual GA procedures as well as in Galapagos, for each value or gene to be given a decimal value between 0.0 and 1.0, such as G0=0.25, G1=0.5, G2=1.0, G3=0.5,G4=0.5 on the graph. In this way, every unique genome has a unique graph line.
図.6-4,2 ゲノムグラフと突然変異(製図 K.堀田) ゲノム(遺伝子)配列は、遺伝子を構成する重要な要素であり、ゲノムグラフは、遺伝子配列を2次元のグラフとして可視化する有用な手法の一つである。この表示方法のおかげで、亜種や単独種を一目で識別することができる。多次元点を2次元媒体上に表示する一般的な方法は、異なる値を一連の縦棒で結ぶ線として描画することである。各バーは1つの次元を表す。これによって、任意の次元数の点だけでなく、異なる次元数の点さえも同じグラフに簡単に表示することができる。図 5-4-1 は、5 つのゲノムからなるゲノムの例。実際のGAでも、G0=0.25, G1=0.5, G2=1.0, G3=0.5,G4=0.5 のように、各値や遺伝子に 0.0~1.0 の十進数を与えることが一般的である。このようにして、すべての特有なゲノムは特有なグラフラインを持つことになる。 

     This figure illustrates a Point Mutation, where a single gene value has changed. The original value of G2 was 1.0 but it became 0.75 after this operation. This is currently the only mutation type that is possible in Galapagos. An alternative method, Inversion Mutation is available where two adjacent gene values are swapped. This operation has a significant benefit only when neighbouring genes have a very explicit relationship. Otherwise, it will probably have a detrimental effect on the procedure as this operation produces too huge a modification. In the fig 5-4-1, G0 and G1’s values have been swapped horizontally. Davit Rutten also mentions Addition Mutations and Deletion Mutations, which affect the number of genes. At present Galapagos only works on fixed-size genomes, but this is not a logical or practical limitation and this may be overcome in future releases.

 この図は、遺伝子の値が1つだけ変化した「点変異」を示している。G2の元の値は1.0であったが、この操作により0.75となった。これは現在Galapagosで可能な唯一の突然変異タイプである。もう一つの方法として、隣接する2つの遺伝子の値を入れ替える反転突然変異も可能である。この操作は、隣接する遺伝子が非常に明確な関係を持っている場合にのみ、大きなメリットをもたらす。それ以外の場合には、この操作はあまりにも大きな修正を生むため、おそらく手順に有害な影響を及ぼすだろう。図5-4-1では、G0とG1の値が水平方向に入れ替わっている。Davit Ruttenは、付加変異と欠失変異(Addition MutationsとDeletion Mutations)についても言及しており、これらは遺伝子の数に影響を与えるものです。現在のところ、Galapagosは固定サイズのゲノムにしか対応していませんが、これは論理的あるいは実用的な制限ではなく、将来のリリースで克服される可能性がある。

6-5 . Four Candidates

There are 4 styles of roof surfaces or candidates which are used in the GA experiment. These are identified as 'Fixed', 'Pre-optimized’, ‘Kinetic' and 'Kinetic ultimate'. The first candidate is the default, static model called 'Fixed roof' made of the developed components. The second one is called 'Pre-optimized', which is also a static- fixed roof but has an optimized shape for its objective–to generate the maximum amount of shadow. This optimization is done in GA (Galapagos). The third candidate, 'Kinetic roof' also uses GA but is running in real time, the duration being arbitrarily decided. It was done for various time periods: 100000 milliseconds (=100 seconds =1munites 40seconds), 300000 milliseconds (=300seconds =5minutes), 500000 milliseconds (=500secods = 8minutes20secods), 700000 milliseconds (700seconds =11minutes 40 seconds), 900000 milliseconds (=900seconds =15minutes). The last candidate is the ultimately optimized shape or ‘Kinetic ultimate’. It is similar to the ‘Kinetic’ candidate but it is not optimized in real time. The shape is optimized at every degree the sun moves. This isn’t, however, done in real time. The rest of the conditions are taken as fixed to maintain experimentally validity, for instance, the number of components, the size of components, the size of the evaluation plane, the number of subdivisions, the unit, anchor points, etc.

6-5 . 4つの候補

 GA実験では、4種類のルーフサーフェス(候補)が使用された。これらは、「Fixed roof(固定屋根)」、「Pre-optimized(最適化済み)」、「Kinetic(可動)」、「Kinetic ultimate(最大可動)」として識別される。最初の候補は、開発したコンポーネントで構成された「Fixed roof」と呼ばれるデフォルトの静的モデルである。2つ目は「Pre-optimized」と呼ばれるもので、これも静的な固定屋根だが、最大限の影を発生させるという目的に応じて形状が最適化されている。この最適化はGA(Galapagos)で行っている。3つ目の候補である「Kinetic roof」もGAを使用しているが、リアルタイムで実行され、その期間は任意に決められる。100000ミリ秒(=100秒=1分40秒)、300000ミリ秒(=300秒=5分)、500000ミリ秒(=500秒=8分20秒)、700000ミリ秒(700秒=11分40秒)、900000ミリ秒(=900秒=15分)と様々な時間帯で行われた。最後の候補は、最終的に最適化された形状、つまり「Kinetic ultimate」である。これは「Kinetic」候補と似ているが、実時間で最適化されているわけではない。太陽が動くたびに形状が最適化される。ただし、これはリアルタイムで行われるわけではない。残りの条件は、実験的な妥当性を保つために、例えば、構成要素の数、構成要素の大きさ、評価面の大きさ、細分化の数、単位、アンカーポイントなど、は固定されているものとみなされる。

6-6 . Graph Approximation and Visualization

The evaluation plane measures the shadow from the various roof candidates and feeds its cells’ data to an Excel spreadsheet. From there the score is converted into graphs to see not only the comparison between candidates but also the changes over time. In addition, for clarity a curve fitting method is utilized. For this operation, a 6 dimensional polynomial approximation curve is employed. This mathematical definition (explained in appendix -1) can be applied to lines from one dimension which is just a linear curve to higher dimension curves which have more inflection points. More dimensions allow one to follow more complex shapes, but higher dimensional curves tend to be too sensitive to data, and may introduce accidental errors. (Runge's phenomenon1). Due to this, if possible, it is better to choose lower dimension curves. Usually the appropriate dimension is chosen by using 'the method of least squares2' (this is also explained in the appendix). The procedures are as follows: firstly, set a polynomial equation then solve this by using a partial differential equation; from this its temporal coefficients will be decided. After this the curve function is revealed, this function is measured by correlation coefficient3. Especially in Excel its square (r^2) is used as an indicator to judge whether this function fits well or not. This indicator(r^2) moves from -1 to 1. Basically the better fit the curve marks, the closer it is to 1 (see appendix). These methods are taken from probability theory.

6-6 . グラフの近似値と可視化

 評価機は、様々な屋根の候補からの影を測定し、そのセルのデータをExcelのスプレッドシートに送る。そこからスコアがグラフ化され、候補間の比較だけでなく、経時的な変化も確認できる。また、わかりやすくするために、カーブフィッティングという方法を用いている。この作業には、6次元の多項式近似曲線が採用されている。この数学的定義(別表-1で説明)は、単なる直線である1次元の曲線から、より多くの変曲点を持つ高次元の曲線まで適用することができる。次元が増えればより複雑な形状を追えるようになるが、高次元の曲線はデータに対して敏感すぎる傾向があり、偶発的な誤差が生じる可能性がある。(ルンゲの現象1)。このため、可能であれば低次元の曲線を選択する方が良い。通常、適切な次元は「最小二乗法2」を用いて選択される(これについても別箇所で説明する)。手順としては、まず多項式を設定し、これを偏微分方程式で解き、その時間係数を決定する。この後、曲線関数が明らかになるが、この関数は相関係数3によって測定される。特にExcelではその二乗(r^2)を指標として、この関数がうまくフィットしているかどうかを判断する。この指標(r^2)は-1から1まで変化し、基本的に適合度の高い曲線マークほど1に近くなる(別紙参照)。これらの方法は、確率論から取られたものである。

6-7. Comparison of the 4 Candidates

In this part, four different candidates are going to be examined: Fixed, Pre-optimised, Realtime-Kinetic, and Ultimate-Kinetic roof. The result is below.

6-7. 4つの候補の比較

 このパートでは、4つの異なる候補を検証していく。「Fixed」、「Pre-optimised」、「Realtime-Kinetic」、「Ultimate-Kinetic」の4種類のルーフを検証していく。結果は以下の通りである。

Fig.6-7,1: Comparison in 4 candidates (drawn by K.Hotta) 
The solid lines have had the curve-fitting method applied to them while the dotted lines are the actual scores. The vertical axis shows the score, which is the number of shadows on the evaluation plane. The horizontal axis indicates the sun's location in degrees. The very beginning and the very end of the solid lines leap up but those can be ignored as a side effect of the curve fitting methodology.
Fig.6-7,1: 4つの候補の比較 (製図 K.堀田) 
実線はカーブフィッティング法を適用したもので、点線は実際のスコアである。縦軸は評価面上の影の数であるスコア。横軸は太陽の位置を度数で表している。実線の最初と最後が跳ね上がっているが、これはカーブフィッティング手法の副作用として無視できる。 

For Consideration;

The following three results are noted:

1). All candidates except the ‘Pre-optimized’ candidate show 2 peaks, around -50, and 40 on the sun axis.

2). Except for a few exceptions in the middle, the 'Kinetic ultimate' candidate has the highest

score. In contrast the 'Fixed' and 'Kinetic' candidates measured the lowest scores, except in the -70 to -50 range where the 'Pre-optimized' candidate has a lower score.

3). The 'Pre-optimized' candidate has relatively low scores in the beginning (from -75 to -10), and is lower than the 'Fixed' candidate’s score at the very beginning (from -70 to -50). This candidate has nearly the same score as the 'Kinetic ultimate' candidate, which is the highest score from the middle to the end of the sun path (-10 to 60).

It was anticipated by the author that the 'Kinetic ultimate' candidate would record the highest score over the overall period. The 'Pre-optimized' candidate has directionality with regards to the sun vector, which is why it marks a high score at the end of the period while sacrificing performance in the initial part. The unexpected result came from the ‘Kinetic' candidate. It had a slightly higher score than the 'Fixed' candidate, but lower than the rest. Thinking that there might be something wrong in the way the GA was being used, the experiment was tried several times but with similar results. It is possible, this algorithm may not be appropriate for use in real-time because of the necessary calculation time.

検討事項

以下の3つの成果を記す。

1). 「Pre-optimized」以外の候補は、太陽軸上で-50前後と40前後の2つのピークが見られる。

2). 中央の一部の例外を除いて、「Kinetic ultimate」候補が最も高いスコアを持っている。

スコアである。一方、「Fixed」候補と「Kinetic」候補は、「Pre-optimized」候補のスコアが低い-70から-50の範囲を除いて、最も低いスコアを計測している。

3). 「Pre-optimized」の候補は、最初の方(-75から-10まで)のスコアが比較的低く、「Kinetic」の候補のスコアよりも一番最初の方(-70から-50まで)で低くなっている。この候補は、太陽パスの途中から最後にかけて最もスコアが高くなる「Kinetic ultimate」候補とほぼ同じスコア(-10~60)である。

筆者は、「Kinetic ultimate」候補が全期間を通して最も高いスコアを記録することを予想していた。「Pre-optimized」は太陽ベクトルに方向性があるため、初期性能を犠牲にしながらも、終盤で高得点を記録している。意外な結果となったのは、「Kinetic」候補である。「Fixed」候補より若干高いが、他の候補より低い。GAの使い方に何か問題があるのではと思い、何度か実験を繰り返したが、同じような結果になった。このアルゴリズムは、計算時間がかかるため、リアルタイムでの使用には適さない可能性がある。

6-8 . The Comparing the Computing Time for the Kinetic Candidates

Reflecting on the results for the ‘Kinetic’ candidate ‘a lack of calculation time’ is proposed as the reason for its poor results. GA generally takes time to complete its procedures, so in the next phase several time periods are examined and compared to see if that could have an impact on the ‘Kinetic’ candidate’s score.

6-8 . Kinetic候補の計算時間の比較

 「Kinetic」候補の結果を振り返り、結果が悪かった理由として「計算時間不足」が挙げられる。GAでは一般的に処理に時間がかかるため、次のフェーズではいくつかの時間を検証し、それが「Kinetic」候補のスコアに影響を与えるかどうかを比較する。

Fig.6-8,1: The comparison of different computing times, using the Kinetic candidate. In this graph, similar to the previous graph, the solid line and dotted lines indicate the curve-fitting methodology and the actual scores. The vertical axis and horizontal axis show the shadow score, and sun’s location in degrees respectively. In this graph all the candidates are kinetically controlled roofs or ‘Kinetic’ candidates but different time periods are used in conducting the experiment. For example, one of the candidates, 'Kinetic 100s' is evaluated over a period of 100 seconds; ‘Kinetic300’ is evaluated over a period of 300 seconds. The other conditions are kept constant. The high score of the ‘Kinetic ultimate’ candidate is included in red.
図.6-8,1: Kinetic候補を用いた、計算時間の違いによる比較。
このグラフでも、前のグラフと同様に、実線と点線がカーブフィッティングの方法と実際のスコアを示している。縦軸は影のスコア、横軸は太陽の位置(度)をそれぞれ示している。このグラフでは、すべての候補が動力学的に制御された屋根、つまり「Kinetic」候補だが、実験を行う際に異なる期間を用いている。例えば、候補の一つである「Kinetic100s」は100秒間、「Kinetic300」は300秒間で評価されている。その他の条件は一定とする。「Kinetic ultimate」の候補の高得点は赤字で記されている。

For Consideration;

The results are summarized below:

1) There is a huge gap between the 'Kinetic ultimate' candidate (the red line) and all other candidates, except at the very beginning(from -90 to -60) and the very end (from 55 to 90 ) of the time period.

2) The difference in performance between the 'Kinetic ultimate' candidate and others is a factor of 3 in the first half, and it gradually shrinks to a factor of 1.5 in the latter half.

3) Within the kinetic candidates, longer time periods were supposed to have better results, but this is unsubstantiated.

検討事項

その結果をまとめると以下となる。

1) 「Kinetic ultimate」候補(赤線)と他の候補との間には、期間の最初(-90から-60まで)と最後(55から90まで)を除いて、大きな開きがある。

2) 「Kinetiあc ultimate」候補とそれ以外の候補の性能差は、前半で3倍、後半で1.5倍と徐々に縮まっていく。

3)kinetic候補の中では、時間が長いほど良い結果が得られるとされていたが、これには根拠がない。

     When the scores were compared at different angles (the x axis in the graph), the beginning (from -75 degree to 0 degree) had a lower score than the end part (from 20 degree to 54 degree). This result is understandable from the point of view that generally GA takes time to shrink its population. Contrary to expectation, however, even when sufficient calculation time is allowed, the result still did not rise effectively towards the ideal result (ie. the ‘Kinetic ultimate’ candidate). Therefore another solution needs to be adopted in order to create a higher score in the real time calculations.

 角度(グラフのx軸)を変えてスコアを比較すると、始点(-75度から0度まで)の方が終点(20度から54度まで)よりもスコアが低くなっていることがわかる。この結果は、一般にGAは個群体を縮小するのに時間がかかるという観点から理解できる。しかし、予想に反して、十分な計算時間をかけても、理想とする結果(すなわち「Kinetic ultimate」候補)に向かって効果的に上昇することはなかった。そのため、実時間計算でより高いスコアを出すためには、別の解決策を採用する必要がある。

6-9 . The Comparison between the different number of resets within kinetic candidates

('resets' are going to be explained below)

The previous results raise two interesting issues. Firstly, when the first graph (fig 6-7,1) is examined carefully, it is seen that initially the 'Kinetic' candidate has a higher score but gradually, its score falls as compared to the 'fixed' candidates. Secondly, the ‘Kinetic’ candidate doesn't score high but it has the same potential as the ideal result, which raises the question as to how the ‘Kinetic' candidate can approach the ideal result of the ‘Kinetic ultimate’ candidate. To answer this question, a hypothetical cause and solution are proposed here. Continuous GA calculation can easily lead to a lack of variation in the population and lower performance. If this supposition is right, stopping or chopping the algorithm and resetting it repeatedly might be used to boost GA results. To encourage experiments a special technique called ‘initial boost’ is usually used in GA. This enables GA to have adequate diversity in its population.

     Six different reset periods are selected to create six candidates alongside the Kinetic ultimate candidate which is the ideal result created by using the optimized ultimate kinetic system which wasn’t created in real time. The others (Chop10, Chop20, Chop30, Chop60, Chop90, Chop180 (not- chopped)) are generated by re-setting the calculations periodically in real time. For example with the ‘Chop10’ candidate, the sun’s position starts from the horizon (this is called -90 degree). When the sun moves on to -80 degree, the GA calculation resets. 

 6-9 . キネティック候補のリセット回数の違いによる比較

(「リセット」については後述する)

これまでの結果から、2つの興味深い問題が浮かび上がってきました。第一に、最初のグラフ(図6-7,1)を注意深く見ると、最初は「キネティック」候補のスコアが高いのですが、次第に「固定」候補に比べてスコアが下がっていることがわかります。次に、「キネティック」候補のスコアは高くないが、理想的な結果と同じポテンシャルを持っていることから、「キネティック」候補が「キネティック究極」候補の理想的な結果に近づくにはどうしたらよいかという疑問が湧いてくる。この疑問に答えるため、ここでは仮説的な原因と解決策を提案します。GA計算を継続的に行うと、母集団のバリエーションが不足し、性能が低下しやすい。この仮説が正しければ、アルゴリズムを止めたり、切り刻んだりして、繰り返しリセットすることで、GAの結果を高めることができるかもしれない。実験を奨励するために、GAでは通常「初期ブースト」と呼ばれる特別な手法が使われる。これにより、GAはその集団に十分な多様性を持たせることができる。

 6つの異なるリセット期間を選択し、リアルタイムで作成されていない最適化された究極のキネティックシステムを使用して作成された理想的な結果であるKinetic ultimate候補と一緒に6つの候補を作成する。その他の候補(Chop10, Chop20, Chop30, Chop60, Chop90, Chop180 (not- chopped))は、リアルタイムで定期的に計算を再設定することで生成されます。例えば「Chop10」の候補では、太陽の位置は地平線からスタートする(これを「-90度」と呼ぶ)。太陽が-80度まで移動すると、GA計算がリセットされる。

     Again when the sun moves to -70 degrees, the GA calculation resets. In this way every 10 degrees, the computing procedure resets. So this candidate is chopped and its calculation reset 18 times in total over the total sun period of 180 degrees.

     The graph (fig.6-9,1) on rough examination shows that when the calculation reset interval is short, the score tends to increase. However, even using the smallest interval (the ‘Chop10’ candidate with the calculation resetting every 10 degrees), it cannot achieve the score of the ‘Kinetic ultimate’ candidate. In the earlier half of the time period (from -70 to -10) the score is low, less than half of the ideal score (Kinetic ultimate). In contrast, the latter half achieves a score closer to the ideal score (Kinetic ultimate). It is clear the ‘Kinetic ultimate’ candidate has the highest score over all; in contrast the ‘Chop180’ candidate with no reset has the lowest scores in most columns.

 再び太陽が-70度まで移動すると、GA計算がリセットされる。このようにして、10度ごとに計算手順がリセットされる。つまり、この候補は、全太陽周期180度の間に合計18回切り刻まれ、計算がリセットされることになる。

 大まかな検討の結果、計算リセットの間隔が短いとスコアが高くなる傾向があることがわかった(図6-9,1)。しかし、最も小さい間隔(10度ごとに計算をリセットする「Chop10」候補)を用いても、「Kinetic ultimate」候補のスコアには及ばない。前半の時間帯(-70〜-10)では、理想的なスコア(Kinetic ultimate)の半分以下と低いスコアになっている。一方、後半はより理想に近いスコア(Kinetic ultimate)を達成している。Kinetic ultimate候補が最もスコアが高く、逆にリセットなしの「Chop180」候補はほとんどの項目でスコアが低くなっていることがわかる。

Fig.6-9,1: The Comparison between different chopped calculationsFor example ‘chop 10’, the suns position starts from one horizon (this is called -90 degree). When the sun moves on to -80 degree, the GA calculation reset. Again when the sun moves to -70 degree, the GA calculation reset. In this way every 10 degrees, the computing procedure resets. So this candidate's calculation is reset 18 times in total. 
図.6-9,1: 刻まれた計算の違いによる比較 例えば「chop 10」の場合、太陽の位置は1つの地平線から始まる(これを-90度と呼ぶ)。太陽が-80度まで移動すると、GA計算がリセットされる。太陽が-70度まで移動すると、GA計算がリセットされる。このように、10度ごとに計算方法がリセットされる。つまり、この候補者の計算は合計18回リセットされていることになる。
Fig.6-9,2: Total sum of the score in six candidates
To create this graph the scores of six candidates were integrated from -90 to +90. This approximation curve is useful for understanding the previous graph (fig 6-8-1). The result shows that the 'Chop30' candidate has the best reset time over the overall period. It was assumed that the more things were reset the more the score would improve, but this graph shows too much chopping leads in fact to a slightly worse score.
図.6-9,2: 6つの候補のスコアの合計このグラフを作成するために、6つの候補の得点を-90から+90まで積分した。この近似曲線は、先のグラフ(図 6-8-1)を理解するのに役立つ。この結果から、「Chop30」候補のリセット時間が全体の中で最も優れていることがわかる。リセットすればするほどスコアが良くなると思われていたが、このグラフから、刻み過ぎるとかえってスコアが少し悪くなることがわかる。

For Consideration:

Firstly, chopping time and resetting GA has some effect in getting a large enough population.

When comparing the ‘Chop180’ candidate (this candidate wasn’t reset actually) and the ‘Chop30’ candidate (reset 5 times) this difference in effect becomes clear. Secondly, in the experiment it was clear that in the ‘Chop20’ and ‘Chop10’ candidates the optimizing calculations in GA were not completed which may have lowered their scores. This may depend on the computer’s performance. On the computer used in the experiment, the ‘Chop30’ candidate thus became the most effective.

In this experiment, chopping the time interval for GA calculations was shown to be effective in improving the results, but too much chopping overwhelmed the available computer resulting in slightly worse results. In other words, when the Objective Function is dynamic, keeping a large enough population in GA is important to get an effective result.

考察:

第一に、時間を刻んでGAをリセットすることで、十分な効果を得られる。

「Chop180」候補(この候補は実際にはリセットされていない)と「Chop30」候補(5回リセットされている)を比較すると、この効果の違いが明確になる。

第二に、「Chop20」と「Chop10」については、GAでの最適化計算が完了していないため、スコアが低下している可能性があることが実験で明らかになった。これはコンピュータの性能にもよるのだろう。今回の実験に使用したコンピュータでは、「Chop30」の候補が最も効果的であった。

今回の実験では、GA計算の時間間隔を短くすることが結果的に有効であることが示されたが、刻み過ぎると利用可能なコンピュータに負担がかかり、若干結果が悪くなった。つまり、目的関数が動的な場合、GAで十分な母数を確保することが、効果的な結果を得るために重要であることがわかった。

6-10 . Discussion and Conclusion

This set of GA experiments demonstrate the result that normal GA does not work effectively for dynamic situations. The score for the real-time kinetic roof was worse than the pre-optimized roof’s score. The following paragraph discusses the possible reason for this and suggests potential solutions.

     Usually GA is designed and used for static problems. Here the word ‘static’ reflects two basic elements, 1) the Objective Function never changes while calculation the results and 2) the fitness landscape never changes while calculating the results. However, for this experiment, the changing nature of the Objective Function and the fitness landscape is a given. From here on it will now be referred to as a dynamic GA. The concrete, Objective Function is fluctuating depending on the illumination requirement set arbitrarily by the author corresponding to the needed architectural function. The fitness landscape fluctuates similarly as it is determined by both the Objective Function and the position of the sun both of which were changing.

6-10 . 考察と結論

 この一連のGA実験は、通常のGAが動的な状況では有効に働かないという結果を示している。リアルタイムキネティックルーフのスコアは、最適化前のルーフのスコアより悪かった。次の段落では、この原因として考えられることを説明し、解決策を提案する。

 通常、GAは静的な問題に対して設計され、使用される。ここでいう「静的」とは、1)計算中に目的関数が変化しない、2)計算中にフィットネスランドスケープが変化しない、という2つの基本的な要素を反映したものである。しかし、この実験では、目的関数とフィットネスランドスケープが変化することは当然である。以下、これを動的GAと呼ぶことにする。必要な建築機能に対応して作者が任意に設定した照度要件によって、目的関数が変動する。フィットネスランドスケープも同様に、目的関数と太陽の位置の両方によって決定され、変動している。

Fig.6-10,1: A diagram of ever changing fitness landscape 
図.6-10,1:変化し続ける適応度地形の図 

     The left hand diagram shows the abstract fitness landscape at a certain time (let’s say 10:00AM in here as the initial point). There might be several hills, and one of them is the highest achieved value. In that time frame it may or may not reach the top of the hill, it is not certain but GA can usually achieve a good value. However, in the next time frame (for example 11:00AM: the right hand figure), the previous optimized answer has already become old. Because, the fitness landscape has changed, with the time. This

landscape is determined by various dynamic parameters.

 左側の図は、ある時間(ここでは午前10時を最初の地点とする)における抽象的な適応度地形を表している。いくつかの丘があるかもしれないが、そのうちの1つが最も高い達成値となっている。その時間帯では、丘の頂上に到達するかどうかは定かではないが、GAは通常、良い値を達成することができる。 しかし、次の時間帯(例えば11:00AM:右図)では、前回最適化された答えはすでに古くなっている。なぜなら、適応度地形の状況が、時間とともに変化しているからである。この地形は、様々な動的パラメータによって決定される。

     When only the sun’s position is concerned, this ever changing fitness landscape is a continuous function. Because the sun's locus is one curved, continuous line, the sun rising from the east side then going down in the west along a circular path. However, when the actual environmental situation is considered, it is impossible to ignore the disturbances such as clouds which block the sun’s rays or temporary light sources such as light pollution from neighbours. These are unpredictable noise factors that make this fitness landscape a discontinuous function.

 太陽の位置だけを考えれば、この変化し続ける適応度地形は連続した機能である。太陽の軌跡は一本の曲線で連続しているため、太陽は東側から昇り、円形の道を通って西側に降りていく。しかし、実際の環境状況を考えると、太陽の光を遮る雲や、近隣からの光害などの一時的な光源など、妨害を無視することはできない。これらは予測不可能なノイズ要因であり、この適応度地形を不連続な機能にする。 

     A normal GA solver has no idea about the shape of the fitness landscape when it starts calculating.

     This is why GA uses special techniques such as initial boost, to quickly identify a rough shape for the fitness landscape. This is why GA is slow and not adaptable in dynamic situations.

     From this issue came the idea of using the potential of the initial boost to increase scores again and again. This periodic reset of GA is called ‘chop-time’ by the author. In the above experiment, these ‘chop-time’ candidates generally cannot achieve an optimum curve which is equal to the ‘Kinetic ultimate’ candidate, though there are small jumps in their scores. The reason for this is as follows: Initial boost helps in spreading an individual’s genomes and thus the overall diversity of the members. That in turn sometimes helps in finding a new fitness hill. Unfortunately, when calculation time is chopped too much it results in a lack of time for the answers to “evolve” and be resolved. Therefore, this solution is a double edged sword solving one problem while creating another.

Some hypothetical solutions are proposed below. The key issue to focus on in order to improve the score is how to compensate for the lack of initial information in a moving landscape. Two possibilities are:

• Insert sensor information into the GA’s ongoing calculation as an interruption input.

• Insert user demands into the GA’s ongoing calculations as interruption input.

 通常のGAソルバーは、計算を開始する時点では、適応度地形の形状を知ることはできない。GAが初期ブーストのような特別な技術を用いて、適応度地形の大まかな形を素早く特定するのはこのためである。これがGAが遅く、動的な状況に適応できない理由である。

 この問題から、最初のブーストの可能性を利用して、何度もスコアを伸ばすというアイデアが生まれた。このようにGAを定期的にリセットすることを、筆者は’チョップタイム’と呼んでいる。上記の実験では、これらの’チョップタイム’候補は、スコアに小さなジャンプがあるものの、一般的に’最終キネティック’候補と同等の最適曲線を得ることができない。その理由は以下の通りである。最初のブーストは、個人のゲノムを広め、ひいてはメンバー全体の多様性を高めるのに役立つ。その結果、新たな適応度ヒルを見つけることができることもある。しかし残念なことに、計算時間が刻まれ過ぎると、’進化’した答えを出すこと、そして解決するまでに時間が不足することになる。したがって、この解決法は、一つの問題を解決する一方で、別の問題を生み出してしまう諸刃の剣である。

 以下にいくつかの仮説的な解決策を提案する。スコアを向上させるために注目すべき重要な問題は、移動する地形の中で、初期情報の不足をどのように補うかというである。2つの可能性がある:

・GAの進行中の計算に、割り込み入力としてセンサー情報を挿入する。

・ユーザーの要求を割り込み入力としてGAの進行中の計算に挿入する。