Gramáticas difusas de formas
Abstract
Presentamos una generalización difusa del concepto de computacion o derivacion en una gramática de formas. Primeramente presentamos las ideas en abstracto y posteriormente describimos una implementacion software y algunos ejemplos generados por ella. Finalizamos señalando algunas posibles aplicaciones de este formalismo.
Full text
Gram´aticas difusas de formas Manuela Ruiz-Montiel, Jos´e Luis P´erez-de-la-Cruz, Lawrence Mandow, and Fernando L´opez-Romero ETSI Inform´atica, Universidad de M´alaga. Campus de Excelencia Internacional Andalucia Tech [email protected],[email protected],[email protected] Resumen En este trabajo presentamos una generalizaci´on difusa del concepto de computaci´on o derivaci´on en una gram´atica de formas. Primeramente presentamos las ideas en abstracto y posteriormente describimos una implementaci´on software y algunos ejemplos generados por ella. Finalizamos se˜nalando algunas posibles aplicaciones de este formalismo.1 Keywords: gram´atica de formas, software, l´ogica difusa 1. Introducci´on Las gram´aticas de formas son un formalismo generativo de car´acter gr´afico bien conocido y empleado en los campos del dise˜no arquitect´onico e industrial. Mediante ellas se pueden definir estilos arquitect´onicos, generar dise˜nos industriales, etc. La principal contribuci´on de este trabajo es la definici´on te´orica de varias clases de computaci´on difusa con gram´aticas de formas, as´ı como la implementaci´on de un sistema software para comprobar la validez y aplicabilidad de estos conceptos. En la siguiente secci´on presentamos los antecedentes n´ıtidos del trabajo aqu´ı presentado. A continuaci´on, en la secci´on 3 planteamos su generalizaci´on al caso difuso y en la secci´on 4 presentamos la herramienta software que hemos desarrollado. Finalmente se˜nalamos algunas posibles continuaciones de este trabajo y discutimos algunas posibles aplicaciones. 2. Antecedentes Las gram´aticas de formas [1] [2] son un formalismo empleado para analizar y definir estilos arquitect´onicos [3] [4] y dise˜nos industriales [5] [6] [7], para llevar a cabo investigaciones en el campo de la Est´etica [8], o para generar im´agenes en mundos virtuales [9], por citar solamente algunas de sus aplicaciones. Seg´un Stiny [10], una gram´atica de formas es una 4-tupla hS, L, R, Iidonde: 1La presentaci´on de este trabajo est´a subvencionada por el Plan Propio de Investigaci´on de la Universidad de M´alaga - Campus de Excelencia Internacional Andaluc´ıa Tech.
614 Manuela Ruiz-Montiel et al. Ses un conjunto finito de formas Les un conjunto finito de s´ımbolos Res un conjunto finito de reglas α→β, donde αes una forma etiquetada no vac´ıa y βes una forma etiquetada Ies una forma etiquetada no vac´ıa llamada forma inicial oaxioma. Una forma sse define como un conjunto finito de segmentos AB –a los que tambi´en denominaremos en este contexto l´ıneas– que cumple las siguientes condiciones (n´otese que AB yBA son dos nombres diferentes de un mismo segmento): (1) Si P1P2, P3P4∈sy su intersecci´on es el punto E, entonces para cada i (1 ≤i≤4), si Xi6=E,XiE∈s. (2) Si AB, CD ∈syAB (CD ∈s, y A6=C,A6=D, entonces existe AE ∈stal que A, E, B no son colineales. De esta forma la representaci´on de una forma como conjunto de l´ıneas es ´unica. En este trabajo consideramos ´unicamente formas en R2, aunque los mismos conceptos pueden definirse en cualquier dimensi´on. Una forma etiquetada σes un par hs, Pidonde ses una forma y Pes un conjunto finito de puntos etiquetados. Un punto etiquetado es un par (p, A) donde p∈R2es un punto y A∈Les un s´ımbolo o etiqueta. Si pes un punto etiquetado de σo el punto extremo de una l´ınea de σ, decimos que pes un punto distinguido de σ. Sean dos formas etiquetadas s1, s2. Se dice que s1es una subforma etiquetada de s2y se representa s1≤es2si y solo si se cumplen estas dos condiciones: (i) los puntos etiquetados de s1constituyen un subconjunto de los puntos etiquetados de s2; (ii) las l´ıneas de s1constituyen un subconjunto de las l´ıneas de s2. Si solamente se cumple (ii) decimos que s1es una subforma de s2y escribimos s1≤s2. Una regla es un par (α, β), que representaremos como α→β. Si α≤βse dice que la regla es aditiva. En lo sucesivo solo consideraremos reglas aditivas. Una regla α→βes aplicable a una forma etiquetada γcuando existe una transformaci´on geom´etrica τtal que τ(α) es una subforma etiquetada de γ, es decir, τ(α)≤eγ. Las transformaciones geom´etricas que permitiremos ser´an las que conservan los ´angulos, es decir, cualquier composicion de giros, simetr´ıas, traslaciones y escalados uniformes. Supongamos que la regla α→βes aplicable a γen virtud de la transformaci´on τ. La forma etiquetada producida por la aplicaci´on de la regla a γbajo la transformaci´on τes (γ−τ(α)) ∪τ(β), donde las operaciones −y∪se aplican a cada uno de los dos elementos que definen la forma (o sea, tanto al conjunto de l´ıneas como al conjunto de etiquetas). Es decir, se sustituyen en la forma γ los elementos de τ(α) por los de τ(β). En el caso de las gram´aticas aditivas la f´ormula anterior es equivalente a γ∪τ(β−α) N´otese que si la regla es aplicable est´a garantizado que todas las l´ıneas y etiquetas de τ(α) est´an en γ. N´otese tambi´en que pueden existir muchas formas diferentes de aplicar una misma regla a una misma forma γ, una para cada transformaci´on τque embebe αdentro de γ.
Actas de la XVI Conferencia CAEPIA, Albacete Nov 2015 615 Una derivaci´on ocomputaci´on es una sucesi´on finita de formas γ0, γ1, . . . , γn donde γ0=I(el axioma de la gram´atica) y para todo i, 0< i ≤n,γise obtiene por la aplicaci´on a γi−1de alguna regla de la gram´atica. En la figura 1 se muestra una gram´atica formada por una sola regla y una derivaci´on a partir del axioma de la gram´atica (un cuadrado). 106 M. Ruiz-Montiel et al. / Computer-Aided Design 56 (2014) 104–119 a b Fig. 1. A rule (a) and one derivation obtained from the repeated application of the rule (b). graphic means to deal with shape rules. To the best of our knowledge, the most recent contributions in this area are the works of Li et al. [21], Hoisl and Shea [22] and Trescak et al. [23]. The first one provides means to create, edit and visualize shapes and rules in AutoCAD. The one of Hoisl and Shea focuses on facilitating user interaction, providing interactive and visual means to deal with parametric rules. The second also aims to provide a friendly interface, as well as to improve the traditional algorithm for recognizing subshapes. There exist some generative approaches that rely on different techniques. For example, SEED [12] is an object-oriented generative tool for the initial phases of architectural design that represents design requirements symbolically by means of specification units, which are objects that represent some part of a building (for example, the dining room inside a house). With the help of these objects, the user can establish different relationships among the elements to make up the input for a layout problem [24], that will generate a valid solution. Shea et al. proposed efiForm, a tool based on the so-called shape annealing optimization method [7]. The optimization system is integrated into a CAD tool by means of XML models. Designs are represented both in XML and natively in the CAD and optimization systems. Another generative approach is the one of Mora et al. [25], who developed a CAD tool for the early phases of architectural design. They also use an object-oriented model to specify entities and relations among them. A set of ad-hoc algorithms are used to generate the geometry of every element represented by the entities, taking into account the established design conditions. Krish proposed a generic, generative tool for conceptual design [26] based on evolutionary algorithms that make an initial population of shapes evolve to better solutions. Recently, Ruiz-Montiel et al. have developed a system based on shape grammars and machine learning techniques, that learns how to apply rules to generate a great variety of schematic architectural designs based on a housing program [27–29]. In particular, policies obtained by reinforcement learning can be used to choose the best rule and transformation to be applied at every step of a grammar derivation in order to generate feasible designs. Other generative approaches, not related to CACD, automatically produce highly polished visualizations of designs to be used in movies, video games or computer graphics applications. For example, Müller et al. [1] use shape grammars to create building mass models. Merrell et al. [2] use simulated annealing to produce floor plans according to a housing program automatically inferred by training a Bayesian network with numerous plan examples. Then they use ad-hoc algorithms to automatically generate 3D models from the produced plans. Yu et al. [3] also use simulated annealing to determine the furniture arrangement of a room according to a set of relationships extracted from positive examples. Our work is related to some of these approaches, however it focuses on supporting the early stages of design. In particular, our approach to CACD focuses on automatically offering numerous, feasible starting points to be refined by the human designer. To guide the generation process, our tool provides the designer with different means to specify design requirements. These techniques are detailed in the next section. 3. Layered shape grammars with constraints and goals 3.1. Layered shape grammars Layers are a common structuring device in practical CAD tools. From a theoretical point of view, experts acknowledge the need of using partial descriptions of a design. Partial descriptions of designs have to be superimposed in order to make up the whole picture. A design is composed of several partial descriptions that have no meaning in themselves, that is, they are fragments of the design. They have to interact and overlap in order to form the whole meaning. Kotsopoulos, starting from the theoretical background of product shape algebras [30], introduced this notion as a thinkinggraphic device when working with shape grammars [31]. Stiny also introduced the concept of multiple tuples (or channels, as Yue and Krishnamurti explain in a recent work [32]) in shape grammars as a technique to deal with the difficulty of distinguishing segments embedded in the maximal lines [15]. We have exploited this concept in order to lighten the complexity of the algorithms involved in shape grammar interpretation; more concretely, we might have several simple shapes separated in distinct layers instead of a complex one inside a single layer, thus decreasing the time requirements of the sub-shape recognition algorithm. Formally, we define a layered shape grammar as a 5-tuple ⟨S,L,R,I,La⟩where: •Sis a finite set of shapes •Lis a finite set of symbols •Ris a finite set of rules α→β, where αis a non-empty layered shape and βis a layered shape •Iis a non-empty layered shape, called initial shape or axiom •La is a finite set of nlayer names, (La0,La1,...,La(n−1)). A layered shape is a set of nlabelled shapes (σLa0, σLa1,..., σLa(n−1)). That is, there is a labelled shape defined for each layer. In Fig. 2 we can see an example of a layered shape (the bottom-left cross represents the origin of coordinates). A rule applies to a layered shape γwhen there is a transformation τsuch that τ(αLai)is a sub-shape of γLai, that is, τ(αLai)≤γLai, for every layer Lai. Note that the applied transformation τmust be the same in every layer. The rest of the arithmetic for labelled shapes is naturally extended to layered labelled shapes in a similar way, applying the operators in parallel to the shapes of every layer. In Fig. 3 we can see a layered shape grammar with the content of each layer shown separately. The grammar is composed of three rules that are divided into three layers. Figura 1. Una regla (a) y una derivaci´on (b) 3. Gram´aticas de forma y c´alculos difusos En esta secci´on generalizaremos las ideas expuestas en la secci´on 2 y aplicaremos diversas construcciones difusas al concepto de gram´atica de formas. Hasta lo que alcanza nuestro conocimiento, esta generalizaci´on de las gram´aticas de forma al caso difuso no ha sido llevada a cabo anteriormente. Distinguiremos dos posibles fuentes de difuminaci´on: la aplicaci´on difusa de reglas (3.1) y la correspondencia difusa de formas(3.2). Figura 2. Aplicaci´on difusa de la regla de la Figura 1.a
616 Manuela Ruiz-Montiel et al. 3.1. Aplicaci´on difusa Como hemos dicho m´as arriba, la forma etiquetada producida por la aplicaci´on de la regla α→βaγbajo la transformaci´on τes γ∪τ(β−α), suponiendo que la gram´atica es aditiva. Supongamos ahora que para cada punto P∈R2est´a definido un conjunto difuso DPcon n´ucleo {P}. Modificaremos la definici´on “forma producida por la aplicaci´on de una regla” de la siguiente manera: La forma etiquetada producida por la aplicaci´on de la regla α→βaγbajo la transformaci´on τcon grado µes γ∪(ϕµ◦τ)(β−α)donde ϕµes una transformaci´on que transforma cada punto distinguido Pde σen P0tal que para todo Pes DP(P0)≥µy para al menos un Pes DP(P0) = µ. Por ejemplo, supongamos la regla de la Figura 1. Supongamos que para cada punto P,DPes un subconjunto difuso de R2dado por la funci´on de pertenencia DP(A) = 1 1 + d(P, A) donde d(P, A) es la distancia eucl´ıdea entre AyP. Entonces, la forma de la Figura 2 tambi´en ha sido producida en un paso desde el axioma, pero no con grado 1. Si suponemos que la distancia de cada nuevo v´ertice al v´ertice “exacto” generado por la regla es 1, entonces la figura ha sido generada con grado 0,5. De esta manera, la aplicaci´on difusa de una regla a una forma bajo una transformaci´on define no una forma, sino un conjunto difuso de formas, cada una de las cuales pertenece al conjunto con el grado µas´ı definido. Y si en la derivaci´on γ0, γ1, . . . , γncada regla se ha aplicado respectivamente con grado µ1, . . . , µn, entonces γnha sido generado con grado µ= m´ın(µ1, . . . , µn). Las definiciones anteriores no son siempre apropiadas, pues el conjunto DP se supone independiente del tama˜no que vaya adquiriendo la forma. Puede ser m´as conveniente introducir un factor de escala que tenga en cuenta este tama˜no y considerar, en lugar de d(A, P), δ(A, P) = d(A, p) Diam(σ) donde Diam(σ) es el di´ametro de la forma σ, es decir, la m´axima distancia entre dos puntos distinguidos de σ. En la figura 3 se muestra una derivaci´on difusa empleando la regla de la Figura 1 con grado 0,5 (es decir, con δ= 0,5). 3.2. Correspondencia difusa En la derivaci´on de la Figura 3 se puede observar que la correspondencia de la parte derecha αde la regla se ha producido siempre empleando la subforma de γcorrespondiente al axioma, en cuyas esquinas se han ido a˜nadiendo subformas. A estas subformas no ha sido posible aplicar la regla. Ello es l´ogico, ya que de una parte para aplicar la regla exigimos una correspondencia exacta entre
Actas de la XVI Conferencia CAEPIA, Albacete Nov 2015 617 Rule Figura 1. Delta = 0.5, Épsilon = 0.01 Rule Figura 2. Delta = 0.5, Épsilon = 0.5 Figura 3. Una derivaci´on difusa (regla de la Figura 1) con δ= 0,5 τ(α) y el fragmento considerado de γy de otra las subformas a˜nadidas no son exactamente cuadradas. Esto nos indica que es necesario modificar otro aspecto de la computaci´on para obtener derivaciones difusas generales. Comenzaremos definiendo la discordancia entre una subforma y una forma. En las computaciones con gram´aticas de formas, para hacer coincidir dos formas podemos aplicar cualquier transformaci´on que conserve los ´angulos. Por tanto, parece l´ogico establecer que la discrepancia entre dos formas venga dada esencialmente por las discordancias entre los ´angulos correspondientes de ambas. Sea un ´angulo ϕde v´ertice el punto Vy lados las semirrectas r1,r2. Sea otro ´angulo ϕ0con el mismo v´ertice y lados las semirrectas r0 1,r0 2. Consideremos los dos ´angulos ϕ1,ϕ2de v´ertice Vy lados las semirrectas r1,r0 1yr2,r0 2, respectivamente. Llamaremos discordancia ε(ϕ, ϕ0) entre ϕyϕ0al valor absoluto de la diferencia de sus amplitudes, ε(ϕ, ϕ0) = ||ϕ|−|ϕ0||. Por ejemplo, la discordancia entre los ´angulos (V, r1, r2) y (V, r0 1, r0 2) de la Figura 4.a es π/6 y entre los ´angulos (V, r1, r2) y (V, r0 1, r0 2) de la Figura 4.b es 0. r1 = r'1 r'1 r1 (a) (b) V r'2 r'2 V r2 r2 b Figura 4. Discordancia entre ´angulos
618 Manuela Ruiz-Montiel et al. Consideremos ahora una tupla Tde tpuntos diferentes, T= (p1, . . . , pt). Para cada i, j, k (1 ≤i≤t,i6=j,i6=k,j6=k), definimos el ´angulo Tijk de v´ertice piy lados las semirrectas que pasan por pj, pk. Sean dos tuplas T, T0de tpuntos. Definiremos la discordancia entre TyT0como ε(T, T0) = m´ax ε(Tijk, T0 ijk). A partir del concepto de discordancia entre tuplas de puntos podemos definir el de discordancia entre dos formas etiquetadas S, S0de igual n´umero de puntos distinguidos. Para ello basta considerar las discordancias entre (1) una tupla T formada por los tpuntos distinguidos de S; y (2) las tuplas T0formadas por t puntos distinguidos de la forma tales que (i) puntos correspondientes de TyT0 tienen las mismas etiquetas; (ii) si dos puntos de Tson extremos de una misma l´ınea, entonces los puntos correspondientes de T0tambi´en son extremos de una misma l´ınea. Si no existe ninguna tupla de las definidas en (2), la discordancia es ∞. En otro caso, ser´a la m´ınima de las as´ı definidas. La discordancia εentre formas permite definir el grado µde correspondencia difusa entre las mismas como µ(), que valdr´a 1 para ε= 0 y 0 para ε=∞. Por ejemplo, podemos definir µ() = π−2ε πsi ε < π/2 0 si ε≥π/2 Ya podemos enunciar el criterio difuso de aplicabilidad de una regla: Si existe una subforma en γ0≤eγtal que la discordancia entre γ0yαes ε, entonces la regla α→βes aplicable a γcon grado µ(ε). Where K is the total number of points inside the pattern, and d is a point inside the design permutation calculated in STEP 2. Notice that: STEP 4: Apply the computed transformation to the left part of the rule and test (with the method described in section 3) if this is a subshape of the current design. If the test is passed, then add the transformation into the list of possible ones. If the test is not passed, go back to STEP 2. STEP 5: Return the list of possible transformations that yield a subshape of the current design. END OF THE ALGORITHM. We illustrate two possible derivations starting from axioms that are not exactly squares. For example, if we have the following axiom: With = 0.2 we may produce the following derivation: If we have the following axiom: We may produce the following derivation, also with = 0.2: Figura 5. Una derivaci´on difusa (regla de la Figura 1) con ε= 0,2 Esta manera de definir el grado de correspondencia entre dos formas es coherente con los algoritmos realmente empleados para resolver en el caso n´ıtido el problema de la detecci´on de subformas [11] [12], [13], en cuya resoluci´on se consume la mayor parte del tiempo de ejecuci´on de una gram´atica de formas. Definido ya el grado de aplicabilidad, es necesario ahora definir la transformaci´on τbajo la cual se aplica la regla a la forma. Esta transformaci´on ser´a la transformaci´on af´ın que mejor transforme el conjunto de puntos de α,{p1, . . . , pt} en la subforma considerada de γ, cuyos puntos ser´an {d1, . . . , dt}. Tomaremos como criterio el de la suma de m´ınimos cuadrados. Es decir, aplicaremos a cada punto de coordenadas (x, y) una trasformaci´on dada por una matriz Ano singular y un vector b
Actas de la XVI Conferencia CAEPIA, Albacete Nov 2015 619 x0 y0=a11 a12 a21 a22x y+b1 b2 tales que se minimiza el error e, e= t X k=1 ((p0 xk −dxk)2+ (p0 yk −dyk)2) donde el sumatorio se extiende a todos los puntos pde la subforma. De esta manera, la aplicaci´on de una regla a una forma permitiendo una discordancia ε define no una forma, sino un conjunto difuso de formas, cada una de las cuales pertenece al conjunto con el grado µ(ε) as´ı definido. Y si en la derivaci´on γ0, γ1, . . . , γnse han permitido respectivamente las discordancias ε1, . . . , εn, entonces γnha sido generado con grado µ= m´ın(µ(ε1), . . . , µ(εn)). En la Figura 5 aparece una derivaci´on a partir de un paralelogramo aplicando la regla de la Figura 1. Por ´ultimo, es posible definir derivaciones en las que tanto la aplicaci´on de las reglas como su grado de aplicabilidad son difusos. En este caso, si en la derivaci´on γ0, γ1, . . . , γncada regla se ha aplicado respectivamente con grado µ1, . . . , µn, y se han permitido respectivamente las discordancias ε1, . . . , εn, entonces γnha sido generado con grado µ= m´ın(µ1, . . . , µn, µ(ε1), . . . , µ(εn)). Un ejemplo de esta derivaci´on “doblemente difusa” se muestra en la Figura 6. Rule Figura 1. Delta = 0.5, Épsilon = 0.01 Rule Figura 2. Delta = 0.5, Épsilon = 0.5 Figura 6. Una derivaci´on difusa (regla de la Figura 1) con = 0,5 y δ= 0,5 4. Una herramienta software: FuzzyShade Para llevar a la realidad los anteriores conceptos hemos dise˜nado una herramienta software llamada FuzzyShade. FuzzyShade se ha implementado como un plug-in del entorno de modelado gr´afico SketchUp [14] y puede considerarse una versi´on de Shade [15] con caracter´ısticas adicionales. En la Figura 7 se muestra el aspecto general de la pantalla de interacci´on con la herramienta.
620 Manuela Ruiz-Montiel et al. En la parte izquierda del lienzo se lleva a cabo la edici´on de las reglas de la gram´atica, mientras que en la parte derecha se muestra el resultado de la computaci´on, es decir, la forma resultante de la derivaci´on en curso. 21 4. Access context menu In order to have a better access to buttons like New, Open and Save of the different options on the project we can use the context menu in plug-in eyelash. Figura 7. Captura de pantalla de FuzzyShade En la barra de herramientas aparecen las opciones que permiten la realizaci´on de computaciones difusas. El bot´on etiquetado con controla el grado de correspondencia entre formas para aplicar las reglas de la gram´atica. El valor se establece en radianes y por defecto es 0. El bot´on etiquetado con δcontrola el grado de difusi´on en la aplicaci´on de las reglas de la gram´atica. Su valor por defecto es 0,01. Otro bot´on permite consultar los valores actuales de ambos par´ametros y tambi´en muestra el grado µde pertenencia de la forma actual al conjunto definido por la gram´atica. La herramienta permite importar gr´aficos externos vectorizados (formato dxf) y de mapas de bits (formato bmp). Estos gr´aficos podr´ıan servir como axiomas o puntos de partida en la generaci´on de una forma. Una caracter´ıstica adicional de la herramienta es la posibilidad de limitar el solapamiento de subformas muy similares. En efecto, es posible aplicar de forma
Actas de la XVI Conferencia CAEPIA, Albacete Nov 2015 621 difusa varias veces la misma regla con la misma transformaci´on a la misma subforma, obteniendo resultados como el que aparece en la esquina superior derecha de la ´ultima forma derivada en la Figura 6. (N´otese que en las computaciones n´ıtidas no puede darse este fen´omeno). Para evitar estos resultados, la herramienta proporciona una opci´on (bot´on) de “overlapping”. Mediante ´el pueden establecerse un ´angulo umbral y una distancia umbral. Cuando la opci´on est´a activada, no son a˜nadidas las formas generadas por una regla que difieren menos del umbral de alguna subforma ya existente. 5. Conclusiones y trabajos futuros En este trabajo hemos mostrado de forma te´orica y pr´actica algunas posibilidades de emplear las gram´aticas de forma como formalismo para la generaci´on de manera difusa de formas geom´etricas bidimensionales. Una posible aplicaci´on de estos mecanismos es la generaci´on de objetos suficientemente variados, que —en la l´ınea de los estudios citados en la secci´on 2— respondan a un estilo o prop´osito determinado, pero evitando el exceso de uniformidad. Ello podr´ıa conseguirse estableciendo adecuadamente los par´ametros de difuminaci´on. Otra posible aplicaci´on es el empleo de estos formalismos como reconocedores de forma que pudieran usarse en aplicaciones de reconocimiento de formas tolerantes al ruido. Esta aplicaci´on ser´ıa muy interesante; sin embargo, debemos se˜nalar que el uso de las gram´aticas de forma como reconocedores es a priori bastante dif´ıcil desde el punto de vista algor´ıtmico. Referencias 1. Stiny, G., Gips, J.: Shape grammars and the generative specification of painting and sculpture. In: Information Processing 71. North-Holland (1972) 1460–1465 2. Stiny, G.: Shape. Talking about seeing and doing. MIT Press, Cambridge, Ma. (2006) 3. Stiny, G., Mitchell, W.J.: The palladian grammar. Environment and planning B 5(1978) 5–18 4. Duarte, J.P.: A discursive grammar for customizing mass housing: the case of Siza’s houses at Malagueira. Automation in Construction 14 (2005) 265–275 5. Agarwal, M., Cagan, J., Constantine, K.G.: Influencing generative design through continuous evaluation: Associating costs with the coffeemaker shape grammar. Artificial Intelligence in Engineering Design, Analysis and Manufacturing 13 (September 1999) 253–275 6. Pugliese, M., Cagan, J.: Capturing a rebel: modeling the Harley-Davidson brand through a motorcycle shape grammar. Research in Engineering Design 13(3) (September 2002) 139–156 7. McCormack, J.P., Cagan, J., Vogel, C.M.: Speaking the Buick language: capturing, understanding and exploring brand identity with shape grammars. Design Studies 25 (2004) 1–29