アルゴリズミックデザインと設計支援
『アルゴリズミック・アーキテクチュア』出版記念トークを拝見。
(1) http://bit.ly/dvVByL (2) http://bit.ly/bUH2rx
トーク中に変数と関数の話が出てきたので自分自身の整理と、すこし感想を。
Geroは設計を3種類に区別せよと言っている。
1) routine design(すべての必要な知識がそろった状態でなされる設計)
2) innovative design(扱う変数はいつもと同じだが、変数の取り得る値をいつもとは違う領域に振るような設計)
3) creative design(新しい変数を導入して行う設計)
シンポジウムで出ていた変数と関数の話に対応づけると、
・決まった変数の中を探索したいの?/するの?:1)や2)なの?
・新しい変数を見つけながら(ここがトーク中の関数なのかな?)探索するの?:3)なの?
・探索を進めるための評価関数はいつの時点でどう決まるの?
という話を整理すると、トークの中身も分かりやすくなるのではないかと思う。
博士課程の時の研究では、デザインを探索だと捉え、対話型進化システムを使ってある人がデザインをしたプロセス=探索プロセスを再現する関数を自動生成することで感性情報を獲得する、という研究をした。
「選好関数を用いた対話型進化システムの制御と評価 遺伝的プログラミングのデザイン支援システムへの応用」http://web.sfc.keio.ac.jp/~naka/papers/ai98.pdf
この研究では、あるデザイナの探索過程を再現した関数をネットで配信して、ユーザとデザイナのコラボレーションを対話型進化システムの中で実現できる、ということを提案するところまでは出来た。1) routine designと2) innovative designは対応できたけれども、3) creative designには対応できなかった。研究としては、新しい変数を自分自身で導入するメタなプログラム(関数)を作ろうとしたが、それは挫折したのだった。
設計の過程は、自分・他者・環境との対話でもある。対話:インタラクションもしくはダイアローグをどう進めるか。それは建築だろうと情報システムだろうと同じことだが、その進め方には暗黙知的なスキルが含まれレベルにばらつきがあるので、レベルを押し上げるための手段:技術や道具として、CADやIDE、UMLやダイアグラムといった表記法、要求工学や観察工学といった工学的手法や、個人技としての発想技法やチームプレーとしてのワークショップやオフィスのデザインがある。
新しい技法・道具をつくることで、新しい自分・他者・環境との対話をデザインすることができる。
#もちろん、アルゴリズミックデザインも、そうした方法のひとつだろう。
設計の過程はデザイナーの頭の中に閉じてしまうことが多いが、模型を作って外在化する/ソフトウェアを使って外在化することが、新しい自分や他者とのコミュニケーションを促してくれる。
ひと言に道具と言っても、エキスパートがもっと上手くなるための道具と、普通のレベルの人が上手くなるための道具では、狙いも違う。もっと上手くなりたいと思っているつくり手が自分自身のための技術や道具を作っている場合もある。誰かと一緒に作る方法をもっとなんとか出来ないか、と思っている人もいる。
また中小路によれば、技術や道具の種別として、
・ランニングシューズ型(それが無くてもできるがあったほうが良い)
・ダンベル型(それがあることで鍛えられる)
・スキー靴型(それがなければできない)
がありうる。
自分がどんな技術・道具を作っているのかを意識しながら、オレこんなの使ってこんなの出来たんだぜ、と言い合える人々がたくさん増えていけばと思う。自分のためだけに作る場合もあるし、他者も使えるフォーマットにして、新しいフィールドを作ろうとする場合もある。フィールドまでを視野に入れると「創造するアーキテクチャ」になるはず。
CityCompilerやアイデアキャンプもそうした道具とフィールドの一つにしたい。