Jul 022012
 

A number of new developers arrive at the Noble Ape developer mailing list each month. They present an introduction, post a little about what they would like to work on and then they disappear. I have been trying to track the point where these developers drop off. I posted last month to solicit feedback on the developer mailing list and the most interesting feedback was that the source was pretty impenetrable for a new developer.

Although I don’t have a clear memory to when this happened, there is smatterings of Doxygen comments throughout the source. I recall it may have started with Bob Mottram. I added some additional notes. But the Doxygen comments were pretty minimal. In the past 24 hours, Bob and I have been adding Doxygen comments back into the source. It may take a couple of months to get things fully up to speed. In the mean time, I will be periodically updating the online version of this documentation.

http://www.nobleape.com/sim/html/

Jun 152012
 

Regulars to this blog, will have seen these videos previously but as we’ve had an influx of new folk to Noble Ape, I wanted to provide the videos in a single location. Enjoy!

Windows

Update: Please note that this video is already out of date. In addition, please include the entity directory in your drag-and-drop addition with the other directories.

Mac

Update: Please note that this video is already out of date. In addition, please include the entity directory in your drag-and-drop addition with the other directories.

Command Line

Update:  Thankfully this is not out of date.

Update on the Command Line

Future Projects

Jun 132012
 

A recent addition to Noble Ape is that of explicit family relations within the social graph.  A new parameter called relationship now exists within the social_event structure (see universe.h), and this represents a family relation type defined by constants beginning with RELATIONSHIP_.

Whenever a new ape is born its family relationships are updated, and this will enable things such as being able to display inheritance trees in real time, and also something like Machiavellian logic could be implemented within the braincode programs in which complicated plots could be developed depending upon social relations.

Keeping track of family relations also highlights a weakness in the current cognitive architecture, and that’s that there is no semantic knowledge.  So potentially something like:

If I meet my brother then do X

could be expressed within braincode, but something like:

If I meet X, and X is the grandmother of Y then do Z

where X and Y are not family members, couldn’t be.  That’s because “X is the grandmother of Y” is a piece of semantic knowledge.  So in further development there needs to be some way to store that kind of knowledge – perhaps in a manner which isn’t restricted to family relations.

Apr 162012
 

There was recently some discussion about the possibility of adding internal organs to the Noble Apes, for things such as digestion.  I thought I’d start with arguably the most important organ after the brain, which is the heart.  Without a heart beat not much other physiology would go on, so this seems like a good enough place to begin.

At first I looked at medical simulations of a heart beat.  I did a little background reading on “vital signs simulators”, which are typically hand held or oscilloscope-sized electronic devices used for testing medical equipment or on things such as life support machines or the slightly uncanny patient simulators .  With their frugal computing resources, such as PICs or other low power embedded computers they probably have a quite efficient set of equations for simulating heart beats under a wide variety of test scenarios.  I also looked at an open source (GPL licensed) simulator called ECGSYN.  ECGSYN produces a fairly realistic output, but is mathematically quite complex (with an inverse Fourier transform) and uses a lot of floating point arithmetic.  There’s also the problem that to be able to simulate something like this the update rate has to be in the order of less than a second, and the current temporal resolution of Noble Ape is only 1 minute per time step.

With a low temporal resolution a heart beat could still be simulated, but only as an average value.  There is however a lot of other bio-machinery attached to the heart which also could be simulated, and that is the vascular system which connects the central pump to all of the other organs.  Simulations of this type seem to be quite scarce, but I did find a paper called “Simulating of Human Cardiovascular System and Blood Vessel Obstruction Using Lumped Method” which seemed simple enough and sufficiently documented to be implementable within a small amount of computing time, such that it could scale up to many apes.  This model is based on an electrical analog of the vascular system.  People teaching electronics often provide an analogy of pipes, reservoirs and valves, and this is the opposite of that.  The flow of blood becomes equivalent to the flow of electrons through wires, such that the usual electronic circuit equations apply.  Using this model it would be possible to construct a physical circuit which can be used to simulate a variety of medical situations, and without using any computing at all in a similar style to the early cybernetics models of economies or companies.

The vascular system isn’t just a set of tubes and valves.  Instead it’s a dynamic system which is under neural (although unconscious) control, and mediated by a variety of neurotransmitters.  Parts of the system can contract or dilate under different conditions to optimize the body for certain kinds of performance, with two major modes of “fight or flight” or “rest and digest”.

The implementation is currently at an early stage, and doesn’t do anything very exciting yet.  It may be switched on or off using the VASCULAR_ON define.  The aims are:

  • To simulate the response of the sympathetic/parasympathetic nervous system.
  • Vasoconstriction in cold climates, vasodilation in warmer ones.
  • Homeostasis to try to maintain internal pressure/temperature.
  • Simulate various illnesses, such as a heart attack, narrowed arteries or wounds after a fight.
  • Link the neural control of vessel radius/elasticity to genetics factors.
  • Calculate an amount of energy available to the digestive system (not yet implemented), based upon blood flow to the gut.  This might mean that the energy resolution needs to be higher than it currently is (somewhere between 0-3000).
  • Some sort of visualisation which could be saved as an image or maybe viewed in the GUI.

If the temporal resolution of the simulation was higher it would also be possible to see pressure waves due to the heart beat, and possibly resonances based on that.

Apr 082012
 

The last video provided some information but based on my running of the longterm command line version of Noble Ape over the past couple of days, I think readers to this blog should find it a very simple to-do and interesting method to explore the Noble Ape environment.

This version shows a work-in-progress version but the more users, the more feedback, and I would like to add this interface to the GUI version too.

Apr 062012
 

The nalongterm command line program now includes a command called “epic”.  This lists the most talked about apes which currently exist in all of the episodic memories within the population.  The most talked about apes are not necessarily the same as the most honorable ones.  Who gets talked about depends largely upon the anecdote instruction (ANE) being activated within braincode programs.

Apr 062012
 

I probably shouldn’t be amazed by being accepted for academic publication but it is still a kick as someone who isn’t an academic to get through academic peer review and get into the books of choice. This morning’s acceptance was for Springer’s Origin of Mind. There had been so much interested that in addition to the Origin of Mind, those who didn’t make it would be included in a couple of additional publications. I wanted to be Origin of Mind however because Noble Ape has a historical legacy associated with providing a philosophical simulation of the mind to test various theories and the Origin of Mind chapter opened that up in spades. This chapter was pretty heavily dedicated to the phenomenal work Bob Mottram has put into the development and now this blog.

The second is that I received an email from a fellow who is interested in working on Noble Ape through listening to the Biota podcast. There’s a subtle theme through the Noble Ape development. This comes through the Original Manuals.

The defining moment in this project came having watched the Simpsons‘ Halloween Special VI, the award winning Homer3. I found the whole episode unbelievably haunting. A moon landing equivalent of my generation. Seeing a two dimensional family or at least the father of a two dimensional family become a three dimensional entity in our world and the addition of the computer animation and the hex-code ’4672696E6B2072756C657321′ or ‘Frink rules!’ etched into the strange three dimensional universe (Frink being the nerdy-scientist). I found it hard to believe the addition of the two twelfth powers equate to the third twelfth power. To me this was what television should be, a whole lot of deep information, dressed up as entertainment.

The early Iota spin-off simulation had an apelike creature that bore a strong resemblance to a quijibo. After the Rushkoff article came out Douglas said he’d be more than happy to introduce me to anyone he knew. I paused at Yoko Ono but opted for Matt Groening. Sadly he never made good on the offer. Today, an artist from the Simpsons contacted me to be part of the Noble Ape development.

Best day ever.