Recently research out of Carnegie Mellon, U Penn and Willow Garage developed a new optimization tool, namely Experience Graphs. Their paper is available here. Lets start with an example.
Suppose you are visiting a new city. For example, London. London is a good choice for me because I have never been there and it is also a popular tourist destination . We are in London staying at a hotel and decide we want to go visit Big Ben. So we pull up google maps and ask google the best way to get there. Now once we go there we have a good time, then we drive home.
On the next day we want to go to Buckingham Palace or Trafalgar Square. Instead of plotting a new route from home, we might instead remember how to get to Big Ben, and then look up how to get to Buckingham Palace from Big Ben. Eventually, we begin to learn a few of the main streets and figure out how to get to places using our known paths to get there.
I hope we would all agree that this is an efficient way to quickly learn your way around a city. Since some of you like using your GPS lets try a different example.
I am beginning to learn how to woodwork. I know how to use bolts but not nails. (Technically I know how to use nails, I just don’t know how to not hammer my thumb when putting them in so I avoid them like the plague). There are certainly many situations where nails are a better tool than screws. (Screws and bolts are stronger but also more expensive and take longer to put in). Because I am familiar with screws, I use them instead of learning how to use nails. Why? Because there is a cost associated with learning to become good with nails, so I accept a suboptimal, but sufficient, solution instead of creating the optimal solution.
These are, in a sense, bad examples of why experience is useful. But we all have many tasks which we can do more rapidly because we have done it before. For instance, I have just started putting eye drops into my dogs eyes and it is finally beginning to become easier after three weeks. That is experience. What is interesting about the experience graph is that it is a mathematical method of apply experience into robots and artificial intelligence.
The way an experience graph works is lets assume we have a graph. We then create a subgraph (that is a graph consisting of parts of the original graph) which is based on experiences, i.e. things we already know how to do. This new graph is called the experience graph. When problem solving, solutions which use processes from the experience graph are then prioritized over solutions which don’t use the experience graph. This allows the “artificial intelligence” to learn.