Creation process

“Dancing creatures” is an AI computing solution that aims at pushing the boundaries of digital arts by algorithm design. The resulting patterns are issued from the resolution of hard combinatorial optimization problems. They are not fractals that you can generate with basic math formulas.

From images of databases, the solution is capable of analyzing and imagining its own interpretation, resulting in unique, complex and original digital creations.

Drawing points by recognizing recurrent features and introducing some randomness.

The AI is efficient at identifying recurrent characteristics and adding few elements of randomness to propose its own drawing of points and lines with an unusual relief:

To select the most pertinent attributes in Voronoi tessellations, the model used behind the recognition phase has been trained for months with all possible inputs from various databases.

In addition with this supervised learning, random variables are introduced to bring some relief to different regions of points. The order to proceed follows a direction based on the resolution of the traveling salesman optimization problem.

thevanluong

Once the set of points or lines has been drawn by the computer, the second phase consists in separating regions into different clusters then connecting the points inside each cluster:

Each cluster is allocated from a subset of points. This repartition can be determined by solving a clustering optimization problem called the p-median.

Then for each cluster, points composing it are connected in a non-deterministic way. To achieve this, a tour from the traveling salesman problem is constructed to spawn colored “dancing creatures”.

thevanluong
Filling the creation with constructed clusters to spawn “dancing creatures” patterns.

The execution of the program generally takes several hours on a modern computer. Thousand images are generated and are automatically assembled in FFmpeg to obtain the resulting animation.

Since non-deterministic algorithms are here used to tackle optimization problems, each solution is really a unique creation. Meaning that the execution of the program with the same inputs and another random seed will result in a new drawing with different “dancing creatures” patterns in terms of shapes, positions and colors.

The final creation is obtained with all “dancing creatures” patterns.

“Dancing creatures” is a solution developed in C++ and uses different Linux tools to collect data, convert PostScript codes and make animations. The resulting GIFs are optimized to display on the photo gallery of smartphones.

The program is composed of thousands lines of code from past development works of thevanluong. The design and implementation of these algorithms represent several years of research work. They are from operations research and artificial intelligence fields, including most advanced metaheuristics (tabu search and Lin Kernighan) and learning techniques (Apriori association rules and k-means clustering).