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
This leaves us with the question how to do these matrices multiplications for our example:
Third video shows the implementation of Markov chains.