# A Multi-Agent System in Education Facility Design
## 4 Design Representations in a Multi-Agent Design System  
A design agent is a computational entity capable of acting autonomously in order to satisfy the requirements of the assigned design task. Each agent has a diverse goal to achieve. It has the ability to modify the design and exchange information with other agents. It takes decisions about design actions on the basis of its knowledge. In the perception process, it reads the message and stores the attributes describing the design requirements, like the number of rooms needed. In the decision-making process, the agent selects an action to be taken in the next step. It either sends a message, if the solution being generated is completed or does not satisfy the required conditions, or selects a grammar rule and applies it as a new design step. The agent decision-making process is based on its local knowledge, consisting of a grammar and a task-oriented database. Let \(I\) denote a set of the agent's internal states composed of the content of long-term and short-term memory. A formal definition of a grammar-based design agent is as follows. **Definition 2**. : _A grammar-based design agent is a tuple \(Ag=\) (I, A, K\({}_{L}\), \(\pi\), \(\chi\)), where:_  
1. _I is a set of the agent's internal states._
2. _A is a set of possible actions._
3. _K\({}_{L}\) is a domain knowledge consisting of a grammar and a task-specific database._
4. \(\pi\)_:_ \(M_{B}\to I\) _is the perception function, which changes the agent's state depending on the content of the message buffer._
5. _\(\chi\)_:_ \(I\)__\(X\)__\(K_{L}\to A\) _is the decision-making function, which specifies the action to be taken based on the internal state and the domain knowledge._  
Layouts of kindergarten facilities are internally represented in the form of labelled and attributed hierarchical graphs [33], which encode both the topological structures and semantic properties of educational facilities. Nodes of these graphs represent different types of spaces, which are denoted by specified node labels. Moreover, nodes have attributes specifying properties of represented spaces such as the length, width, area, orientation or required equipment. Graph edges represent spatial relations between areas. In each graph node representing a component of the given object, subordinate nodes and edges, which describe the inner structure of that component, can be nested. Thus, hierarchical graphs allow for expressing hierarchical dependencies between different parts of objects. Let \(\sum\) be a set of graph labels and \(At\) be a set of node attributes. **Definition 3**. : _A hierarchical attributed labelled graph \(H\) is a system \(H=\) (V, E, s, t, lab, atr, par), where:_  
1. _V and E are disjoint finite sets of nodes and edges._
2. _s, t:_ \(E\to V\) _are functions assigning source and target nodes to edges, respectively._
3. _lab:_ \(V\cup E\to\sum\) _is a node and edge labelling function._
4. _atr:_ \(V\to 2^{At}\) _is a node attributing function._
5. _par:_ \(V\cup E\to V\cup\{\bot\}\) _is a parent assigning function (symbol_ \(\bot\) _indicates that a given node or edge has no parent), specified in such a way that no edge or node can be its own ancestor._  
In our approach, all of the design agents, except for the agents designing building forms, are equipped with graph grammars generating attributed graph representations of specified areas. They work in parallel, deriving the common graph and independently generating layouts of different design parts. The agents' behaviour is controlled by grammar rules which transform generated graphs or shapes. Ground layouts of kindergarten facilities consist of various arrangements of required areas. Each layout can be composed of six possible types of areas representing spaces intended for a kindergarten building, yard, playgrounds, recreational areas, sports facilities, and parking lots. At first, the manager agent generates an initial non-hierarchical graph representing a ground layout.