Skip to content

artainmo/physarum_polycephalum-simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Physarum Polycephalum simulation

Visual simulation of an intelligent slime-mold named Physarum Polycephalum, a biological form of intelligence without a nervous system.
Has implications for intrinsic motivation of intelligent systems and path traversal.

The intrinsic motivation of this intelligent system can be summarized as consisting of two phases, namely exploration and exploitation. First it will explore by advancing in a generalized manner until it senses an attractant which leads to the exploitation phase where it advances in a selective manner towards the attractant until consumed. We could also talk about a third phase, the avoidant phase, where a repellant modulates the Physarum's behavior so that the Physarum avoids it.

See

Use the simulation.

Current version handles one Physarum with multiple food sources of different sizes and macronutrient composition. The code hasn't been optimized for speed yet, thus in certain situations where the active branches are in large amounts it can run slowly for some time until unnecessary branches retract.

I could still add light and its aversive effect, walls, food color relative to macronutrient composition, multiple Physarums competing for food, optimize code speed or even handle temperature/humidity and Physarum's internal clock...

Workings

Here are the main characteristics of the Physarum polycephalum who are important for programming its simulation:

  • It starts of at one point, branches like a coral until it senses from a distance food and starts to develop one branch towards that food. In the meanwhile the branches that went on wrong path retract and leave translucent slime, which signals the blob to not expand in that 'wrong' path again. When finding path to food, it finds the shortest path. Longer paths retract while the shortest one gains volume.
  • Rhythmic pulsations are what makes the blob move. cAMP is responsible for those pulsations also called cytoplasmic streaming. The more cAMP the thicker and longer a vein/path becomes. Attractants increase cAMP while repellants decrease it.
    • When encountering food cAMP increases and the vein that transports the food becomes bigger. On the other hand open-ended tubes, which are not connected between the two food sources, are likely to disappear. Also, when two or more tubes connect the same two food sources, the longer tube is likely to disappear.
      • Slime mold prefer food 2/3 protein and 1/3 carbohydrates. If having the choice it will move faster and thus prioritize food with more optimal macronutrient composition. Or in general the largest food source.
    • On the other hand light has an aversive effect, slows down the blob at the place of light while branches outside the light still move at normal speed.
  • The blob has an internal clock, the rhythmic pulsations may allow this. If temperature and/or humidity drops it must move more slowly to save energy. If this environmental change happens every hour it will learn to automatically slow down at those times.
  • Blobs can also sense other blobs and in such times of competition will start moving faster to food source.

Documentation

A memory without a brain
How brainless slime molds redefine intelligence
This Weirdly Smart, Creeping Slime Is Redefining How We Understand Intelligence
Thinking without a brain
A survey on physarum polycephalum intelligent foraging behaviour and bio-inspired applications
Characteristics of Pattern Formation and Evolution in Approximations of Physarum Transport Networks