The Traveling Salesman

r1b2574/574

The algorithm to determine the shortest path between a set of points is a famous computer science problem, notoriously difficult, and known as the "Traveling Salesman Problem".

This piece is another entry in my study journal of algorithmic emergent systems, and is based on this famous problem.

This time, I used the following description:
- Place N points randomly on the canvas, and assign a random direction to each point.
- At each step, draw the shortest line that connects all the points, and move each point along its defined direction

As usual, each step is typically drawn with very low opacity, and is repeated hundreds of thousands of times. Eventually, the interaction between overlapping lines creates unexpected patterns and textures.

The recent introduction of the new fxparams system was a great opportunity to expose the inner workings of the algorithm and let collectors actively contribute to the final outputs. In my previous long form projects, parameters ranges were carefully limited to make sure all outputs were consistent. Here, exploration of extreme ranges is voluntarily left open, allowing collectors to come up with their own variations.

With this system, the collector becomes a critical part of the art creation process. In order to acknowledge that, 75% of the royalties will go to the minter.

To go with the spirit of this token, the total number of editions will also be an emergent property of the market: starting with a large supply of 10.000 editions, half the supply will be burned every Tuesday at noon EST, and the mint price will be increased by 1 tz.

This token uses the regl.js library. Higher resolution outputs can be generated by adding ?s=2 or ?s=3 to the live view URL. The 's' key will save the output as png.

This page has been generated using fx_hash public API https://api.fxhash.xyz/graphql/, to display an overview of a creator's collection from www.fxhash.xyz. The computation of "rarity" is not the official computation and therefore can differ. Dev by @zancan.