Virtual robot girl

Virtual robot girl will have human like skills. Human like skills means simply, she will be able to learn like a human, she will be able to express emotions like a human and she will be able to solve problems like a human. It does not mean she will tell you the population of Congo on request or which oil is bad for cats. These things have very less to do with artificial intelligence.

One of the major motivations of doing research on virtual robotics is the idea to implement the virtual model in a real robot later. Only then a robot can have a kind of self-awareness.

The first kind of problems the robot will solve are the following. Re-arrange the 3 top cubes so it makes sense (hint for the example -  second power):

Humans like linearity. And the robot too. So we will measure linearity by linear regression and the Sum-of-Squares Error (SSE). The smaller the SSE, the better the approximating function fits the data. The SSE is the sum of squares of residues or

Sometimes two solutions exists where the SSE is minimal (function and its inverse function). Then the linear regression line with a positive slope is chosen.

Now we have not only one data set to try. We have to try all possible permutations without repetition of the upper cubes which is 3 factorial or 3! = 1·2·3 = 6.

The first video demonstrates how the robot solve these kind of problems.

Meanwhile I put some thoughts on artificial consciousness or self-awareness. Is that feasible? Yes, I think it is. To do that, the robot must be able to build a virtual model of itself, and the robot must be able to compute if the model became Bijective at some point. At that point when the model is Injective and Surjective, a kind of artificial consciousness has been reached. If you look into the mirror, you do not recognize yourself. You recognize that the mirror image is Bijective to the model you have been built of yourself over the years. The following sketch and the second video illustrate the idea:

A mind must be able to predict the future to some extent to do any planning. For the moment the robot is able to forcast the weather for a few days given on the current weather (should I take an umbrella tomorrow?). Markov chains are used to develope a very simple weather model. The probabilities of weather conditions (rainy or sunny), given the weather on the preceding day, are represented by the following transition matrix:

The matrix P represents the weather model in which the probability that a sunny day followed by another sunny day is 0.9, and a rainy day followed by another rainy day is 0.5. Markov chains are usually memoryless. That means, the next state depends only on the current state and not on the sequence of events that preceded it. But we can change the inital state if we have other experiences to model the weather or something else. One more note: Columns must sum to 1 because it's a stochastic matrix.

The weather on the current day 0 is either sunny or rainy. This is represented by the following vectors (100% sunny weather and 0% rainy weather or 0% sunny weather and 100% rainy weather):

The general rules for day n are now

or equally

This leaves us with the question how to do these matrices multiplications for our example:

Third video shows the implementation of Markov chains.

Expresses emotions, solves problems, artificial consciousness


This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/virtual-robot-girl

Your little AI has grown up
Your little AI has grown up a bit. Soon she’ll be texting all of her virtual friends and won’t have time for you any more. :slight_smile:

I like the videos, but I can only see them as stills on my iPad. I click them and they disappear.

Markus, make her smile. She

Markus, make her smile. She looks like bored to death :slight_smile:

Finally I saw her draw
Finally I saw her draw circles. How did you teach her to do this, MarkusB?

Hi Jay,Basically she can

Hi Jay,

Basically she can draw any graph of ƒ(x) where ƒ(x) and x are real numbers. This is just a finger exercise for IK and other ideas I have in mind, but no AI yet.

You might want to look at
You might want to look at MOSES. It’s a general function solver. I heard about it because it is used with OpenCog.

I just checked your equation

I just checked your equation Markus.

 

SSE.jpg

Are you sure that you not forgot something?

Haha, jsut kidding...I have no idea what that equation will do but I trust you to let us know in simple words once she (what's here name anyway?) is finished.

Hmm…I thought I explained

Hmm…I thought I explained already clearly what she does in the moment. Many IQ tests have this kind of task.

 

LOL, I know what she’s doing

LOL, I know what she’s doing but that equation does not explain that to me :slight_smile: I am just saying that I am always wondering that basically everything can be explained by math.

 

I now understand the terms
I now understand the terms inactive and friends, but can self awareness be programmed in just by having a routine that for this visually or is self awareness more of an awareness of what one is thinking and has done?

For example, I believe dogs are self aware because of a couple of things.

  1. They recognize their own actions.
  2. They recognize that there are consequences to their own actions.
  3. They can smell and taste where they’ve been and can tell their own markings from that of other dogs.
  4. They recognize themselves as different from other dogs.
  5. We did have one dog that could recognize the pictures of dog-like animals on the TV (I found out when I found Chaos’ nose pressed against the screen where there was a shot of a Coyote and she followed it, probably wondering where the smell was).
  6. They have an awareness of objects even when they are out of sight.

I’ve never met a computer program that I believed had self awareness. I would love to be pleasantly surprised though.

I think self-awareness is

I think self-awareness is mixtue of many things, a kind of system backup we are doing continuously. And I think there are different levels of self-awareness. My daughter is 3 and a half years old. She recognizes herself in the mirror, but she never uses the term “I”. She always says “Mia has…”, Mia is…" and so on. I believe self-awareness on a human kind level is then reached if we merge with the model we built of ourselves, if we can say, yes, this is what I am.

While I started to think about self-awareness, it become suddenly clear for me that we can’t recognize ourselves in the mirror if we don’t have a well constructed model of ourselves. A physical object is unable to recognize itself. And a program is unable to recognize itself, if it does not have a model to compare to. Basically let a program copy its source code in a buffer, feed it with its own source code, let it compare the input with the buffer and compute if the input set is bijective with the buffer set.

 

For fun i made a java class

For fun i made a java class that read from a file, and if the text file address is the address of the class it answered “it’s me”, if the file was in a different address, but with the same text as the source code of the class it would answer “it’s a clone!”.

I doubt it would be self-awareness. Then i added even the methods to the class to add other methods, comments and add calls to the main function. I gave even auto compile, but i had to get rid of it because it would make the pc to crash.

Self awareness should be building a model, simulate an action, get feedback from the model, make action and get feedback from real, if the feedback from real it’s same as the feedback from model, model is confirmed for that simulation.

 

Hi Markus, you are creative

Hi Markus, you are creative dude. love your math.btw can you add some more example with opencv for her ? 

Interesting

Is she dating at the moment.  :slight_smile:   j/k I find this interesting but my maths level is some what lowish. :slight_smile: