Let's talk about superstructures. In the Salis world, superstructures are
spontaneously appearing phenomena of large scale. These structures are the
emergent result of the complex interactions the mutant descendants of
our original ancestor, '55.anc', have over time. In this video I'll
be reviewing four specific superstructures which have been discovered so
far. These structures are named: storms, walkers, reefs and nests. But before we
dive into them, let's introduce some concepts. CELLULARITY. In Salis some
superstructures are the result of a single mutant organism running amok in
the world. These are known as unicellular superstructures. However, superstructures
may also consist of many organisms, in some cases thousands of
them, and thus can be considered multicellular superstructures. LIFE. Some
of the super structures do not imply code replication. They are the work of a
single organism, or group of organisms, that has lost its ability to replicate
and simply exists in the world. These are known as abiotic, or non-living super
structures. However, many structures do contain living, replicating code in them.
They are alive and thus are known as biotic, or living superstructures.
METABOLISM. Lastly, some structures contain organisms which carry out a
process I've named metabolism. These are known as metabolic superstructures, as
they consist of metabolic organisms. However, other superstructures contain
organisms that don't metabolize, and thus are considered non-metabolic super
structures. But wait, what exactly is metabolism? We can think of metabolism as
a way for organisms to trade memory space for extra CPUs, by using the memory
block-swap instruction. It also allows organisms, or more accurately code, to be
kept on top of the execution queue for a long period of time,
and then be executed repeatedly by newly generated CPUs. Metabolism is, in my
opinion, one of the most interesting discoveries I've made in Salis. It's a
very powerful, self-preserving exploit that organisms have found through
evolution, all by themselves, and that I never imagined possible when
implementing the Salis instruction set.
OK, let's now talk about the superstructures one-by-one. Let's begin with
the simplest superstructure, one that always appears early on simulations and
that has a profound effect on the early evolution of the world. STORMS. Storms
appear when a mutant organism tries to allocate a memory block of huge size. It
can be caused by a simple mutation that makes the organism decrement the value
on a register that already contains zero on it. In Salis organisms' registers
cannot contain negative values on them. Thus, decrementing a register containing
zero, places the largest 32-bit integer possible (2^32 - 1)
into it. If the organism later tries to allocate a child memory block while
using this register's value as the size parameter, it will attempt to allocate a
memory block over 4GB long. This size is, by obligation, larger than
the size of the world, so the allocation will never be completed as it is
impossible to complete. Even so, the seeker pointer will be sent out to try
and the result will be an ever-growing block of memory, expanding in one
direction or another, until it either hits another block of allocated memory
or reaches the edge of the world. Storms can get very large, especially at
first, when there are large, empty areas of memory. Storms can cause the total
memory allocation of the world to rise quickly to 50% and when that happens,
many organisms die as a result of them being rapidly popped out of the
execution queue. On a brighter note, storms can also help spread organisms
around by temporarily allocating a large area of memory and obligating nearby
organisms to send their seeker pointers further away from their parent's address.
Organisms can then form new colonies far away from their ancestors, spreading
their species around the world. It thus seems that Salisian storms, just like
storms on Earth, act both as a destructive force and a beneficial
seeder of life.
WALKERS. In Salis, organisms are simple computer programs whose only purpose in
life is to copy themselves. Once these organisms are let out in the
world they compete fiercely for memory space and execution time. This
environmental pressure, in the context of natural selection, pushes the organisms
to evolve into smaller, more streamlined forms. Keep in mind that, the smaller an
organism is, the less space it will occupy in memory and the less CPU cycles
it will need to replicate itself. Thus, it is very common to see '55.anc' quickly
evolve into smaller forms. One example of this are parasites, which are
organisms that merely measure themselves and then execute the replication code of
an adjacent organism. However, in Salis parasites tend to become less common
later on, being replaced by more cooperative species that are oftentimes
as short as the parasites themselves, but do not depend of a host organism for
replication. These organisms are called walkers. They are short programs that
merely measure themselves and replicate once in a single direction.
Walkers form huge moving colonies that slowly drift in one direction or another.
Organisms inside these colonies share their code in order to be able to
replicate more than once while saving space and accelerating replication. We
could think of them as 'voluntary hosts' for their sibling organisms. Walker
organisms also sometimes concatenate their measuring locks and dismiss the
arithmetic operations needed to measure themselves individually. With some luck
walkers can bypass large barriers, by continuously trying to allocate on the
other side of it. The larger the number of organisms inside a walking colony, the
higher the chances are of jumping through such barriers. However, the
long-term survival of a walker colony is only ensured by its ability to split.
With a single mutation happening on its allocation gene, an entire colony can
split into two child colonies that will eventually walk away from each other.
Could we consider this multicellular reproduction?
REEFS. Reefs are non-living structures. They
appear spontaneously, and quite commonly, in Salis, and sometimes form huge
barriers of allocated, non-living and non-sensical code. To this day I do not
fully understand how reefs form. However, I do understand the way they can
persist over long periods of time. It is thanks to metabolism. As implied earlier,
metabolism allows non-living code to push itself back to the top of the execution
queue, time and time again, each time generating a new CPU that will run its
instructions. Thanks to metabolism, pieces of code can
stay intact and protected over long periods of time. These code structures
may survive until cosmic rays disintegrate them, a process that may
take millions of generations. Thus, reef barriers are metabolic
structures, they execute continuously for a very long time until they lose their
metabolic ability due to mutation. Even though they are metabolic, reefs do not
replicate. Therefore, reef barriers cannot be considered living structures, instead
being abiotic or dead.
NESTS. Nests are by far the most fascinating superstructure discovered in
Salis so far. They are comprised of metabolic, but living, organisms. These
organisms are able to exploit the power of metabolism while also having the
ability to replicate. I've called these organisms nestlings and together they
form huge static and complex colonies. These colonies contain a central layer, a
zone where nestlings are located along with their metabolic byproducts. This
central layer is surrounded by two reef barriers, one on each side, which seem
to act as protection against external threats. Nestlings have evolved the
ability to metabolize continuously by allocating tiny memory blocks, usually
one byte long, and trading them for new CPUs. These small memory blocks, also
known as metabolites, can be thought of as byproducts of metabolism, waste if you
will, and can be seen filling in the gaps between the actual nestling creatures.
Inside a nest each individual nestling can live for a very long time, just like
reefs do, thanks to their code being safely kept at the top of the execution
queue via metabolism. Thus, most nestlings will live until cosmic rays make them
unable to metabolize anymore. Lastly, thanks to metabolism nestlings are also
free to evolve into longer, more complex forms. Nestlings are almost always larger
than their original ancestor organism, and this, as simple as it sounds, is
actually the first sign of complexification, or enlargement, of a
virtual genome thanks to evolution. This enlargement goes against the more common
trend of shortening and streamlining of organisms in order to allow for more
efficient replication. Wow! We've come a long way. Thanks for staying with me
until the end of the video. I know that for many of you Salis may not be as
eye-catching as other artificial life simulations. There are no robotic agents,
no complex 2D physics, no neural networks and no artificial intelligence. SALIS,
just like Tierra, attempts to fill its ecosystem with creatures that are more
naturally bound to the physical reality of its
underlying system. In this case, the underlying system is a computer and the
creatures, computer programs. One last thing... If you enjoy these kind of videos
and if you would like me to keep working on fun artificial life projects like
Salis, please consider becoming a patron. Link for that in the description. Any
small contribution will be greatly appreciated. Make sure to give this video
a like and subscribe to the channel! I'll be seeing you all, my fellow digital
biologists, very soon.
No comments:
Post a Comment