Close

AIvan_2 and AIvan_3

A project log for Ivan the Teambuilt Robot

An e-NABLE robotics project to give hands to those without use of their hands. Designed with your help.

les-hallLes Hall 08/19/2016 at 14:530 Comments

I just uploaded the zip files for rev 2 and 3 of AIvan, AKA Ivan's BrainZ. In rev 2 I learn (or re-learn) some basic file i/o and pointers and header files stuff. As I get more comfy with K&R and my admittedly archaic coding practices, I take time to really think about AIvan.

One thing was the concept of long term and short term memory in Ivan. The Google cloud service mentioned a feature of their cloud intances called "persistent memory" and since I plan to one day soon unleash AIvan unto this cloud, I thought it might do well for the long term memory of Ivan to exist on the disk file storage. When Ivan woke up he could read his disk file and then when he fell asleep he could write it out. Then I thought some more a bit later and realized that as humans we don't have a total recall moment upon waking and a memory dump at rest. Rather we access our long term memory the whole time we are awake (or mostly we do). So I should code Ivan accordingly.

Specifically this has caused AIvan rev 3 to show the humble beginnings of a concept emerging. It all started in the wee hours of last night (Friday morning, Aug 19, 2016) as I spoke with my friend Ixmal Supermarine of London. We spoke at length about various interesting topics leading up to AIvan and at the end of our convo Ixmal mentioned something very curious. He said if I could make Ivan do a good job at handling the unexpected, the unpredicted, ie the untrained phenomena then that would be an useful discovery.

I thought about that in the context of the disk file as long term memory and I know this will sound crazy to you but as I sat and wondered, I heard two words. The first word was dream and the second word was imagine. Actually what I heard was "Ivan must dream" and I forget the context of the word imagine. This is how I receive communications of a spiritual nature, or so I believe.

So now it began to make sense. Dreaming can be thought of as thinking with sparse or no long term memory access, at least in a vague sense. And imagination is like dreaming while awake (ie daydreaming). Also we know that we can't recall dreams if we don't write them down immediately after waking up - no long term memory storage (only short term). So to make an AI dream or imagine, we can create dream behavior just like waking behaviour and decide what type of memory access is involved.

These notions are still formative obviously and exist as vague concepts that are at best only approximately modeled by the code, so I think we should take them with a grain of salt and maybe think (a lot) more about them before drawing any conclusions. I'm just writing down what I am thinking about - what do you think of it all?

Les

Discussions