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
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つ目の設定時間については、別の研究課題となった。
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)。これらのパーツについてそれぞれ説明する。
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次元配列にすることで、屋根のような面を作り出す。
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」刻みで表示される。 この理想的なローリングシステムでは、エレメントの長さに制限はない。
6-3-3. Membranes on the tensegrity structure (Part3)
6-3-3. テンセグリティー構造上の膜 (第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」コンポーネントを用いて、時間的持続性を持たせた自動グラフで太陽の動きを制御する。
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ファイルに出力する。
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では、「現在の相手の選択では、相手の適応性を完全に無視している。これは、今後のリリースで検討する必要があることだが、高度な選択アルゴリズムがなくても、ソルバーは動作する」(彼のウェブサイトより)。
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種類のルーフを検証していく。結果は以下の通りである。
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」候補のスコアに影響を与えるかどうかを比較する。
このグラフでも、前のグラフと同様に、実線と点線がカーブフィッティングの方法と実際のスコアを示している。縦軸は影のスコア、横軸は太陽の位置(度)をそれぞれ示している。このグラフでは、すべての候補が動力学的に制御された屋根、つまり「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」候補はほとんどの項目でスコアが低くなっていることがわかる。
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.
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と呼ぶことにする。必要な建築機能に対応して作者が任意に設定した照度要件によって、目的関数が変動する。フィットネスランドスケープも同様に、目的関数と太陽の位置の両方によって決定され、変動している。
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の進行中の計算に挿入する。