Hostname: page-component-77f85d65b8-5ngxj Total loading time: 0 Render date: 2026-04-19T12:55:44.043Z Has data issue: false hasContentIssue false

Embedding parts in shape grammars using a parallel particle swarm optimization method on graphics processing units

Published online by Cambridge University Press:  02 July 2018

Hacer Yalim Keles*
Affiliation:
Computer Engineering Department, Faculty of Engineering, Ankara University, Ankara, Turkey
*
Author for correspondence: Hacer Yalim Keles, E-mail: hkeles@ankara.edu.tr
Rights & Permissions [Opens in a new window]

Abstract

Embedding emergent parts in shape grammars is computationally challenging. The first challenge is the representation of shapes, which needs to enable reinterpretation of parts regardless of the creation history of the shapes. The second challenge is the relevant part searching algorithm that provides an extensive exploration of the design space–time efficiently. In this work, we propose a novel method to solve both problems; we treat shapes as they are and use a parallel particle swarm optimization-based algorithm to compute emergent parts. The execution time of the proposed method is improved substantially by dividing the search space into small parts and carrying out searches in each part concurrently using a graphics processing unit. The experiments show that the proposed implementation detects emergent parts accurately and time efficiently.

Information

Type
Research Article
Copyright
Copyright © Cambridge University Press 2018 
Figure 0

Fig. 1. Partitioning of the image space into a set of tiles is depicted. The points randomly assigned to each tile represent particles in the swarm.

Figure 1

Fig. 2. Flowchart of the GPU–PSO-based embedding implementation. Data flow is also depicted on the same chart.

Figure 2

Fig. 3. Left: sample initial shape and rule shapes. Right: Application GUI that shows the embedding second rule in the kettle shape.

Figure 3

Fig. 4. Sample derivations using the kettle shape.

Figure 4

Table 1. Execution times of the three PSO implementations using a total of 1024 particles during searches (2 × 2 tiles).

Figure 5

Table 2. Executions times of the CUDA-based PSO implementation for a number of different tile configurations using a total of 1024 particles during searches.

Figure 6

Table 3. Execution times of the three PSO implementations using 1024 particles in each block (2 × 2 tiles)

Figure 7

Fig. 5. Two candidate embeddings are shown together.

Figure 8

Fig. 6. The parallel embeddings of the nine kettle shapes.

Figure 9

Fig. 7. An initial shape and two shape rules are depicted on the top row. Embeddings and rule applications are shown in this order for the random application of two rules six times.

Figure 10

Fig. 8. A sample derivation that is run with a more flexible embedding configuration.