Dec 102012

I have been thinking for some months about what to do with my writing.

I’m completely frustrated with writing academic chapters that end up in USD300+ books that no one reads and there has been periodic correspondence with users of Noble Ape who feel the Original Manuals (paper / pdf) are too expensive at just under USD8 and USD5 respectively.

It could be that releasing my writing completely free would be the way to go but I’m concerned about maintaining this writing too. About eight years ago, I started a long format blog for Noble Ape (the precursor to this blog) and I don’t know where that writing is now. Charging a small amount for something and passing the responsibility on to Lulu and Amazon to maintain the writing seems to be the way to maintain eclectic elements that aren’t required for understanding the development but provide a little bit more information if you are interested.

My plan is to write about 12,000 words every three or four months on various aspects of Noble Ape and put them into a Journal that I will put up on Lulu (and Amazon). I will continue to maintain the Ape Reality podcast feed and publish an article per journal through the podcast feed too together with the usual podcast audio and video.

In terms of those who want everything for free associated with Noble Ape and want all this content for free as well, I’ve heard this complaint about the Original Manuals too. If you own no books and have never spent any money on anything then I’d be sympathetic but if you have spent some money on something and in particular if you own some books you have spent your money on, then I’d like to think the time put in to writing on Noble Ape would hold a minimal enough value for you to purchase a PDF or a paper copy for roughly USD2 or USD3 per issue of the Journal.

Sep 172012

I am working through adding audio to the simulation. In particular giving the Noble Apes both voices and an intelligible language. This may produces some interest results. Current the language is very simple with four vowels and four consonants. I’m keeping it simple mainly through their mouth and throat simplicity. There is plenty of primate language work to base the voices on and the ability to add genetic uniqueness and regional dialects is also proving interesting.

Stay tuned for southern and northern Noble Apes?

As the voices are ultimately about functional frequency manipulation there is a great potential for song. As the Noble Apes communicate currently, it can be approximated as two voices speaking over each other in rapid and refining succession. It does lend itself to a fierce round-like song pattern.

There has been a legacy interest of linguists through parts of the simulation. The ability for evolving language components to Noble Ape will no-doubt bring that interest in a focused form.

Initially the spoken audio will be produced as AIFF files. I’m hoping to get realtime stereo audio for Mac at least initially. At the same time, I’ll bring the command line/GUI functionality to Linux in this version.

With the permutations of names and the potential to package the AIFFs to iTunes, there may be an army of Noble Ape Idol tracks flooding the market shortly.

Watch out UK, Christmas #1 potential. Seriously.

Sep 042012

Some in the recent past I release version 0.695 of the Simulation. It was a Mac only release. My aim for 0.696 is to make the came command line/GUI combination changes to the Linux version and modernize the interface so the Linux version runs will the feature set of the Mac version. 0.697 may be a similar release for Windows.

The Mac version of the Simulation has been plugging ahead with slightly more features each release for about ten releases now. The rewrite of the Linux interface has also required some of the Mac features to be rewritten to be more platform generic.

In addition, I have been reflecting heavily on my time at ALIFE XIII. Although a lot of audio made it to both Ape Reality and the Biota podcasts, I haven’t yet formalized my own thinking from the event and my time following at Michigan State University and University of Illinois, Chicago.

Mixed feelings I must say. It is curious when you have been developing something for the time I have been developing Noble Ape that it isn’t quite like other artificial life simulations, but is it similar enough to continue the name or should it be a different class of simulation. More on this when I have solidified my thinking.

I’m also working on a chapter for Bruce Damer currently on his Origin of Life theme. Perhaps more on that shortly too.

In terms of Noble Ape specific projects. In addition to the platform by platform rework, Bob Mottram is exploring (through perhaps substantial reading alone) poetry and psychedelics as two potential directions for Noble Ape going forwards. More on that too shortly no doubt.

Hey, simulator, leave us apes alone!

Jul 212012

Some thoughts on Tom’s recent presentation, which can be found here:

This is a pretty good description of the additions I’ve made over the last couple of years.  On the issue of the complexity of multiple simulations on multiple levels that probably is quite frustrating if you’re trying to do a reductionist analysis to find out what influence a particular factor has.  In that regard it’s similar to a real ecosystem.  Unlike a real ecosystem though the advantage of a simulation is that a detailed analysis of the chain of causality is in principle possible, although it might take some logging and detective work to obtain.

On the question of whether the whole system could be crashed in a chaotic way by some small event in one of the simulations, that might also be possible although I havn’t done any significant amount of investigation in that direction.  So it could be the case for example that one ape contracting a particular pathogen or having a genetic makeup which makes it a good host for a particular kind of pathogen results in a pandemic which kills off a lot of apes.  Or another situation might be that there is a particular set of cultural practices, spread via the braincode, which keeps parasite levels low but if that culture fades away then there could also be increased mortality levels.  So it’s certainly possible that some tiny event or decision could have large macroscopic effects.

I’ve had an interest in animal behavior for a long time, and this might be partly where an interest in AI and robotics came from.  One of the early books which I read about AI was “Intelligence as Adaptive Behavior” by Randal Beer.  That book is pretty much at the intersection of AI, neuroscience and Artificial Life.  Later on I read a couple of books by Jane Goodall: In the Shadow of Man and Through a Window, both of which are very much about the narrative history of a particular group of apes.  Another influential book was “Ape, Primitive Man and Child”.

On the current confusions about ancestry I’m still not sure whether this is a bug or a feature.  Currently conflicting relationship claims are possible, where an ape might start off having a particular grandmother but then be told via an anecdote at some later stage that they have a different grandmother.  Maybe such conflicts should simply be detected and removed explicitly, or perhaps there should be some cognitive process which tries to maintain narrative consistency.

Is Noble Ape useful to biologists?  It might have some use as a teaching aid to get people interested in studying biology.  Currently it’s not a highly accurate simulation of any particular environment or any particular type of ape though.

Possible future developments

There are many possible directions in which the simulation could go, and there is plenty of scope for improving or refining the existing components.  Some things which might be worth doing are:

1. Changing the way that memories are stored.  Currently a fading memory model is used, whereby the older an episodic memory is the more likely it is to be replaced.  This might not be very realistic, and it might be the case that particular memories are actively maintained.

2. The ability to treat other things which are not minds as if they were (anthropomorphising).  This would include the ability to treat territory as if it had agency, or to make generalisations about groups of apes.

3. The braincode is currently only the most abstract representation of a language system.  Perhaps more language elements could be added, such as learning or uttering particular words/calls.

4. Better visualisations of the social graph, hierarchy and ancestry.  Also visualisations for the metabolism and vascular system.

5. An expansion of the actions system to enable more playful and arboreal activities.

6. A way of identifying and visualising common sequences within the ideosphere.

7. Other creatures for the apes to interact with.

8. A more generative ability to combine objects into assemblies – primitive toolmaking.

9. Better 3D graphics.  More realistic looking apes and vegetation.  Rain and wave effects.  Shadows which change with the sun.

10. Ability to network multiple simulations together.

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.

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!


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.


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.