27 Mayıs 2011 Cuma

anlaşılıyor

GECCO'nun reddettiği (ve orta not verdiği) paper'i noktasına dokunmadan hesaplamalı mimarlık alanının önemli bir konferansına gönderdim (acadia). mimarlıkla ilgisi zayıf denmiş. doğru. ilerleyen versiyonlar ilgili olacak. "Out of more than 200 entries, we accepted 31 full and 9 work-in-progress
papers." demişler. böyle durumlarda alanla ilgisiz bir paper'in seçilme ihtimali pek yok. ama aslında öyle olumlu reviewlar yazmışlar ki keyifle aşağıya ekliyorum. çalışmayı beğenmişler. eleştirilerin çoğu da yerli yerinde. zamanla eğilmeyi düşündüğüm hususlar. oh keyfim yerine geldi. yapılan iş kendi bağlamında / alanında değerlendirildiğinde zayıf ve kuvvetli yanları daha doğru değerlendiriliyor. kısaca, anlaşılıyor.


----------------------- REVIEW 1 ---------------------
PAPER: 221
TITLE: Generating Layout Arrangements through an Adaptive Multi-Objective Evolutionary Algorithm
AUTHOR: [yazar adını direk yazmışlar!]

I enjoyed this paper and found the research to be interesting, however, the connection to architecture is only indirect. While the problems tackled in this research are relevant to genetic systems in architecture, the application developed here is in graphic design, not architecture, and this makes the paper too distant from the audience of ACADIA. If this paper included a series of architectural examples rather than t-shirt design examples, it would help me greatly to see its implications for architecture, which I think could be significant, but nonetheless remain fuzzy without such examples.

----------------------- REVIEW 2 ---------------------

I did see that any of the results from the methods evaluated had been reviewed by non-automated means to form a baseline.

----------------------- REVIEW 3 ---------------------

This paper explores an interesting application of well-know computational technique (evolutionary computation) to two-dimensional graphic design. The paper is well-written and the experiments performed are well-formulated. The authors clearly understand the technical issues involved in the use of evolutionary computation for design.

Furthermore, in the context of many examples of using evolutionary computation to solve technical and performance-based problems (for example, to design the nose cone of a high-speed train for aerodynamic performance), the paper identifies and investigates a very interesting and unique territory: using evolutionary computation to solve aesthetic problems.

More specifically, several aspects of the experiment details are compelling, including the micro-runs approach, the comparison of the micro-runs approach and the Pareto-based approach, the exploration of adaptive and self-adaptive parameter control, and the analysis of the efficiency and performance cost of different computational processes.

Yet, I believe there are some fundamental issues related to design and computation that the paper might benefit from engaging more fully.

First, as computation becomes more and more embedded in design processes, what are the implications of quantifying features of design such as aesthetics that have traditionally been defined as qualitative? What are the benefits of quantifying aesthetics? What are the limitations? Is producing novel designs the goal? If so, should we be more specific about defining novelty? Does quantifying (and optimizing) aesthetics challenge fundamental definitions of design and designers?

Second, in order to evaluate this design process, it may be helpful to compare it to a more traditional process. In other words, design of graphic layout through multi-objective evolutionary algorithms could be compared to design of graphic layout through direct human intelligence and intuition. What are the benefits and unique characteristics of the algorithmic approach? Again, is novelty the goal? If so, how can the experiment described in the paper demonstrate that the algorithmic approach has produced something novel or helpful compared to a non-algorithmic approach?

Third, in order to evaluate the experiments more specifically, it may be helpful to compare the resulting designs to a few predicted designs. In the use of evolutionary computation, it is very easy to inadvertently set up an experiment that produces only designs that are predictable or already known. The experiment may run successfully, but it will not be very useful. This is often the case when the experiment involves a narrow and simple design space. If the design space is too narrow and too simple, evolutionary computation is not helpful in exploring it. For the experiments described in this paper, I am concerned that their design space is too narrow and I encourage the authors to consider ways to make the design space more broad and/or more complex. More specifically, I am concerned that providing targets (color distribution target and design unit layout target) may overly constrain the design space. In other words, given such specific targets, it may be possible t
o create a hand sketch of the desired outcome without going through the algorithmic process. If the algorithmic process produces results that are substantially different than this hand sketch, or if it resolves issues that are very difficult to sketch (such as very precise fine-tuning of color or spacing), then it would be helpful for the authors to make this more explicit in the paper.

In addition to these major points, here are a few more detailed comments:

For the color fitness histograms, are they applied to the whole image, or on grid system?

For the population size and number of runs for each test, the numbers seem low, as the authors acknowledge. In some uses of multi-objective optimization, the rule of thumb is that the population size should be (2) x (number of inputs) x (number of outputs). Could some tests be run with larger numbers?

In future work, it may be interesting to combine aesthetic fitness criteria with other types of fitness criteria in order to create problems with a design space that is more complex and difficult to easily predict.

21 Mayıs 2011 Cumartesi

oskar

bugün saksımdaki ilk çileği koparıp yedim.
güzeldi.
geçen haftalarda da okuldaki lazer kesiciyi ilk kez kullandık.
o da güzeldi.

çilek yetiştirmek yeni bir zenaat değil.
lazer kesiciye .dxf dosyası hazırlama prosedürü de yeni sayılmaz.
levhayı makineye koyuyorsun. dosyayı makineye yüklüyorsun. kesiyor.
önemsiz adımlar.
ama lezzetli.
burda bir psikolojik-önem ve tarihsel-önem ayrımı geçerli.
adımlarımız esasında önemsizdi.
ama bana iyi geldi doğrusu.
(makinaya ilk inişimiz baya heyecanlıydı.)

havalar toparladı.
geç oldu.
ama toparladı.
kafam daha rahat.
bir seri mevzu kafamda oturuyor.
tezimin içeriği oturacak gibi? kimbilir.
yayın, araştırma, kolaborasyon...
anlamaya başlıyorum.
bu sonsuz bir başarısızlık süreci değil.
inişli çıkışlı bir öğrenme süreci.

herşeyi kolayca başarmaya
ya da talihin yardımıyla atlatmaya
ya da insanların değerli gördüğü hemen herşeyi hakir görmeye alışmışım.
konforlu bir konumdu.

yapamayalım.
beceremeyelim.
insan yapamadıklarından öğreniyor.
durup dururken öğrenmiyor.

hırs denebilir..
ama heves, tutku, azim de denebilir.

17 Mayıs 2011 Salı

tasarım macerası

kees dorst yoğun bir tasarım sürecini heyecan verici bir iş olarak, çok olumlu bir havada tarifliyor.. keyif aldığı belli oluyor tasarım işinden. sanki bir macera gibi, diyor, bu soğurucu (/!?) koşturmaca içinde insan diğer herşeyi erteler, proje ekibi dışındaki insanlardan kopulur, evde toz bulutları yeni gezegenler oluşturmakta, insanın hayatının diğer yönleri silikleşmektedir. sonra proje biter. insan bir tür boşluğa düşer ve hayatının diğer yönleriyle yeniden karşılaşır. ve sonra hemen yeni bir projeye başlandığından, önceki projenin kapağı kutlamasız kapatılır.

bizim normalde sıradan olan hayatımızda bir yarışma teslim süreci hakikaten bir macera oluyor. her seferinde ayrı macera. her seferinde bir üretim çılgınlığı, bir tasarım gerginliği, korku, belirsizlik, insani sorunlar.. bir yandan da projenin o ortaya çıkmaya başladığı periyotlarda ardı ardına kararların verildiği, projenin adeta akmaya başladığı anların keyfi. ardından projenin tekrar direnmeye başladığı anlardaki umutsuz ve gergin süreçler.. korku, endişe, telaş, sükunet.. yetişmiyor, yetişiyor, olmuyor, olacak...

tasarım yapmaya çalışmak, konu da karmaşıksa insanı sürekli bir sınava alıyor, ve insanın güvendiği kaleleri bir bir yıkıyor her yeni konu ve bağlam. insan, zamanla, yapamayabileceğini öğrenip durdukça, tasarımın stresi de heyecanı da artıyor ve birşeyler başarıldığında alınan keyif de katlanıyor. tasarım bu yüzden insana gittikçe daha zor ama aynı oranda da daha keyifli gelmeye başlıyor.

insan daha alçakgönüllü olmaya geçiyor ama bir yandan da kendine güvenini korumak zorundasın yoksa işin sonuna varamazsın... ve sonucun çok iyi olmayabileceğini baştan kabullenmek, bunun bir nevi kumar olduğunu kabullenmek, teslim tarihi geldiğinde projenin yeterince gelişmiş olmama ihtimalinin yüksekliğini bile bile elinden gelenin en iyisini yapmak üzere çalışmak.

açık ki bu iş çok karmaşık ve zor. çok pratik istiyor. çalışma, direngenlik, motivasyon, kafa ve tecrübe... bunları edinmek için de ara vermeden çalışmak gerekiyor. biri bitince bir sonrakine geçmek gerekiyor. laylaylom bir iş değil bu. yoğun, zor ve heyecanlı bir iş.

ve teslim saatine 3 dakika kala yetiştirilen projeler. gecelerce uyumadan devam eden gitgelli bir koşturmaca. planlar iflas ettikçe geliştirilen b, c, d, e planları, ne olursa olsun işi sonuna vardırmak için sınırlarına zorlanan bir çözüm geliştirme çılgınlığı...

insanlık adına büyük bir iş de başarılmıyor sonunda. bir yarışmaya katılan 100 projenin arasına bir proje ekleniyor alt tarafı. ama deneyimin değeri hakikaten hiç azalmıyor. tuhaf.

kees dorst'ta en anlamadığım şey tasarım işiyle ilgili çok olumlu bir tonda yazmasıydı. aslında anlıyormuşum. sadece unutmuşum.

füg

yarışma teslim ettik. eğitim öğretim yılı kapandı. eclas abstraktı kabul etmiş. hm.. onun çok işi var.. yeni deadlinelar geliyor. komisyon görevleri gelip yığılmış. işgücümden yararlanılması gerekiyor. lazer kesicinin önünde kuyruk oluşmakta. notlar verilecek. başka ertelenmiş kırtasiye de var. üzerimde bir haftalık son kampın tatlı mallığı duruyor. kuzeyli terasımdayım. esiyor. kahve içiyorum. anketleri bilgisayara geçiyorum. yaz gelmiş. bir adet çilek olgunlaşmış. kıyıp da koparamıyorum. fasülyenin yaprağı eşek kadar olmuş. dehşetle izliyorum. keyifli ve yorgun bir yaz mallığı. ağzım açık duruyorum.

3 Mayıs 2011 Salı

"to the first machine that can appreciate gesture"

"There are three possible ways in which machines can assist the design process: (1) current procedures can be automated, thus speeding up and reducing the cost of existing practices; (2) existing methods can be altered to fit within the specifications and constitution of a machine, where only those issues are considered that are supposedly machine-compatible; (3) the design process, considered as evolutionary, can be presented to a machine, also considered as evolutionary, and a mutual training, resilience, and growth can be developed." [Negroponte, 1970 preface]

negroponte'nin sevimli kitabı*, CAAD'a yönelik bir seri erken çalışmayı ve fikri derliyor. negroponte kitabında yukarıdaki olasılıkların sadece üçüncüsüyle ilgilendiğini belirtiyor, ben birincisiyle ilgileniyorum, halihazırda, pratikte, ikinci yol takip edilmekte ama bu bir totoloji de sayılabilir. tabi birinci ve üçüncü şıklarla ilgili olarak çalışan pek çok araştırmacı var [örnek isterseniz, birinci şık için SEED, üçüncü şık için "ellen yi luen do", "mark gross" ve "cocktail napkin" diye gugıl scholar'lanırsa enteresan yazılara ulaşılabilir] ve zaten birincinin gerçekleşmesi, bir gün olur ise, üçüncü şık üzerinden ancak...

["yapay tasarım" yerine, "akıllı tasarım ajanı" tabirini koyalım ve soralım, neden tasarım AI-complete bir problem alanıdır:]
(p1): "Why ask a machine to learn, to understand, to associate courses with goals, to be self-improving, to be ethical -in short, to be intelligent?
The answer is the underlying postulate of an architecture machine. A design machine must have artificial intelligence because any design procedure, set of rules, or truism is tenuous, if not subversive, when used out of context. It follows that a mechanism must recognize and understand the context before carrying out an operation. Therefore, a machine must be able to discern changes in meaning brought about by changes in context, hence be intelligent ... And to do this, it must have a sophisticated set of sensors, effectors, and processors to view the real world directly and indirectly." (negroponte, 70)

negroponte tasarım otomasyonundan ziyade, tasarım asistanları geliştirmekten, daha da doğrusu insan ve makine tasarımcının birarada evrilerek işbirliği içinde tasarlayabilen akıllı türlere dönüşebilmelerinden sözediyor. bir köle değil bir yoldaş, bir ahbap, bir meslektaş tarif ediyor kitap boyunca. aktardığı denemeler de insan makine etkileşimi, daha doğrusu makinenin insanın özelliklerine uygun iletişim ve kavrayış stratejilerini nasıl edinebileceğiyle ilgili daha ziyade. (bugün tabii 'design aids', 'design assistants' ve 'human-machine interface' popüler araştırma başlıkları.)

ilginç birkaç projeyi aktarayım, mesela LEARN, MIT'de bir grup mimarlık master öğrencisi tarafından geliştirilmiş:

"Learn was a computer mannerist. It watched the designers' activities by observing ten simple solutions. (In this case they were sugar-cube models transcribed to punch cards describing x-y-z centroid locations of solids and voids). Following these ten archetypes, the machine was asked to generate a solution of its own. the appeal of this simple experiment is that the criteria were first determined from the form and then used in the generation of the alternatives. the students observed the variations within the given "style" of the solution. the mannerism was derived from the original ten solutions and was then updated by the eleventh. The machine proceeded to generate a twelfth solution, updated its "manner", generated a thirteenth, and so on. After a denouement of five thousand separate solutions to the same problem, the mannerist machine did not generate or embark on wild tangents. In fact the conviction of the machine was so intense that the last thousand solutions had little distinguishing variety." (p43) [programa bir tür 'agency' atfedildiği seziliyor. bu pasaj benim için önemli çünkü 'style' ve 'style-set' fikirlerinin -şu ana kadar karşılaştığım- en eski atası. daha güncel (ve daha başarılı) bir uygulama için hanna + evolutionary algorithm diye gugılscholar'lanmalı.]

negroponte, oyun oynayan programlardan, mesela yapay-satranç-ustalarından esinlenerek bir problem çözme stratejisi öneriyor; lokal kazanımlar üzerinden global hedefe erişmek. sistem lokal kazanımları birlikte çalıştığı insan tasarımcının tepkilerinden öğrenebilir deniyor:

"... With a history of local punishments and rewards, an adaptable machine can evolve without a global set of values and adaptable rules to achieve them. Maybe nobody knows how to play, maybe everybody applauds at the wrong time, and maybe the good life is the wrong goal. But the thrust of the game analogy is that we do not have to answer these questions in order to proceed." (p69)

eh bu fikrin denemeleri internetin yaygınlaşmasıyla birlikte artmaya başladı, bir yanda cyc'a alternatif, freebase ve dbpedia gibi kolaboratif projeler var, ama negroponte'nin projesinde bilgiyi kodlamak için kullanıcı ekstra bir çaba sarfetmiyor, daha ziyade işini yapıyor ve sistem, o işini yaparken onun uyguladığı kuralları çıkarsıyor ve öğreniyor. mesela kolaboratif interaktif evrimsel algoritmaların öğrenmeyi hedefleyen versiyonları var, internet üzerinden gerçekleşen oylamalar ile insanların tercihleri elde edilip genelleştirilmeye çalışılıyor. biliyorsunuz insanların beğenileri düzensiz ve kuralsız bir dağılım sergileyebilir. ama tarzlar ve tarz kümeleri üzerinden, cluster analizleri üzerinden, efendim.. yani çözüme giden yol dimdirek görünmese de stratejiler geliştirilebilir demek istiyorum...

ilginç bir husus daha var, negroponte bir mimar gibi düşünmüş ve çalışmış. projenin gelişimini anlatırken düz anlamında bir araştırma değil bir tasarım-tarzı-araştırma süreci tarifliyor. projesini kavramlaştırması ve anlatımları da daha ziyade bir tasarımcınınkine benziyor. simon ve newell'ın aynı yıllarda yazılmış metinleriyle karşılaştırın, o metinler de spekülatif bir yan barındırıyor ama bu bir mimar, onlar ise ekonomist ve mühendis! ilki fikirlerini imgeler ve öykülerle ilişkili biçimde geliştiriyor, öbürleri matematiksel formalizmler, prosedürler, algoritmalar üretiyor. fark çok okunaklı. bir neats and scruffies tartışması var yapay zeka alanında, negroponte/mimar kaçınılmaz olarak scruffies tarafına kayıyor.

negroponte çalışan bir program geliştirmekten ziyade uzun erimli bir araştırma programının olası bileşenlerini zihinde canlandıracak temsiller üretmekle ilgilenmiş gibi görünüyor. ki bu olası bileşenler dünyada serbestçe iş görecek bağımsız bir ajanı ilgilendiren geniş bir alana yayılmış: robot görüşü, bilgisayar grafikleri, doğal dil işleme-kullanma, algısal ve motor işlemler, insanla iletişim, öğrenme...

edebi bir iş.. bir mimari ütopya... bu kitaptaki en gelişmiş proje, URBAN5 dahi, çalışan bir prototip olmakla beraber, bu karakteri sergiliyor. tarife bakınız:

"Even though URBAN5 was a bit talkative and was a sloppy problem solver, it was a friendly system" (p97) :]

ve kitabın epilogundan bir kaç güzel pasaj alıntılayarak noktalayayım (bu metnin tasarımın kötü tanımlanmışlığını irdeleyen seminal/? metinlerle aynı dönemde ve 'tasarım metotları hareketi' bizzat kendi kurucularından şamar üstüne şamar yemekteyken yazıldığını hatırlayınız):

aşağıdaki pasaj Stanford Anderson'ın "Problem-Solving and problem-Worrying"** adlı yazısından alıntıymış:
(p 119) "Rather than "problem-solving," I characterized the design process as "problem-worrying." I suggested that architecture is concerned with structuring man's environment to facilitate the achievement of human purposes (intellectual, psychological and utilitarian) where those purposes are incompletely known and cannot be extrapolated from what is given in the situation. Rather human purposes are altered by the very environment that is created to facilitate them. The structuring of the environment must be accomplished, then through the exercise of tentative foresight and the critical examination of that foresight and the actions to which it leads. According to this description, neither the human purposes nor the architect's methods are fully known in advance. Consequently, if this interpretation of the architectural problem situation is accepted, any problem-solving technique that relies on explicit problem definition, on distinct goal-orientation, on data collection or even on non-adaptive algorithms will distort the design process and the human purposes involved.""

[Negroponte aynı kuvvette bir pasajla devam ediyor:]

"... What probably distinguishes a talented, competent designer is his ability both to provide and to provide for missing information. Any environmental design task is characterized by an astounding amount of unavailable or indeterminate information. Part of the design process is, in effect, the procurement of this information. some is gathered by doing research in the preliminary design stages. Some is obtained through experience, overlaying and applying a seasoned wisdom. Other chunks of information are gained through prediction, induction, and guesswork. Finally some information is handled randomly, playfully, whimsically, personally." (p119)

[again, why and how design is AI-complete:]

" ... we, the architecture machine group at M.I.T., are embarking on the construction of a machine that can work with missing information. To do this, an architecture machine must understand our methapors, must solicit information on its own, must acquire experiences, must talk to a wide variety of people, must improve over time, and must be intelligent. It must recognize context, particularly changes in goals and changes in meaning brought about by changes in context." (p119-121)

"In contrast, consider for a moment a society of designers built upon machine ideas that cannot evolve, self-improve, and most importantly cannot discern shifts in context. These machines would do only the dull ignoble tasks, and they would do these tasks employing only the procedures and the information designers explicitly give them. These devices, for example, could indiscriminately optimize partial information and generate simplistic solutions that minimize conflicts among irrelevant criteria. Furthermore, since no learning is permitted in our not-so-hypothetical situation, these machines would have the built in prejudices and "default options" of their creators. these would be unethical robots." [sanki aynı pasaj insan tasarımcılar için de kurulabilirmiş? böyle bir eğitim tarzı, yani öğrencinin kendi yöntemlerini, fikirlerini ve kendine güvenini inşa etmesine yardım etmek üzerinden değil de hocanın kuralları üzerinden gelişen, böyle bir kural-tabanlı eğitim nasıl tasarımcılar üretir, onu anlatmak için de bu pasaj kullanılabilirmiş.] "Unfortunately, most researchers seem to be opting for this condition. As a result, many computer-aided design studies are relevant only insofar as they present more fashionable and faster ways of doing what designers already do. ..." (p121) [yapay tasarımcı ve aptal-CAAD araçlarını bu yüzden birbirinden ayırmak gerekiyor diye düşünüyorum, negroponte'nin öngörülerinin tersine, büyük ölçüde eldeki aptal ve içgörüsüz CAAD araçları sayesinde, daha önce görülmemiş ölçüde kaliteli ve çeşitli bir mimarlık üretimiyle karşı karşıyayız. CAAD, tasarımcıların potansiyellerini ortaya koymalarını kolaylaştırıyor, hatta teşvik ediyor gibi görünüyor. tabii en başta, okulların insan tasarımcılara bu potansiyelleri kazandırmayı becermesi gerek..]

*Nicholas Negroponte, The Architecture Machine: Toward a More Human Environment, MIT Press, 1970
** Anderson, S., Problem Solving and Problem Worrying, American Institute of Architects Teachers seminar, Bloomfield, Mich.: Cranbrook Academy, 1966, June.

1 Mayıs 2011 Pazar

sembolik, sembolikaltı, örtük, belirtik, arama paradigması, simon, operator-state, generate-test (hepsini cümle içinde kullanmayı denedim :])

peyki, CAAD ve yapay tasarım açısından pragmatik bir tasarım tarifi, yehuda kalay'dan*:

"Design, in its broadest sense, is a discipline that formally recognizes our ability to influence the future and our responsibility to do so in the "proper" way. It is, therefore, a purposeful and conscious specification of the actions that must be taken at the present to attain some desired future conditions. [bu kısmı Simon'ın tariflerini hatırlatıyor.]
Characterized by discovery, learning, and judicious decision making, the design process can be likened to exploratory search, where alternative courses of action are hypothesized and their effects are predicted and evaluated against the predefined set of desired conditions. The evaluation may find that the predicted effects of the actions match the desired conditions and thus validate the hypothesis. More often, however, the predicted effects of the proposed actions do not match the desired conditions, or they conflict with each other. In such cases the actions must be modified to achieve the effects of the proposed actions. This is done through iterative adjustment of the proposed actions and the desired conditions until a match is achieved. [Simon ve Newell'in temellerini 50'lerde (55-56) attığı 'arama' paradigması üzerinden tasarımın tarifi, pragmatik bir yönelim, evrimsel algoritmalarla tasarımın ilişkisini kurarken de böyle bir tarif kullanılıyor. 'generate/propose - test/evaluate', ya da 'state-operator' paradigması da denebilir belki.]
The design process can thus be said to comprise three major tasks:
1. Defining a set of desired conditions that comprise the objectives to be achieved. [goals, objectives, performance criteria, constraints]
2. Specifying actions that, in the opinion of the designer, will achieve the desired objectives. [operators, modifiers]
3. Predicting and evaluating the effects of the specified actions to verify that they are consistent with each other and that they achieve the desired objectives. [evaluation, testing]"

['defining desired conditions' (a limited set?), 'specifying actions', 'evaluating the effects'... ımh.. dehşetli bir program. insan-tasarımcılar olarak bunların hepsini bir şekilde yapıyoruz gibi görünüyor. ama örtük olarak. tasarımın başında yapmıyoruz, ortasında bir yerlerinde şekillenmeye başlıyor, sonunda bir ürün var, aslında onu da detaylı biçimde değerlendirebildiğimiz tartışılır. mimarlıkta değerlendirmeden çok eleştiri var, o da biraz kişisel beğenilere bağlı... tüm bunları nasıl ne zaman yapıyoruz, ya da açık açık, belirtik olarak (explicitly) gerçekleştiriyor muyuz orası pek belli değil. aslında belli, yarım ağıza gerek yok. tüm bunları açık açık gerçekleştirmiyoruz. zaten yapamayız. bunları mühendislik tasarımı ya da epiyce-rutin tasarımda belki uyguluyorlar. ama mesela mimari tasarımda?.. bazıları diyorlar ki, tasarım prosedürünü detaylı biçimde, adım adım tariflediğimiz anda yapay tasarım mümkün olacak. bazıları da diyebilir ki, tariflemeyi beceremezsek de yapay tasarım gerçekleşecek. burda sembolik - sembolik-altı tartışması titreşiyor gibi?]


*(Principles of Computer Aided Design: Evaluating and Predicting Design Performance, ed by Yahuda Kalay, John Wiley and Sons, Inc., 1992)