Programmable Architecture

-Towards Human Interactive, Cybernetic Architecture-

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

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


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

Chapter 3


3-1. Introduction

In chapter 3, the critical methodologies used in this research are described. Firstly key philosophies, both architectural ideas and from other fields, are presented. Following the key, Engineering tools are introduced. These tools include hardware and software tools, as well as specific applications. Finally, the use of the Algorithm, such as GA, is considered and reviewed in detail.

3-1. 序論


3-2. Philosophy

3-2 . 哲学

3-2-1. The Philosophy of Programmable Architecture

In parametric architecture, it is not difficult to design an aggregation of one type of component as long as its edges can touch. A surface can be easily populated with 3D objects. When one takes this design approach, it is imperative to consider 'what kind of performance one is looking for. Otherwise, a designer cannot achieve a constructive (functional/appropriate) solution.

3-2-1 . プログラマブルアーキテクチャの哲学


     Michael Weinstock has advocated these component-based and bio-inspired designs since the ’90s. 'Fitness Criteria' is the keyword used by Weinstock to evaluate these design methodologies. These methodologies, increasingly popular in architectural research, especially in the United Kingdom and the United States, have happened because of computer-aided calculations and design development. However, these design methods have existed in traditional forms as well. Architecture has a fixed scale as the human body size is immutable, creating a basic component module. In addition, component size is always constrained for convenience of construction. 


     The methodology used both in Component-based-design and Parametric-modelling enables biomimetic design. It consists, firstly, in preparing the original components like' the induced pluripotent stem cells (iPS cell)' and the global shape. This is analogous to the analogy in living organisms of a cell that has 'differentiated' from a single primary cell. The component is morphed to adapt itself locally to the global shape. Parametric Architectural methodology has only been recently developed with computer-aided design software (CAD) availability. With the increasing variety and generalisation of fabrication technologies, a greater variety of shapes can also be materialised. At the same time, parametric methodology and NC-fab solutions indeed enable free-form design and production. 


     In contrast to these parametric modelling systems, the local performance produced by the component is essential, and it is not a means of satisfying the global geometry in PA. The components are primarily identical, reacting locally to the global shape deformations. The developed component system is kinetic; thus, static-morphological differentiation is not needed as differentiation occurs through the programmable aspect of the architecture. Due to their visual similarities, PA (programmable architecture) is frequently wrongly taken as Parametric Architecture. These two approaches are slightly different at the design system level and in their physical modelling (architecture is used here to refer to both a system and a building). 


3-2-2 . Ubiquitous Architecture

Ubiquitous Computing is a computational model of human-computer interaction in which information processing has been thoroughly integrated into everyday objects and activities. More formally, Ubiquitous Computing is defined as

“machines that fit the human environment instead of forcing humans to enter theirs.” (J. York, 2004).

These ideas were proposed by Mark Weiser during his tenure as Chief Technologist of the Xerox Palo Alto Research Center (PARC) and raised the phrase “ubiquitous computing” around 1988.
    Both alone and with PARC Director and Chief Scientist John Seely Brown, Weiser wrote some of the earliest papers on the subject, mainly defining it and sketching out its major concerns (Weiser, 1991) (Weiser, 1996).

3-2-2 .ユビキタス・アーキテクチャー


と定義される。(J. York, 2004)

 ワイザーは単独で、あるいはPARCのディレクターでチーフサイエンティストのジョン・シーリー・ブラウンとともに、このテーマに関する初期の論文を書き、その大部分を定義し、主要な関心事を概説した(Weiser, 1991)(Weiser, 1996)

     Two aspects are particularly relevant. The first one is unawareness, i.e., that someone ’using’ ubiquitous computing engages many computational devices and systems simultaneously and may not necessarily even be aware that human is doing so in the case of ordinary activities and situations. Contemporary human-computer interaction models, whether command-line, menu-driven, or GUI-based (Apple Computer, 1995), are inappropriate and inadequate for the ubiquitous case. Contemporary devices that support this idea include mobile phones, digital audio players, radio-frequency identification tags, GPS, and interactive whiteboards. However, this suggests that the ‘natural’ interaction paradigm appropriate to fully robust ubiquitous computing has yet to emerge. 

 ここでは、その特徴を2点に整理して記しておく。1 つ目は無自覚性である。すなわちユビキタス・コンピューティングを「利用している」人は、ふつうの状況や活動中に多くの計算機デバイスやシステムを同時に利用している。しかし、自分が機械群を使用していることを、必ずしも意識していない点である。現代すでに普及している人間とコンピュータのインタラクションのモデルは、コマンドラインであれ、メニュー駆動であれ、GUIベースであれ(Apple Computer, 1995)、ユビキタスの場合には不適切であり、不十分である。部分的にでもユビキタスコンピューティングにつながる現代のデバイスも徐々に出現しつつある、例えば携帯電話、デジタル・オーディオ・プレーヤー、電波識別タグ(RFID等)、GPS、そしてインタラクティブ・ホワイトボード等である。しかし、この散逸的なデバイスのリストは、ユビキタス・コンピューティングに適した「自然な」インタラクション・パラダイムがまだ出現していないことを示唆しているともいえる。 

     The second aspect is pervasive computing. All ubiquitous computing models at the researcher’s core share a vision of small, inexpensive, robust networked processing devices distributed at all scales throughout everyday life and generally turned to distinctly common-place ends. For example, a domestic ubiquitous computing environment might interconnect lighting and environmental controls with personal biometric monitors woven into clothing so that illumination and heating conditions in a room might be modulated continuously and imperceptibly. Another common scenario posits refrigerators ‘aware’ of their suitably tagged contents, able to both plan a variety of menus from the food on hand and warns users of stale or spoiled food. (Refer to Sakamura, 2007 and Wikipedia).


     Cooperative research within the architectural field could be taking place in several organisations. Firstly, Dr Sakamura of the University of Tokyo is to enable any everyday device to broadcast and receive information (Sakamura, 2007). Secondly, MIT has also contributed significant research in this field. Notably ’Things That Think Consortium’ directed by Hiroshi Ishii, Joseph A. Paradiso and Rosalind Picard at the Media Lab and the CSAIL(MIT Computer Science and Artificial Intelligence Laboratory) effort known as Project Oxygen (MIT-Media-Lab, 2007). 

 実は、このユビキタスコンピューティング概念と建築学の領域横断的な研究が、いくつかの組織でおこなわれている。例えば、例のうちの一つとして東京大学の坂村博士はコンピュータの世界から、日常のあらゆるデバイスが情報の発信・受信を可能にすることを目指した研究を行っている (坂村, 2007年)。二つ目に挙げるとすれば、マサチューセッツ工科大学はこの分野でも重要な研究を行っており、特にMITメディアラボのThings That Thinkコンソーシアム(石井 裕、Jジョセフ A. パラディソ、ロザリンド・ピカードが指揮)や、プロジェクトオキシジェンとして知られるCSAIL(MITコンピュータ科学と人工知能研究所) の取り組みなどがある。(MIT-Media-Lab, 2007年) 

     This project defines architecture as an intelligent machine that integrates several computers dedicated to sensing-calculating-actuating, capable of decision-making, to produce an interactive interface. The proposal uses built-in computational systems, such as various kinds of sensors (especially in this thesis, light sensors) and RFID tag technology from behind walls to make architecture interactive.  Radio-frequency identification (RFID) is a technology that uses radio waves to transfer data from an electronic tag called an RFID tag or label attached to an object through a reader to identify and track the object.

 このプロジェクトでは、アーキテクチャを知的機械、即ち感知・計算・動作によって自らオーガナイズ可能なコンポーネントの集合体と定義する。インタラクティブなインタフェースもつ本提案では、各種センサー(特に本論文では光センサー)やRFIDタグ技術などの組み込み、建築物は壁の裏から、外の状況を取り込む。RFID(Radio-frequency identification)とは、電波を利用して、物体に取り付けられたRFIDタグやラベルと呼ばれる電子タグからリーダーを介してデータを転送し、物体を識別・追跡する技術である。 

     These technologies are used not only for sensing inputs but also as evaluators to decide the effectiveness of this architectural system to implement a ‘feedback loop’. Several study methods in this thesis will examine how kinetic architecture can be more efficient than static architecture and how to control the architectural machine to provide kinetic-interactive architecture. (For example, the illumination experiment’s detail is described) The tools, especially Arduino (hardware) and Processing (software) will be discussed.


     The goal is to have built-in computational flexibility in the building in the first instance so that the system can achieve any required change through a software update. It will be necessary to think more about the appropriate type of technologies for the four hierarchical levels defined earlier. Is the same kind of technology used in each of the four levels? Otherwise, what functions would we like the Room to have, and how will these “inform” the higher levels? 

 目標は、まず建物に計算機としての柔軟性を組み込み、必要な変更があればソフトウェアのアップデートで実現できるようにすること。先に定義した4つの階層レベルに対して、どのようなタイプの技術が適しているかをより深く考える必要があるだろう。4 つの階層のそれぞれに同じ種類の技術が使われるのか?そうでなければ、「部屋」にはどのような機能を持たせ、それをどのように上位階層に「伝える」のか。

3-2-3 . Programmable Matter for Architecture

The field called 'programmable matter' (Toffoli, 1991) is highly suggestive. Depending on the Scale, there are several solutions to realize this; one is material-based programmable matter, such as complex fluids, metamaterials, and shape-changing molecules. Others are robotics-based approaches, such as modular robotics and claytronics. When focusing on the molecular level, such as a liquid crystal display, or an established programmable matter example, the individual units of the ensemble can compute—their computation results in a change in the ensemble's physical properties by applying a current or voltage.

3-2-3 . 建築のためのプログラマブル・マター

 主に応用コンピューティングの研究分野の「プログラマブルマター」(Toffoli, 1991)と呼ばれる分野は、本研究にとって非常に示唆的である。この概念を実現するためのソリューションは、スケールによっていくつか存在する。ひとつめは材料ベースのプログラマブルマターで、複雑な流体、メタマテリアル、形状変化する分子などのメカニズムによるものである。また別のアプローチとして、モジュラーロボティクスやクレイトロニクスなど、ロボティクスをベースとしたアプローチもある。すでに確立されたプログラマブルマターの代表例には、液晶ディスプレイがある。全体効果を個別のユニットの操作として、計算することができ、それらの計算の結果は、電流または電圧をかけることによって、液晶の分子レベルの物理的性質の変化としてアウトプットされる。

     Researchers in this field also pointed out that "scale is one key differentiator "(Toffoli, 1991). For example, if a designer wants to use fabric for cloth, its grid (density of fabrics) should be smaller than a person’s scale, and if it wants to keep ordinary functions, such as air for insulation, this homogeneous grid should be smaller than roughly 10mm to avoid circulation of the air. 

 この分野の代表的研究者のトフォリは、「スケールは重要な差別化要因である」(Toffoli, 1991)とも指摘している。例えば、デザイナーが洋服を作るために布を使いたい場合、そのグリッド≒織物密度は人のスケールよりも小さくなければならない。そして衣服が、断熱の機能を持つためには、布の表面グリッド≒織物密度は、空気の完全な循環を避けるために大体10mmよりも小さくなければならない。 

     Hence, in the architectural field, ‘programmable matter’ has to have architectural meaning, in particular here, this proposal will take a robotic kinetic methodology which means this project fits below the modular robotics approach. A typical component scale is roughly defined by a 1000mm*1000mm*1000mm three-dimensional grid, and the whole fabric will be 100m*100m to cover an urban patch as a fabric, because of its architectural function = as a structure which can integrate people.


     Listed below are potential issues. Firstly, its actuator will be affected critically depending on the scale. In the case of the Okayama competition as monumental architecture, the actuator set artificial muscles with a shape memory alloy. The strength of those muscles was muscular enough for the 1/10 model, while the strength was not muscular enough for the actual 1/1 scale, and there was no thicker wire. This material issue resulted in a hold on this project practically. Secondly, a user (human) already has his/her scale; one's height is around 1600mm, and hands can grasp 400mm, but they cannot catch the earth or an atom. If this proposed fabric is used for furniture, the component scale needs to be smaller than a human's body.


3-3. Engineering Tools 

3-3. 工学的方法 

3-3-1. Required Hardware 

3-3-1. 必要とされるハードウエア 

3-3-1-1 Actuator Properties, and Selection

As mentioned above, there is a new scientific field called 'programmable matter', and various methods exist to realise this concept. Depending on the scale, the methods include using material and scientific degeneration or deformation by mechanical mechanisms. The aim is to ensure reversibility by changing physical properties such as shape, density, elastic modulus and optical properties. 

     The programmable architecture proposed in this paper will be closely related to this programmable matter. By borrowing the concept, this research made hardware homogeneous parts and arrays with a grid-like two-dimensional (or three-dimensional) spread. The output material properties are geometrical shapes and various physical properties such as material strength, sustaining force, time response, size, weight, and maximum speed. 

     This way of thinking is familiar in construction and architecture. As a simple example, there are transparent, translucent and milky white types of glass, Architects and or designers place in critical locations according to optical requirements. This intent is commonly referred to as design, similar to the concept mentioned above if it is arranged dynamically. (In recent years, there are also mechanisms to control the transparency of the glass employing electricity.)

3-3-1-1 アクチュエータの特性と選択




     An early study model of the component for the PA, which will be presented with photographs in another section of this paper, was a repeated linkage of standard tensegrity units. The intention was first to have a soft structure that allowed deformation. In addition, the actuators were defined as artificial muscles, so they could only deform in one direction and then return to their original shape. Therefore, he got the idea to add another vertical member, although not a pure tensegrity structure, to make this two-dimensional spreading mechanism envelope more stable (Sterk, 2006), by referring to Sterk's paper. In his paper, this vertical member is used as a linear actuator, which controls the wire tension of the component, i.e. the internal force.

     Subsequently, the mechanism proposed by Stark et al. was modified for three reasons. First, the fabric could not hold its shape on its own when the power was off, as this erection was spread over a two-dimensional surface. Second, it was problematic in terms of safety in a setting where the deformation was more significant when the actuator was not switched on; and third, the fabric could not maintain its shape when the power was off. As mentioned earlier, for safety reasons, even if active control was used, a mechanism was needed to make the loss of power the default when the power supply was lost. Also thirdly, in the course of the studies conducted before this paper (Hotta, K 2008), the actuator was a tensile wire, which was followed. Thus, the primary use was determined.

     There are several other improvements unique to this paper. The actively deforming member in the previous article was replaced by a pull spring. Furthermore, this proposal added separate actuators to the several tensile wires designed to bend in various directions. The policy was to control these using a microcontroller, Arduino.

 本論の別の節で写真とともに提示されるが、PAのためのコンポネントの初期のスタディー模型は、よくあるテンセグリティーの単位を繰り返し連結したものであった。その意図はまず変形を許容する柔らかいストラクチャーであること。また、アクチュエイターを人工筋肉と定めていたので、変形は一方向のみで、その後は自身で元の形に戻る機構が必要だったからである。そこで、スターク氏の論文を参考にして、純粋なテンセグリティー構造ではないが、もう一つの垂直部材を追加し、この二次元に広がる機構ーエンベロープをより安定させようというアイデアを得た(Sterk, 2006)。彼の論文では、この垂直部材は線形のアクチュエータとして使われており、これがコンポーネントのワイヤーの張力、即ち内力をコントロールしている。

 その後、下記の3つの理由でスターク氏らの提案した機構を、さらに改造した。1つ目に、2次元面状にこの架構物を広げてゆくと、電源オフの状態ではファブリックは自力で形を保つことができなかった。2つ目にアクチュエーターの電源がない場合に変形が大きくなる設定で安全性の意味で問題があった。先述のように、安全性の理由からアクティブ制御をするにしても電源喪失時をデフォルトとする仕組みが必要であった。また3点目に本論の前に行ったスタディーの過程で(Hotta,K 2008)、アクチュエータは引張ワイヤーであったのでそれに準じた。こうして、基本的な使用が決まっていった。


     As noted below, the author reviewed the performance of the actuator properties, referring to the criteria described in Huber’s paper (J. E. Huber et al. 1997). 

後述するように、筆者は 1997 年にフーバーらによって表されたアクチュエータを比較する論文の性能指標に照らし合わせて、アクチュエータの特性の性能を検討した。(J. E. Huber等, 1997) 

- Highest power and displacement


Fig.3-3-1-1,1: Actuation Stress versus Actuation Strain for Various ActuatorsAs referred above, the paper assessed the Nickel-Titanium alloy has the highest value of volumetric power at low frequency and has the highest force and displacement ratio compared with the other means of actuation. (Refer to The selection of mechanical actuators based on performance indices)

- Characteristic of the selected shape memory alloy

This wire, also called such as muscle wire, contracts like muscles when electricity is applied. The ability to shorten in length by approximately 5% occurs because both nickel and titanium atoms are present in the alloy in almost exactly a 50% 50% ratio which dynamically changes their internal structure at specific temperatures. 

“The actuation mechanism in shape memory alloys is a temperature-induced phase change which produces a significant shear strain on heating above the transformation temperature. This effect has given rise to various applications (Duerig 1990). “(J. E. Huber, N. A. Fleck and M. F. Ashby, 1997)

“High values of σmax (up to about 7×108 N m−2) and εmax (up to about 7×10−2N m−2) can be achieved in nickel-titanium alloys of approximately equiatomic composition.“(J. E. Huber, N. A. Fleck and M. F. Ashby, 1997)

The movement occurs through an internal "solid-state" restructuring in the silent, smooth, and robust material. One of the possible applications is actuation using electrical heating. The spring can become a lightweight linear actuator requiring no other moving parts and has been used in robotics, pumps, window opening, and locks. Many of the tasks done with small motors or solenoids can be done with these parts, which are smaller and less expensive.

- 選定した形状記憶合金の特性


「形状記憶合金の動きのメカニズムは、変態温度以上の加熱で大きなせん断ひずみを生じる温度誘導相変化である。この効果により、様々な応用が生まれている」(デュリング ,1990年)」(J. E. フーバー,他 1997年)

「ほぼ等原子構成のニッケル-チタン合金において、σmax(最大応力)(最大約7×108N m-2)とεmax(最大たわみ)(最大約7×10-2)の高い値を達成することができる。」(J. E. フーバー,他 1997年)


     Smart 'NiTi' Spring (Manufacturer: RVFM) has been selected as an actuator of this thesis' physical model. It is a 5.5mm external diameter spring made from Nickel-Titanium alloy, which has been heating treated to provide memory behaviour. Length is 20mm when closed, and weight is 1.1g. From the manufacturer's product description, at room temperature, the spring is soft enough to pull out to approximately 150mm by applying a small amount of force. When heated to 70°C by passing an electric current through, the spring contracts to its original length with a pulling force equivalent to lifting a 0.5kg weight.

     The main properties of shape memory alloys are listed below. Further details can be found in the technical data sheets of the manufacturers.

 本論文の物理モデルのアクチュエータには、「スマート “NiTi” スプリング」と呼ばれるニッケルチタンワイヤー(製造メーカーRVFM)が採用されている。外径5.5mmのニッケルチタン合金製のスプリングで、熱処理により記憶特性を持たせている。 長さは閉じた状態で20mm、重さは1.1g。メーカーの商品説明では、常温では小さな力を加えると約150mmまで引き出せる柔らかいスプリングが、電流を流して70℃に加熱すると、0.5kgの重りを持ち上げるのに匹敵する牽引力で元の長さまで収縮する、とある。


- Cycle Operation


     The physical model created in this experiment uses a sub-spring (bias spring) to reset the forces. The sub-spring is also used to reset the primary shape memory alloy (wire) and to stretch the wire during the low-temperature phase.

     Suppose the primary wire is not subjected to a force in the opposite direction when it cools down. In that case, it has little or no force to return to its original shape automatically and will hardly contract when heated again as it is. In other words, it cannot be used as a recursively stroking actuator. The stresses determine the movement of the actuator in the sub-spring. This opposing force to extend the wire for cyclic action is called the 'bias force'. In this physical model, the bias force is constantly exerted on the primary wire by the spring, and each time the direct wire cools, this force returns the wire to its original state. This mechanism is essential for shape memory alloys to operate cyclically.



Fig.3-3-1-1,2: Normal Bias Spring(Refer to “Data Sheet of the Smart ‘NiTi’ Spring”, rapid online)
図.3-3-1-1,2 線形バイアス・スプリング(参照  “Data Sheet of the Smart ‘NiTi’、rapid online)
Fig.3-3-1-1,3: Shape memory alloy (NiTi) in the physical model.The picture shows the connection joints and each part, SMA, loads, membrane, and wire.
図.3-3-1-1,3: 物理モデル、形状記憶合金(NiTi)を用いて写真は物理模型の接合部、圧縮材、SMA、メンブレン、ワイヤーを示す。

3-3-1-2 How to Sense 

3-3-1-2. どうやって測るか 

Here, the measure has two meanings. The first is a sensor to return values to the feedback loop, and the second is a sensor to measure the performance of this construct. The former needs to be continuously measured, depending on the definition of the system. Another significant issue is where to place it. For the latter, it is necessary to look at the correspondence with the illuminance system, so it needs to be calibrated with special tools. The brief introduction here can be applied to both, depending on the ingenuity.

     For environmental stimuli, such as those in basic building environmental engineering, the sensors in this Arduino development environment correspond almost precisely to each other. Therefore, one can measure almost anything by replacing or adding any sensor.



Fig.3-3-1-2,1: The Screenshot of Sensing with microcontroller Arduino (Auther)This is a virtual interface of Arduino. Using serial transfer, the sensor will give us certain values in real-time.

3-3-2 . Required Software

Consideration must be given to three aspects of the software – the control program, the human interface and multiple user participation. The control program has to manage the conflict between individual users and the central control system. A two-way system with an emergent element with input from the bottom up and a central control element with input from the top down is proposed. The superiority or inferiority of each element is set at a threshold or weighted. Both reflections on the environment and the totality of local decisions result in the global shape.
      Each component’s control system is a simple piece of code calculated locally to reduce the overall amount of system calculations. Each component is connected with its neighbours so that they can make a network. (Note; To be added later, physical connectivity is not dependent on electrical connectivity, as it is wireless and independently computable.)

3-3-2 .必要とされるソフトウェア



     An example of this program was prepared for the Okayama-LRT competition 2010 by K.Hotta and A.Hotta (Hotta, K  and Shari*3 et al. 2010). Using spring systems, the white circles (= Represent functional space as agents) were continually changing their position depending on the weight, in other words, attracting and repelling forces. For example, according to the table, the square and a parking space should be closed because of traffic convenience, while the bus stop and restroom should be distant to prevent noise. In this program, a function is drawn as a white circle, and its influences are visualised as lines which will converge at balance points. The spring system is simple, yet it can optimise the problem in terms of distance.

 このプログラムの一例は、2010年の日本岡山LRT駅の設計競技会で著者およびチームshari*3 によって作成された。スプリングシステムを用いて、白い円(=機能空間を表象するエージェント)が重さ、つまり引き合う力と反発させる力に応じて、絶えず位置を変化させる。例えばこの表から、交通の利便性を考慮して広場と駐車場は近く、バス停とトイレは騒音防止のために離れていることが望ましいことがわかる。このプログラムでは、関数は白い円として描かれ、その影響はバランスポイントで収束する線として視覚化される。スプリングシステムはシンプルでありながら、その距離の問題を最適化することができる。

Table.3-2-2,1 The attracter matrix for Okayama LRT station competition (Refer from Auther and Shari*3, OkayamaLRT_table
表.3-2-2,1; 岡山LRT駅コンペティションのプログラムのための、アトラクターマトリックス(引用、著者 + Shari*3, OkayamaLRT_table ) 

     The second aspect which needs to develop here in the software is the human interface. In processing, a famous plug-in library makes a GUI controllable by a mouse called ‘control-p5’. It is using this tool. Users can control various parameters through an intuitive interface. The architecture allows user participation in controlling the architecture’s character, such as the roof direction here. It is possible to develop this interface further to be wireless by using touch OSC. TouchOSC is a modular OSC and MIDI control interface for iPhone / iPod Touch / iPad. The UDP protocol supports sending and receiving Open Sound Control messages over a Wi-Fi network. It supports CoreMIDI and the Line 6 MIDI Mobilizer interfaces for sending and receiving MIDI messages.)

 ここで開発すべきソフトウェアの第二の側面は、ヒューマンインタフェースである。プロセッシングでは、「control-p5」というマウスで操作できるGUIを作るプラグイン・ライブラリが有名である。このツールを使って、直感的なインタフェースをパラメトリックに制御することができる。ここでは屋根の向きなど、建築のキャラクターをユーザー参加型でコントロールできるようにした。このインターフェースをさらに発展させ、タッチOSCを用いたワイヤレス化も可能である。TouchOSC は、iPhone / iPod Touch / iPad 用のモジュラー OSC と MIDI コントロールインタフェスである。UDPプロトコルを使用し、Wi-Fiネットワーク上でのOpen Sound Controlメッセージの送受信をサポートする。MIDIメッセージの送受信にはCoreMIDIとLine 6 MIDI Mobilizerインタフェイスをサポートする。 

     The third aspect of the software to be considered is an agent-based system for multiple user participation. Inputs are made through environmental stimuli but also through human participation as well. The environmental stimuli are measured via sensors while the human input is transferred via the Internet and p2p protocols through the above interface technique.


3-3-2-1. Rhinoceros_3 Dimensional Modeling Software

Rhinoceros is a two and three-dimensional CAD (Computer Aided Design) software package developed by Robert McNeel & Associates in 2000. It is commonly used to draw free-form surfaces for architectural computer graphics modelling and other product design fields. A key feature is NURBS (Non-Uniformed Rational Basis Spline, NURBS defines forms by control point): this technology was developed in French car engineering in the 1950s. This flexibility meant that one could define every property of a curved surface by a 3-dimensional coordinate system. Another function that facilitated its broad use was its support of many formats for export and import. It helps in adapting drawings to other CAD software and documentation.


 ライノセラスは、2000年にRobert McNeel & Associatesによって開発された2次元および3次元CAD(コンピュータ支援設計)ソフトウェアである。建築CGモデリングだけでなく、製品設計の分野でも自由曲面のモデリングによく使用される。1950年代にフランスの自動車技術で開発されたNURBS(Non-Uniformed Rational Basis Spline、制御点によって形状を定義する)技術が大きな特徴である。この柔軟性は、曲面のあらゆる特性を3次元座標系で定義できることを意味している。また、エクスポートとインポートの際、様々なフォーマットをサポートしていることも広く使われるようになった要因の一つである。これは、他のCADソフトやドキュメントに図面を適合させるのに便利である。

Fig.3-3-2-1,1: The Screenshot of Rhinoceros (Author)This is an actual interface of the Rhinoceros.

3-3-2-2. Grasshopper_Visual Programming Tool

'Grasshopper' is a software plug-in for 'Rhinoceros' released in 2007. The developer is Robert McNeel & Associates, with David Rutten doing most of the development. A common use is graphical algorithm editing using a component-based interface which stores the algorithms. This thesis researcher adopted this technology as it allows several algorithms to be used dynamically and co-instantaneously. This tool facilitates dealing effectively with large data sets or in-shape simulations, which are very difficult to calculate by hand. It is also useful in facilitating environmental design analysis. For instance, sunlight simulation, wind simulation and thermal environment.

3-3-2-2. グラスホッパー_ビジュアルプログラミングツール

 「グラスホッパー」は、2007年にリリースされた「ライノセラス」用のソフトウェアプラグインである。開発元はロバート・マクニール & アソシエイツで、デイビット・ルッテンが開発の大半を担当している。一般的な使用方法は、アルゴリズムを保存する構成要素ベースのインタフェースを用いたグラフィカルなアルゴリズム編集である。この技術は、複数のアルゴリズムを動的に、かつ同時並行的に使用できることから採用された。これにより、手作業では計算が困難な大規模データや形状シミュレーションを効率的に処理することができる。また、環境設計の解析、例えば、日照シミュレーション、風シミュレーション、温熱環境などにも有効である。

Fig.3-3-2-2,1: The Screenshot of Grasshopper (Author)
図.3-3-2-2,1: グラスポッパーのスクリーンショット(著者)

3-3-2-3. Galapagos_ Metaheuristics Plugin

'Galapagos' is one of the components inside 'Grasshopper' in Rhinoceros. The developer is also Mr David Rutten, and it has been developing since 2010. This component commonly uses mathematical optimisation using an evolutionary solver (based on a Genetic Algorithm) and a simulated annealing solver. The key benefit here is the ease of use of the component. Optimisation solvers are difficult to script, especially for designers, but this one comes ready-made.

3-3-2-3. ガラパゴス_メタヒューリスティクス、プラグイン


Fig.3-3-2-3,1: The Screenshot of Galapagos (Auther) 

3-3-2-4. Kangaroo Physics_Physics Engine

'Kangaroo Physics' is the plug-in software for 'Grasshopper' in 'Rhinoceros'. Kangaroo is a Live Physics engine for interactive simulation, optimisation and form-finding directly within Grasshopper. A physics engine can calculate gravity mass, internal mass, velocity, friction and airflow within the model using a particle system. The particle system is an abstraction of the real world. The developer of this add-on is Mr Daniel. Piker. The manual suggests that users can use this plug-in for various optimisation, structural analysis, animation and more.'. However, it has a high level of corroboration, the simulation yielding approximately-similar results to real-world tests (Daniel, P. 2011).

3-3-2-4. カンガルーフィジックス_物理エンジン

 「カンガルーフィジックス」は、「ライノセラス」の「グラスホッパー」用のプラグインソフトウェアである。カンガルーは直接インタラクティブなシミュレーション、フォームファインディングを行うためのライブフィジックス・エンジンである。物理エンジンは、パーティクルシステムを使ってモデル内の重力質量、内部質量、速度、摩擦、気流を計算することができる。パーティクルシステムは実世界を抽象化したものである。このアドオンの開発者はダニエル・パイカー氏。マニュアルによると、このプラグインは「様々な種類の最適化、構造解析、アニメーションなどに使用できる」そうだ。しかし、シミュレーションは実世界のテストとほぼ同じ結果を得ることができ、高い裏付けを持っているとある(パイカー,D. 2011)。

Fig.3-3-2-4,1: The Screenshot of Kangaroo Physics (Auther) 
図.3-3-2-4,1: カンガルーのスクリーンショット(著者) 

3-3-2-5. Processing_Programimng Language 

Processing is an open-source programming language, and an integrated development environment (IDE) built for various types of designers. Casey Reas and Benjamin Fry started this project in 2001 at MIT. Common uses are for visual design and real-time visual feedback, and it works with simplified Java script. Other popular functions include the way it allows multiple input devices such as a mouse, a microphone and a camera. In addition, this environment allows OpenGL and GPL(General Public License).

3-3-2-5. プロセシング_プログラム言語

 Processingは、オープンソースのプログラミング言語であり、様々なタイプの設計者のために構築された統合開発環境(IDE)である。このプロジェクトは2001年に、MITの研究者である、キャセイ・レアスとベンジャミン・フライによって開発が開始された。一般的な用途としては、ビジュアルデザインやリアルタイムビジュアルフィードバックなどがあり、簡略化されたJavaスクリプトで作動する。また、マウスの他にマイクやカメラなど複数の入力デバイス、加えてOpenGL、GPL(General Public License)等も使用できることが人気の秘密である。

Fig. 3-3-2-5,1: The Screenshot of Processing (Author at 2013)
図.3-3-2-5,1: Processingのスクリーンショット(著者 2013年)

3-3-2-6. Arduino_Microcontololler and Development Environment

Arduino is an open-source software and hardware microcontroller. Arduino was started in 2005 as a project for students at the Interaction Design Institute Ivrea in Ivrea, Italy. This micro-computer can be controlled by external software in a host computer, such as Processing or Adobe flash. Because it is open source, anyone can assemble the hardware for this microcontroller based on the design information in the easily usable graphical layout editor (such as EAGLE). In this experiment, Researcher chose Arduino mega for two points. One is the number of 52 I/O pins,  other is the extensibility of the external power supply.

3-3-2-6.  アルデュイーノ_マイクロコントローラ開発環境

 アルデュイーノは、オープンソースのマイクロコントローラとその開発環境である。 Arduinoは、2005年にイタリアのIvreaにあるInteraction Design Institute Ivreaの学生のプロジェクトとしてスタートした。このマイクロコンピュータは、プロセシングやアドビ・フラッシュなどのホストコンピュータの中の外部のソフトウェアによって制御することができる。オープンソースであるため、簡単に使えるグラフィカル・レイアウト・エディタ(EAGLEなど)の設計情報をもとに、このマイクロコントローラのハードウェアを誰でも組み立てることができる。今回の実験では、52本のI/Oピン数と外部電源の拡張性を考慮してアルデュイーノ・メガを選択した。

Fig.3-3-2-6,1: The Screenshot of Arduino and ArduinoMega BoardThe interface of Arduino, and the picture of the Arduino Mega board (Author, pics from
図.3-3-2-6,1: アルデュイーノのスクリーンショットとアルデュイーノ・メガArduinoの実際のインターフェースとArduinoMegaボードの写真である。(著者、写真から) 

3-3-2-7. Traer physics_ Physics Eng3-3-2-7. Traer physics_ Physics Engin

Traer physics is a simple particle system physics engine for Processing, and the developer is Dr Traer Bernstein. The purpose of adopting the technology is to make particles, apply forces and calculate the positions of particles over time in real-time. Other reasons are open source.

     This plug-in consists of some parts to consists of  'ParticleSystem', which takes care of gravity, drag, making particles, applying forces and advancing the simulation. Point one is 'Particles' - they move around in 3D space based on forces you've applied to them. Point two is 'Springs' - they act on two particles. The last is 'Attractions' - which also act on two particles. New features of the current version are a modified Euler integrator chosen, besides the previous algorithm ware Runge-Kutta. That makes users able to make custom forces and remove springs and attractions. (Reference from

3-3-2-7. トレア・フィジックス_物理演算エンジン

トレア・フィジックスは、プロセシング用のシンプルなパーティクルシステム物理エンジンで、開発者はTraer Bernstein博士です。このツールの採用の目的は、パーティクルを作り、力を加え、時間経過によるパーティクルの位置をリアルタイムに計算することです。その他の理由としては、オープンソースであることが挙げられる。


3-3-3 . Brief Introduction of Genetic Algorithm

This thesis is not only about the Genetic Algorithm (GA) but also about suggesting a modified hard-software system for higher adaptation. If this algorithm is focused on too carefully, it will become a whole other paper. Therefore, it is explained only in brief. 

“A GA is a search heuristic that mimics the process of natural selection. This heuristic (called a metaheuristic) is routinely used to generate useful solutions to optimisation and search problems.” (Mitchell, 1996)

 GA is included in the upper hierarchy evolutionary algorithms (EA), which generate solutions to optimisation problems encouraged by natural evolution, such as inheritance, mutation, selection, and crossover. In bioinformatics, phylogenetics, computational science, engineering, economics, chemistry, manufacturing, mathematics, physics, pharmacometrics and various other fields, GA has been applied.

3-3-3 . 遺伝的アルゴリズムの簡便な概要

 本論文は、より高度な適応性を実現するために改良型ハード・ソフトウエア・システムを提案することを目的としており、遺伝的アルゴリズム(Genetic Algorithm、以下GA)というアルゴリズムに焦点を当てすぎると、論点がずれかねないため簡単な説明に留める。

「GAとは、自然淘汰のプロセスを模倣した探索ヒューリスティック(≒発見的手法)である。この手法(メタヒューリスティックと呼ばれることもある)は、最適化問題や探索問題に対する有用な解を生み出すために日常的に使用されている。」(ミッチェル, 1996) 

 GA は上位階層の進化的アルゴリズム (evolutionary algorithms ; 以下EA) に含まれる。継承、突然変異、選択、交叉などの自然進化のロジックやアナロジーを用いて、最適化問題の解を生成する。バイオインフォマティクス(生物情報学 )、系統樹、計算科学、工学、経済学、化学、製造、数学、物理学、ファーマコメトリクスなど様々な分野でGAが適用されている。

3-3-3-1. History of Genetic Algorithm

In this section, evolutionary algorithms, including GA, are briefly described. GA with an Evolutionary solver is not new today in 2013. The first reference to this field is indeed Charles Darwin. However, Lawrence J. Fogel introduced this to the computer field in the 1960s with the landmark paper “On the Organization of Intellect”. Then in the early 70′s, it is said that Ingo Rechenberg and John Henry Holland (1975, Michigan University) developed it. Until Richard Dawkins’ book ‘The Blind Watchmaker’ in 1986, Evolutionary Computation didn’t attain popularity with the layperson, only with the programmer world. In this book, he developed a small program called ‘Biomorph’, a word invented by Desmond Morris, that generated a seemingly endless stream of body-plans artificial selection. Since the 1980s, the diffusion of personal computers has enabled individuals to apply evolutionary principles for personal projects without resources such as government funding. They have since made it into common parlance. 

3-3-3-1. 遺伝子アルゴリズムの歴史

 ここでは、GAを含む進化的アルゴリズムの歴史を簡単に説明する。進化的ソルバー(Evolutionary Solver)を用いたGAは、2013年の今日ではそう新しいものではない。この分野への最初の言及は確かにチャールズ・ダーウィンであるが、フォーゲルが「組織知能について(On the Organization of Intellect )」 という画期的な論文でこの分野を初めてコンピュータへと持ち込んだ。その後、70年代前半にインゴ・レチェンバーグとジョン・ホランド(1975年、ミシガン大学)が発展させたと言われている。1986年にリチャード・ドーキンスによって 「盲目の時計職人」が出版されるまで、進化論的計算は一般の人には普及しておらず、プログラマーの世界でしか普及していなかった。この本の中で、デズモンド・モリスが考案した「バイオモルフ」という小さなプログラムが開発され、ボディプランの人工淘汰が無限に続くかのように生成されるようになった。1980年代以降、パーソナルコンピュータの普及は、政府のような大きな団体の資金援助なしで、個人が個人的なプロジェクトにこの原理を適用することを可能にした。そして、この進化原理は、一般的な言葉として使われるようになった。

3-3-3-2. General Strong and Weak Points of Genetic Algorithm

Firstly, four remarkable strengths of GA are discussed. Some of them are unique amidst the plethora of computational methods.

1) GA, including other evolutionary algorithms, is remarkably flexible. This can tackle various problems, such as combinatorial optimisation and NP-hard. There are indeed classes of issues beyond the reach of even the best solver implementation, but it is mostly rare to come across these sorts of problems. 

2) The other benefit of this solution is that it is lenient for the user. It does not require special knowledge of the objective (evaluation function), even if poorly formulated. Usually, when using another algorithm, the user needs to know whether an objective function is differentiable or whether the fitness landscape has single or plural mountains. But GA is well-automated to overcome these difficulties. The minimum requirement is the ‘order set’ of the objective function, and the searching space has to have a ‘topology’. 

3) In GA, even intermediate answers can be yielded practically any time because its run-time process is progressive. Unlike several dedicated algorithms, GA output is a never-ending stream of answers. Though the newer answers tend to have higher quality, they can provide the answer nonetheless. A premature run can bring a harvest of sorts which could be called a result. The above feature could be a great benefit to real-time usage.

4) GA, including its evolutionary solvers, are manipulate-able by the user. There are several opportunities for interaction between the algorithm and human: user or controller because the run-time process is highly transparent and browsable. It is important to note that the GA and its solver can be coached by human intelligence, sometimes interrupting the process even in the middle of its process. Therefore it can be goaded into exploring not only standard optimum answers but also sub-optimum branches if needed.

3-3-3-2. 遺伝的アルゴリズムの一般的な長所と短所


1) 他の進化的アルゴリズムも含めて、GA は驚くほど柔軟である。組合せ最適化、NP困難問題など、様々な問題に対応できる。確かに、どんなに優れたソルバー(解決法)でも解に届かない問題もあるが、この種の問題に出くわすことは稀である。


3) GAでは計算実行時間のプロセスが進歩的であるため、計算の途上の答えであっても実際的には使用できる。多くの専用アルゴリズムとは異なり、GAの出力は、新しい答えはより高い品質を持つ傾向があるものの、絶え間なく答えの流れを提供できる。そのため、早期の実行結果でもそれなりの結果と呼べるような収穫をもたらすことができ、これは、実時間で使用するうえで、大きなメリットとなる。

4) 進化的アルゴリズムを含めて、GAはユーザーによって途中操作可能である。実行時のプロセスが明らかで閲覧可能であるため、アルゴリズムと人間:ユーザーまたはコントローラの間で多くの相互作用の機会がある。重要なことはアルゴリズムがプロセスの途中であっても、人間等の他の知性によって指導されることでプロセスを中断できることである。したがって必要に応じて、最適な解だけでなく、代わりとなる枝を探索するように誘導することができる。 

Secondly, as every approach has drawbacks and limitations, two weak points, i.e. disadvantages, are raised here. 


1) Evolutionary Algorithms, including GA, are slow; it takes a long time to get a beneficial result, although it depends on the settings, such as fitness pressure. Chiefly complicated setups that require a long time to solve a single iteration will quickly run out of hand, Moreover, it is not unheard of that a single process may run for more than a day. According to Davit Rutten, the creator of Galapagos, it needs at least 50 generations of 50 individuals each, which is almost certainly an underestimate unless the problem has an undeniable solution. Then he would take a two-day runtime. For example, this four components iteration needs 3 minutes to get an almost ultimate result. 

1) GAを含む進化型アルゴリズムは淘汰圧などの設定にもよるが、有益な結果を得るまでに時間がかかる。特に、1回の反復処理に長時間を要する複雑な設定は、すぐに手詰まりになり、1回の処理に1日以上かかることも珍しくない。Galapagosの開発者であるDavit Ruttenによれば、問題が非常に簡単な場合を除いて、たいていの場合は50個体ずつ少なくとも50世代は必要である。その場合、およそ2日間の実行時間が必要となろうとのことであるが、これはたいていの場合はこれよりも多くかかる。例えば、このPAで使用したコンポーネントの反復計算において最終的な結果を得るには約3分必要である。 

2) Evolutionary Algorithms, including GA, do not pledge a solution to the user. Except when a predefined ‘good-enough’ value is specified, the process will tend to run indefinitely. The technique requires a better objective function (evaluating function). When evaluating functions are badly defined, GA’s solver may not be able to recognise the answer, the best optimal solution or simply never reach it. 

2) GAを含む進化的アルゴリズムは、ユーザーに正しい解を必ず約束するものではない。あらかじめ「これで十分」という値が指定されている場合を除き、プロセスは無限に続く。ここで要求される技術は、より良い目的関数(または評価関数)を設定することである。評価関数の定義が悪いと、GAのソルバーは答え、つまり最適解を認識できないか、単純に解にたどり着けない、ということがままある。 

3-3-3-3. The Basic GA Procedure 

Here, the brief procedure of the Genetic Algorithm (GA) will be explained. There are broad considerations and chronicles in both fields of computation and biology or even philosophy referring to these topics. However, here, these are briefly touched on because this thesis is not about GA itself, but an applied system. 

3-3-3-3. GAの基本的な手順 


Fig.3-3-3-3,1 Basic procedure of a Genetic Algorithm 
図.3-3-3-3,1 遺伝的アルゴリズムの基本的な手順

3-3-3-3-1. Step-1) Generate the Initial Group 

At the initial point, there is nothing inherent from the previous session when a GA starts. Initial generation, called generation-0, has to be generated, thus, the common way is to randomly spread individuals on the fitness landscape. This inevitably is guesswork. Since all the genomes in generation 0 were picked at random, it is quite improbable that any of them will have hit the rewards. 

     Basically, here the number of genomes is equal to the number of dimensions of the fitness landscape. When the user increases the number of genomes, it dramatically reduces the probability of accidental good luck, such as achieving the skirts of the highest mountain, which has optima on the top. Otherwise, when not enough diversity is provided in generation zero, they can easily fall to local optima, and then it cannot achieve a true optima answer. Picking the best-performing genome from the initial population is not enough, it needs to breed the best-performing genomes in Generation zero to create Generation One. The contiguous generations are created from previous generations using a combination of breeding and selection, and mutation algorithms.

3-3-3-3-1. ステップ-1) 初期グループの生成 



3-3-3-3-2. Evaluation

When the initial candidate genomes (when the first iteration) or inherent genomes (for returning cycle) are bred, their offspring will appear somewhere in the intermediate model space. This model space is commonly represented as a 3-dimensional graph; fitness landscape. As the solver starts, it has no idea about the actual shape of the fitness landscape. So the second step of the solver is to populate model space with a random or not random collection of individuals and their genomes, thus exploring fresh ground. 

3-3-3-3-2. 評価


Fig.3-3-3-3-2,1 Fitness landscapeThis is the typical expression of a Fitness Landscape, where the vertical axis shows fitness, and the horizontal two axes’ show projected space. In this space, every dot is distributed into this rectangle space, but it is unique. It is possible to specify the exact place only when genomes are only two, as two changeable variables; one axis indicates gene-0, and the other indicates gene-1 because the number of genomes is equal to dimensions.
図.3-3-3-2,1 フィットネス・ランドスケープ(適応度地形) これは、フィットネスランドスケープの典型的な表現で、縦軸は適応度、横2軸は解の投影空間を表している。この空間では、すべての点(=個体)はこの長方形の空間に分布するがそれぞれが独立した個体である。ここではゲノムの数が次元と等しいので、一方の軸はゲノム0、もう一方の軸はゲノム1を示す。したがって、ゲノムが2つしかない場合のみ、変化する変数として正確な位置を指定することができる。

     However, usually, the number of genomes is more than two, so the actual field space will be more than three dimensions, which is difficult to show on paper, even in a 3-dimensional space. The common way to represent this space is to project it into 3-dimensional spaces (such as fig 3-3-3-3-2,1). Every combination of genomes results in a specific point in space and indicates particular fitness, as high or low in the Z direction index. The algorithm attempts to search for the highest peak in this landscape. This is called optimum. 


     As fig 3-3-3-3-2,1 shows as coloured dots, once the system knows how to fit every genome is it can make a hierarchy from fittest to lamest. Essentially the system is searching for a ‘high place’ (When searching for maximum value on the evaluation function, otherwise ‘low place’ instead) in the landscape. It is a reasonable assumption that the higher genomes are closer to potential high-ground than the low ones. Therefore the system will kill off the worst performing ones and focus on the remainder, however, is the next step; selection.

     In terms of 'Fitness function', ‘Fitness’ often causes great distress in biology, having been discussed for a long time. Generally, “Fitness is the result of a million conflicting forces “or “Evolutionary Fitness is the ultimate compromise. “ But the formal definition of ‘Fitness’ is “If p is a probability that an organism at the egg stage will reach adulthood, and e is the expected number of offspring that the adult organism will have, then the organism’s overall fitness is the product pe ”(Sober, 2001).



     However, Instead of accurate discussion in biology, here, ‘fitness’ is just focusing on the computational side. At least in Evolutionary Computation, fitness is a straightforward concept. Fitness, also fitness function is a particular type of objective function used to summarise, as a single figure of merit, how close a given design solution is to achieving the set goal (Nelsona et al., 2009). In general terms, fitness is how close the user (here, user means the person handling GA) wants it to be. 

     When the user tries to solve a specific problem, they know what it means to be fit. The fit individual has features as described below. The fitter individual can produce more offspring than the unfit one on average. So there is an interrelation between fitness and the number of offspring. Or, it is also a possible alternative to count the number of grand-offspring. And a better measure yet would be to calculate the allele frequency in the gene pool of the genes that make up the individual in question.

 しかしここでは生物学における正確な議論ではなく、電気計算機の計算手法(コンピューテーショナル・プロセス)としての「適応度」に焦点を当てて議論する。少なくとも進化的計算手法の分野では、適応度は非常にシンプルな概念である。適応度は、適応度関数とも呼ばれ、ある設計解が設定された目的の達成にどれだけ近いかを一つの数値としてまとめるために用いられる特殊な目的関数である (Nelsona et al., 2009)。一般論として、適応度とは、ユーザー(ここではユーザーとはGAを扱う人のこと)が望んだ関数の結果に、解がどれだけ近づくことができたかという数字である。


FIg.3-3-3-3-2,2 Climbing up fitness landscapeWhen a specific genome is taken, it ends up somewhere on the fitness landscape. Because the fitness landscape is merely the project picture of higher dimensional model space, it is pretty unlikely to sit on the part of the mountain in the landscape. Also, the estimated evolution route is difficult to predict because the operation consists of some randomness.            However, it could be said there is a general tendency that can be distinguished when the selection works correctly. The behaviour of genomes over generations is similar to that water will always flow downhill along the steepest slope (fig 3-3-3-3-2,2). If the algorithmic system, significantly narrowing down function, works correctly, genetic descendants will generally climb up the mountain along the steepest slope. Because the system has been set as the higher fitness rewards, every individual tries to maximise their fitness. The most effective mountain climb is taking the steepest line towards high fitness.
図.3-3-3-2,2 フィットネスランドスケープ(適応地形)のを登るということ 特定のゲノムを採取すると、そのゲノムはフィットネスランドスケープのどこかにあることになる。フィットネスランドスケープは高次元モデル空間の投影図にすぎないため、ランドスケープの山の部分に位置する可能性は極めて低い。また、進化の推定経路も、その動作がランダムであるため、予測することは非常に困難である。しかし、選択が正しく機能した場合には、傾向が見て取れると言える。ゲノムの世代間の振る舞いは、水が常に最も急な斜面に沿って流れ落ちるのと似ている(図3-3-3-2,2)。アルゴリズム、特に絞り込み機能が正しく働けば、遺伝子の子孫は基本的に最も急な斜面に沿って山を登っていくことになる。システムはより高い適応度(フィットネス)を報酬系として設定されているので、各個体は自身のフィットネスを最大化しようとする。最も効果的な登山は、高いフィットネスに向かう最も急なラインを取ることである。

     In the figure, coloured circles represent the location of the ancestral genome, and the line track represents the pathway of the offspring. Executing the algorithm sometimes is equal to interacting genomes with the landscape. By using a technique such as a crossover, which is explained later, every genome climbs up the hill. Every peak in the fitness landscape has an upside-down bowl of attraction around it. Then those surfaces turn to the valley. Some sections of this landscape represent the trace of genomes in model space that will converge upon that specific mountain or hill peak. The shape of this bowl or steep sloop depends on how the user sets a fitness function.


     When solving the questionnaire is easy, the landscape may be a craggy mountain. In case of a complex problem, the landscape may be smooth, and it may be difficult to find a hilltop. With this technique, in the case of a typically difficult problem to solve, the solution tends to get stuck in local optima. However, this sort of complex fitness landscape could be manipulated by some techniques.


Fig.3-3-3-3-2,3 The Fitness Landscape is difficult to solveThe fitness landscape can be of various types (fig3-3-3-3-2,3).
図.3-3-3-2,3 難しい適応度地形(フィットネスランドスケープ)フィットネスランドスケープには様々な種類がある(図3-3-3-2,3)

The most straightforward example is shown as ‘Simple’ in the figure, which consists of a clean mountain and valley. Those correspond with maxima and minima, respectively. In the following example, ‘Basin’ is a bit arduous to achieve the final answer, as the local optima tend to fall on the small basin. Before arriving at this plateau, direct searching and then improving fitness was smooth, but after that, the solver lost direction. Therefore the concluding answer tends to fall into ambiguity within a certain width. 



     An even worse example, called ‘Flip’ here, would be the following fitness landscape: the peaks are restricted to quite a narrow term. Therefore it is easy to miss a random sampling of the landscape. In concrete, somehow, a successful genome finds the second highest peak on the left; its offspring will rapidly populate the local optima. This immediately causes the extinction of the rest of the population, and then the algorithm will miss the chance to find a higher peak on the right. The sharper the landscape for a solution, it is harder to solve a problem with GA. 


     Another difficult case is called ’discontinuous’ in the figure. Because most of the part consists of horizontal patches, there are no peaks. It causes difficulty in searching the usual way. Thus there is continuous improvement in solver on this plateau.  When the genome encounters this flat part, it will lose the compass; thus, even after a few generations, nothing changes. This is equal to no fitness pressure. Until the genome accidentally crosses the upper plateaus, most of the dominating genes are meaningless. 


     The final worst case is named ‘Noise’. Here shows a spiky landscape. Even though the solver might achieve the top of a spike, after making the crossover, it may suddenly lose its fitness. The reason is that GA attempts to proceed by guessing the approximate right direction. But in this case, they suddenly fall into a crevasse. This sort of landscape makes this algorithm null.


3-3-3-3-3. Selection

In such computational algorithms, artificial selection is used for breeding specific species for solving problems. The simple question in computational selection is ‘who gets a mate’, instead of sex or gender or other complicated things, which are a part of Natural Selection in nature.
    In biology, natural selection precedes iteration, as Darwin described ‘the ruthless force as the arbiter.’ Here, it is regulated by who can get a mate, and then it indicates the direction of the gene pool. However, there are a number of ways in which natural selection can make it burdensome for certain individuals to pass on their genetic footprint. There are certain remarkable examples; because of being unfit for the environment, the individual cannot survive till maturity.       Similar to the natural world, in GA the fitter individual can produce more offspring. This is because the number of individuals usually has been made stable in one generation, the fitter individuals tend to propagate themselves, and the less fit individuals are curtailed.
      Same way, ‘Selection’ is defined as an operation that selects individuals depending on fitness.

3-3-3-3-3. 選択


Fig.3-3-3-3-3,1: The Diagram of Different Selection MethodsIsotropic Selection is the simplest kind of procedure in selection. Basically, every candidate can get a mate, but has certain functions; it makes the speed, with which a population runs uphill on the fitness landscape, and slows down. It, therefore, avoids the premature colonization of a local optimum. Not depending on the place of the individual on the genome map, which is equal regardless of fitness, his/her chance to have a mate is constant. When everyone has a chance, this selection strategy may be seen as pointless, because this does not affect the gene pool. However, in nature, representative examples exist, such as wind pollination or coral spawning, or females in a walrus colony. In a colony, every female gets to breed with the dominant male, no matter how fit or unfit she is.
図.3-3-3-1:異なる選択方法群のダイアグラム 等質選択は、選択の手順の中で最もシンプルなものである。基本的にすべての個体が交配相手を得ることができる。但し、この特徴は、集団がフィットネス・ランドスケープの坂をのぼる速度を遅くするという機能をも果たす。これははやすぎるコロニー化、即ち局所最適化を避けるはたらきがある。ゲノムマップ上の個体の位置には依存せずーフィットネスに関係なく等しいー、個体が交配相手を得る機会は一定である。すべての個体に平等にチャンスがある場合、遺伝子プールに影響を与えないため、この選択戦略は無意味とみなされるかもしれない。しかしながら、自然界には風花受粉やサンゴの産卵、セイウチのコロニーのメスなどの交配例が存在する。セイウチのコロニーでは、雌はどんなに健康であろうとなかろうと、支配的な雄と交配することになる。

     ‘Exclusive Selection’ is the selection method in which only the top N% of the population gets to mate. N is arbitrarily numbered from 0 to 100. When the individual is within N%, he/she can get offspring or multiple offspring. This method obviously affects the gene pool by improving their fitness because only fit individuals can reproduce. It is possible to find instances of this in nature, that is Walrus males. Only a certain percentage of males can have a harem, the flunkies just stay inside without any opportunity to breed.


     Biased Selection, which is when the chance of mating increases as fitness increases, is another common method in nature. This is something typically seen in species that form stable couples. Essentially everybody has the capability of finding a mate, but the more attractive individual has a higher probability of breeding, thus increasing their chances of becoming genetic founders for future generations. To manipulate and control the evolutional direction, power functions are sometimes used to amplify biased selection. For example, when fitness is more important, exaggerate the curve by using multiplication with a number more than 1, otherwise on the other hand flatten it with less than 1.


     There are several methods as a concrete algorithm. But here, ‘Roulette Wheel Selection’ is introduced as the most simple and common example. It is also widely known that the roulette method is not practical for some reasons, so when this is used several techniques such as ‘scaling’ or ‘tournament’ methods may also be implemented. This method is defined as selecting individuals following the fitness proportion. This is so named because this way is similar to the roulette on the darts game which has a fan-shaped target but here the target area relates to fitness.


3-3-3-3-4. Crossover

As Mendel discovered in the 1860′s, genes are not continuously variable qualities, but they behave like on-off switches. When Mendel crossed wrinkly and smooth peas, he had specific frequencies of each in the subsequent generations, but it never revealed peas whose skins are somewhat wrinkled or smooth.
    Crossover is one of the methods of Coalescence. It is said that a somewhat similar mechanism is working in biological recombination as well. Crossover is best suited for when two candidates are already quite similar; it is effective in climbing up a fitness hill.

3-3-3-3-4. 交叉


Fig.3-3-3-3-4,1: The Diagram of CrossoverThe meaning of this process is to generate offspring, once a mate has been selected from a population. When two genomes are mated, it needs to decide what values to assign to the genes of the offspring. All the values between two numerical extremes can be assumed. Because genes in evolutionary algorithms are not always very similar to biological genes, the algorithmic variant is much simpler than biology. Ironically, biological genes are sometimes more digital than programmatic genes, indeed it depends on the way of taking the gene. The biological process of gene recombination is horrendously complicated and itself subject to evolution (meiotic drive) for example, where genes evolve to affect the random process of meiosis and thus improve their chances of ending up in offspring.
図.3-3-3-3-4,1 : 交叉のダイアグラムこのプロセスの意義は、集団から交配相手を選び子孫を生成することだ。2つのゲノムを交配させるとき、子孫の遺伝子にどのような値を割り当てるかを決める必要がある。2つの数値の極値の間のすべての値を仮定することができる。進化的アルゴリズムの遺伝子は必ずしも生物学的な遺伝子とは似ていないため、アルゴリズムの変種は生物学よりもずっと単純なものである。皮肉なことに、実際それは遺伝子の取り方次第であるが、生物学的な遺伝子はプログラム的な遺伝子よりもデジタルであることがある。生物学的な遺伝子組み換えのプロセスは恐ろしく複雑で、それ自体が例えば進化(減数分裂駆動)の対象となる。たとえば遺伝子は減数分裂のランダムなプロセスに影響を与えるように進化し、子孫に残る確率を向上させるような場合である。

     There are no gender or sex-based characteristics in the solver. So the combinations of two genes are potentially a completely symmetrical process. In crossover mating, the junior inherits some number of genes (there are a number of ways to exchange genes, such as one-point crossover, multipoint crossover, and uniform crossover) from one and the remainder from the other. Because of this mechanism gene value is maintained. 


     Blend Coalescence (including blending preference) is another method for coalescence. For this, new values are computed for genes instead of duplicating existing genes. The most simple example of logic is averaging the values, but others have biased percentages in those interpolations. The latter is called blending preference, usually used with relative parental fitness. When one parent is fitter than another, the former's gene will take a higher proportion in their offspring. This operation is quite natural to get fitter descendants. However, this is not entirely without precedent in biology, it depends to some extent on what level of scale you define as ‘gene’.


3-3-3-3-5. Mutation 


Fig.3-3-3-3-5,1: The Diagram of MutationMutation is the only mechanism which can increase diversity in the population. All the mechanisms, which have been discussed such as Selection, Coupling and Coalescence, are basically designed to narrow down an answer within one fitness mountain.

図.3-3-3-3-5,1 : 突然変異のダイアグラム突然変異は、集団の多様性を高めることができる唯一のメカニズムである。これまで議論されてきた選択、結合、合体などのメカニズムは、基本的に1つの適応度の山中で答えを絞り込むように設計されている。

3-3-3-3-6. Re-generation and Repetition 

The system now has a new population, which is no longer completely random and which is already starting to cluster around the fitness ‘peaks’. All it has to do is repeat the above steps: kill off the worst-performing genomes, and breed the best-performing genomes, until it reaches the highest peak.

3-3-3-3-6. 再作成と反復 


Fitness Pressure

On GA, Fitness Pressure is an indication of how strongly it pushes the solver into a specific direction. As a result of the explained method, fitness pressure is determined. Generally, higher pressure makes the calculation time quicker. The Genomes tend to climb up to certain peaks with minimal path, but very high pressure is not necessary for healthy execution as it tends to reduce the diversity in the gene pool. On the other hand, very low pressure could also be precarious as it allows the population to spread out. In the extreme case, a pressure of 0 is harmful, as the genomes lose their direction of travel, and then the random drift starts to counteract the algorithm's progress.



3-4. Conclusion

Several experts in various academic fields have developed the ideas pulled together in this chapter. However, their use in combination is rare, highlighting the cross-domain nature of Cybernetic Architecture.
    The recent technological developments both in hardware and software computing have been numerous. By using these philosophies and tools, a modified proposal is presented in the next chapter.

3-4. 結論