aibits
  Your AI & Robots news aggregator
 

Number of results 13 for of

21/03/2012 - Sam I Am
It is hard to resist a project called ‘Sam I Am’. Sam I Am (Sensitivity Analysis Modeling Inference and More) provides GUI Java tools for designing and experimenting with Bayesian Networks. They do not appear to be open source, but they are free for you to download and use. SamIam is a comprehensive tool for [...]

04/04/2010 - PR2 robot folding towels
Robots have been good at keeping our floors clean and some have started working as receptionists but the household robots of our dreams are still far from real. Researchers, however, are slowly but surely making small steps towards the development of a general purpose, household robot. Pieter Abbeel and his students at the University of Berkley and in collaboration with Willow Garage have developed a new algorithm that allows a humanoid robot to fold towels, a very challenging task.

In the past, many researchers have shown how a robot can pick-up and manipulate rigid objects. The Berkley researchers have now developed a method for determining the corner points of a non-rigid object useful for grasping it and then using the PR2 showed how it works in having the robot fold towels left on a table.

This is how it works,
The robot begins by picking up a randomly dropped towel from a table, goes through a sequence of vision-based re-grasps and manipulations—partially in the air, partially on the table—and finally stacks the folded towel in a target location. The reliability and robustness of our algorithm enables for the first time a robot with general purpose manipulators to reliably and fully-autonomously fold previously unseen towels, demonstrating success on all 50 out of 50 single-towel trials as well as on a pile of 5 towels.
Sounds good doesn't it? Other than the fact that it takes the robot a considerable amount of time to complete its task (on average it takes the PR2 nearly 1500 seconds to fold a towel) this is one of the coolest robot manipulation demos I have seen recently. If they can get the PR2 to wash my dishes, do my laundry, vacuum my floors, cook my dinner, pick-up my groceries, and walk my dog, then I will be a very happy man (I would also have more time to update this blog :) ).

You can watch the robot in action in the video below.


Scientific Memory Games: Improve your cognitive abilities.

31/08/2009 - The Lumiere project: The origins and science behind Microsoft’s Office Assistant
Microsoft Office Assistant ClippyI think by now just about everyone has heard about the most annoying feature to have been included in a commercial piece of software. I am talking, of course, about Clippy, the Microsoft Office Assistant that many loved to hate. Clippy was first included in the 1997 release of the Office suit and continued to be part of the product line until 2007 when it was permanently removed.

Many people know Clippy as major nuisance but few know the story behind the technology and why it sucked so much. Keep reading because I am about to tell you all about it (if you don’t want to read the whole story, you can just jump to the video at the middle of this post; if you watch the last minute you will get a glimpse of Clippy’s grandfather.)

Origins

In 1993, Microsoft researchers from the Decision Theory & Adaptive Systems Group established the Lumiere project to study and improve human computer interaction using Bayesian methods. The group wanted to create smart technologies that can observe a user interacting with a computer program and infer his/her goals and needs providing valuable feedback and assistance as necessary. Developing such a technology makes sense since many people often become intimidated by complex software interfaces. I won’t bore you with the details of what Bayesian methods are and why they are good. The mathematics behind such methods is solid and has had many useful applications to date.

So, is this an easy problem to solve?

Actually, inferring a user’s intend is a very hard problem no matter how good your math is. The Microsoft team had to infer user intend from his interaction with the program, e.g., mouse movement, what menu items were selected, context (what is the user trying to do – remember how Clippy always came up saying something like “I think you are trying to write a letter. Would you like some help?”) and specific text queries by the user, e.g., how do I print a document?

Any user model that can adequately capture all the relevant information will necessarily have many variables. The values of these variables must be estimated over time. Moreover, different users tend to interact with a piece of software differently. For example, an experienced user is most likely to need less help; the same user may also help with the more obscure features of the software compared to a novice. Personalization is a very important factor in ensuring that such systems work well.

To make a long story short, the Microsoft researchers led the senior scientist Dr. Eric Horvitz were making good progress and in 2 years time they already had a nice system working. So, in 1995 and as the team had already started collaborating with the Microsoft Office production team, they put together a demonstration of Lumiere’s inference engine for Excel. The video below is a 9-minute tour of Lumiere working in Excel. In the video, Horvitz explains how the inference engine worked in 1995 and how they envisioned it working in later versions using a cartoon character front-end. Watch the last minute of the video for a glimpse of Clippy’s grandfather.

After the video, I explain using evidence from a number of Microsoft Research publications and personal knowledge why Clippy worked so poorly in the 1997 release of Microsoft Office.



Clippy debuts

The Bayesian inference engine demonstrated in the above video works like a charm monitoring the user’s behavior, inferring his intend, and providing help in a contextual and personalized fashion.

Two year after this video was recorded and after much collaboration between the research and product teams, the Lumiere project debuted as a well advertised feature of Microsoft Office 97. Clippy was one of the many cartoon characters that were available as the engine’s front end interacting with the user.

Unfortunately and as we all know, Clippy worked so poorly that it was not long before users started complaining about its behavior. So, what went wrong?

The reasons behind Clippy’s massive failure


Well, after doing some research I found out what went wrong. In a paper published in 1998 at the Conference on Uncertainty in Artificial Intelligence (UAI), the Lumiere team described the inner workings of the Assistant’s inference engine and also how much of it was included in the released version of Office 97. Below is a list of the features that were excluded from the product release (those keen enough can cross reference the list with what was demoed in the video above.)

  • No persistent user profiles.

  • No reasoning about user competence, i.e., novice versus experienced user
    Small event queue with emphasis only on the most recent interactions of the user with the software interface (this means the engine was trying to guess the values of many variables using very little data.)

  • Separation between user interface events and word-based queries; for word-based queries the engine ignored any context and user actions.

  • Last and possibly most important and I quote from the paper, “The automated facility of providing assistance based on the likelihood that a user may need assistance or on the expected utility of such autonomous action was not employed.” Instead, “The Office team has employed a relatively simple rule-based system on top of the Bayesian query analysis system to bring the agent to the foreground with a variety of tips.” This is why Clippy kept popping up all the time. It was not using the mathematically correct engine that the researchers had designed. It was driven by some rule-based system that one or more of the developers from the product team thought was a reasonable substitute.



Why did Microsoft cripple Clippy?

Obviously for some reason many of the features in Lumiere’s Bayesian inference engine never made it into Office 97.

Why?

I have not been able to find an official document that explains why most if not all of the inference engine’s features were not included in the Office 97 release. However, I can provide some informal evidence based on personal knowledge.

Some time in 2000 or 2001 when I was still a graduate student, Dr. Horvitz gave an invited talk at my university. He talked much about his HCI research and the Bayesian modeling techniques he had been studying for years. A question about Clippy was eventually and unavoidably asked. What the heck happened with that?

I recall his response being that what happened was as noted earlier much of their careful mathematical modeling of users never made it in the final product. He explained that the reason for this was a lack of disk space. You see, the Office suit ended up being much more bloated than originally expected and since most of the more mundane features were considered essential the product team decided to limit the amount of space available for the Office Assistant component. This is why so many features had to be removed. They did not have space for it all.

This is the story of the Microsoft Office Assistant or Clippy as it is most widely known. Microsoft discontinued the Office Assistant (more accurately turned off the feature and I very much doubt that anyone bothered to turn it back on) with the release of Office XP on 2001 and so Clippy is now resting in peace somewhere in a backup drive in Redmond.

The courageous story of Clippy and the tragic story behind its humble beginnings, rise to fame, and downfall are now part of history. But at least, you now know the truth of the reasons behind its unfortunate demise.

16/08/2009 - Our fear of robots
Last week, I wrote about Toyota's humanoid robot and its new running skill. The post received a large number of visitors as it was posted on Slashdot and referenced by a number of other technology blogs. The video on YouTube received more than 600,000 views and over 800 comments. That's great and thank you all for watching. However, I was astonished by the comments posted both on this blog and on YouTube. Most of the comments were expressing fear about the robots taking over the world and killing all humans in the process. References to popular movies such as Terminator and Transformers were plenty.

Why are we afraid of robotic technology so much?

Most people have little understanding of what it takes to develop working robots whether humanoid, 4-legged, tracked or wheeled. It is incredible that in the span of just a few decades we have been able to construct machines that walk on two legs, manipulate objects using dexterous hands, can perceive their surrounding environment, and interact with people. Compare that to nature that took millions of years to evolve humans.

That said, these marvels of technology are designed to perform very specific tasks. The robots are not self-aware even though we might think they are because of their human traits. Robots work tirelessly in factory assembly lines performing jobs that require precision and speed. The Japanese are investing much money in the development of partner robots because they are predicting a huge shortfall in qualified workers due to a quickly aging population; who will take care of the elderly if there are not enough men and women to do the job? Some robots are designed for use by the military including delivering ordnance but these are always under supervision and remote control. Military robots do not make decisions on who to attack and when but instead follow a well laid out plan given to them by humans.

Will one day robots become self-aware and decide to eliminate humans?

If we are to believe movies, TV, and science fiction novels, then chances are that yes sooner than later advanced, intelligent robots will enslave humanity. I am not so sure why but apparently they will. To me it seems the doomsayers take the stance that robots will be very much like humans leading to a disastrous outcome (for us, of course.) In the course of history humans have not given a second thought to enslaving other humans whom they thought inferior to them. If robots are smarter and more capable than us then surely they will inevitably decide to enslave us.

Not necessarily say I.

There is no reason why self-aware robots will develop to be evil and hate humanity. There is a good chance that the robots may decide to help humans. Along with becoming self-aware, they may also become sympathetic to us. Robots do not feel tired and can easily be repaired if necessary. Not to mention that if the robots develop an adventurous spirit inherent to humans, then chances are that they will move away from the Earth exploring the vastness of space something that humans will not be able to do for a very long time.

Anyways, to conclude a longer than usual post, I don't think that robots will necessarily turn bad and try to enslave humanity regardless of what you watch in the movies. We are designing our robots to co-exist with us and we are making efforts to make sure that in the future robots will be treated ethically just like we treat other humans. There is nothing to fear. We should be proud of our achievements in robotics and artificial intelligence. Maybe one day if humanity perishes and robots inherit the Earth, they will write their own version of Genesis with a human being the creator who made them in his image.

11/04/2009 - Tweenbots: Human-dependent robots navigating a big city
Tweenbots are cute little robots with few skills of their own other than being able to slowly move forward. At 10 inches high, tweenbots have a hard time navigating even the smallest of obstacles needing lots of help from humans passing by.

The tiny robots are the creation of Kacie Kinzer, an arts student interested in studying something I don't understand, "...finding ways to provided more textured and meaningful experiences through technology--particularly in relation to the transmission of narrative." Regardless, this Tisch School of the Arts student created the tweenbots which are capable of navigating long distances in urban settings relying heavily on the kindness of strangers to point them in the right direction.

If you thought that the robots would never reach their destination, think again. With the help of other pedestrians, tweenbots have successfully navigated considerable distances such as crossing the Washington Square Park in 42 minutes.

The video below shows the tweenbots in action crossing the park. Go little guy, go!


29/03/2009 - Rescue robot that can clear debris and lift heavy weights
rescue robot Bari-bari-IIRescue robots are one application for which there has been much excitement during the last decade. These robots are designed to be small and versatile carrying a comprehensive sensor payload in order to detect victims under heavy debris in disaster areas. Everyone who has watched the news after a major earthquake or hurricane with many buildings destroyed can easily understand the need for such robots as rescuers are frantically searching for survivors under heavy debris.

Researchers from the Tokyo Institute of Technology have recently proposed a new type of rescue robot that is capable of not only detecting victims in need of help but also clearing and lifting heavy debris to reach them.

The prototype robot named Bari-bari-II has a unique design that allows it to navigate over and lift debris. Its front is designed to have a step structure which can grip on debris, lift it and move under it. Once under, the robot uses oil hydraulic power to lift up to 600Kgrs. Like traditional rescue robots, a sensor payload consisting of a camera and microphone help rescuers to find victims in the rumble. The robot weighs 25Kgrs and it measures 48x28x14cm in size. Rescuers can use more than one robots at the same time to lift even heavier debris.

The video below gives an overview of Bari-bari-II rescue robot showing it in action in a simulated disaster situation.


22/03/2009 - Game AI: The trade-off between entertainment and believable AI
I don't write much about game AI since there is hardly anything cutting edge in game AI to talk about. More than a year ago, I wrote a post commenting on some research out of the Austrian Research Institute for Artificial Intelligence showing that even irrational players could easily defeat the AI in the real-time strategy game Age of Mythology. I have been playing video games for almost 20 years now and every year people talk about how the new games will have so much better AI and every year game developers fail to deliver. The truth is, that the kind of AI that goes into a computer game has different requirements than the AI systems researchers are trying to build for solving real-world problems. The differences is what makes creating good game AI systems difficult.

Game AI has to be good enough to make the game challenging for the person who paid for it but also less than optimal in its decision making so that it is not unbeatable. Nobody would enjoy playing chess against Deep Blue that even Kasparov could not defeat; it just would not be fun for anyone and let's face it, computer games are designed to entertain more than anything else. So, game developers have to create AI systems that fulfill the above requirements something that is not an easy task.

Gamasutra recently republished an article that appeared in Game Developer magazine on the subject of creating AI systems that make mistakes giving the human opponent a chance to win the game but at the same time without making the game AI look totally stupid. Mick West, the article's author, explains how one way to make AI systems to be both challenging and entertaining is by simply limiting the computational resources available to them during gameplay.

The simplest way to introduce stupidity into AI is to reduce the amount of computation that it's allowed to perform. Chess AI generally performs billions of calculations when deciding what move to make.

The more calculations that are made (and the more time taken), then (generally) the better the computer will play. If you reduce the amount of calculations performed, the computer will be a worse player.


He argues that the above method which is commonly used in games is not easy to work with because developers have a hard time finding the correct threshold for computation time. The alternative method that Mick proposes is one that has the game AI intentionally playing poorly at times to give the human player a chance at winning.

The computer has to throw the game in order to make it fun. When you beat the computer, it's an illusion. The computer let you win. We just want it to let you win in a way that feels good.

AI programmers need to get used to this idea. We are manipulating the game, creating artificial stupidity, fake stupidity. But we are not predetermining the outcome of the game.

We don't set our AI with the intent to lose the game, but rather to give the human player a reasonable chance of winning. If the human plays poorly, the AI will still win, but the player will at least feel like she came close to beating a strong opponent, and thus feel like playing one more game.


The AI engine of the chess game Fritz was designed in such a way that the game will try to create situations that a smart chess player could exploit to earn an advantage over the computer and as such have a fair chance of winning. According to Mick, the game AI is not limited in the available computational resources but instead requires more in order to do this extra bit of thinking such that the game is both entertaining and challenging.

The article which you can read here, gives more examples of game AI employing the above tactic for poker and snooker.

10/09/2008 - Today is LHC day!
Just in case you're living under a rock, today is the first day of operations for the Large Hadron Collider! Also, for those who believe the LHC might destroy the Earth, a convenient status page has been created to show you whether this has occurred yet.


18/06/2008 - Spore
The free trial of the Creature Creator for Spore has been released. Though not a proper ALife simulation, per se, hopefully Spore may stoke interest in ALife. Either way, I'm looking forward to playing with it.

13/11/2007 - Google delists sections of nobleape.com
I was listening to TWiT earlier today. They editorialized Google delisting various sites. While I listened, I thought I would check the PageRank of nobleape.com.

It was zero.

Previously the PageRank had been six or seven. With a little more investigation, it became apparent that a number of pages on the Noble Ape site had been delisted from Google including the front of the site, the Simulation page and my personal page.

I logged in to Google's Webmaster Tools. In order to file the issue, I had to select;

I believe this site has violated Google's quality guidelines in the past.

This site no longer violates Google's quality guidelines.

I have read and agree to abide by Google's quality guidelines.


There was no other option to correspond with Google with regards to the delisting of various pages on the Noble Ape site. In response to my filing, I received the following email;

We'll review the site. If we find that it's no longer in violation of our Webmaster Guidelines, we'll reinclude the site in our index. Please allow several weeks for the reconsideration request. We do review all requests, but unfortunately we can't reply individually to each request.


Whilst I am sure this is something that will be overcome in time, it makes me wonder how many other legitimate pages have been blocked by Google and what others would do in these circumstances.

For me, I put a page on the Noble Ape site identifying the issue and I hope others will editorialize the problem. Please drop by the page and Digg it for support, if you feel so inclined.

09/11/2007 - Plug for Papers
If you haven't seen Papers, you need to. (I'm not affiliated with this company, but I wish I'd thought of it first.)


09/10/2007 - Age of Mythology game AI is worse than initially thought
Researchers from the Austrian Research Institute for Artificial Intelligence have now shown that even an irrational player can easily defeat the game AI in Real-Time Strategy (RTS) games. According to New Scientist, the team designed a number of ?emotional? software agents playing different strategies ranging from defensive to neurotic and found that all outperformed the build-in AI for the RTS game Age of Mythology. In fact, the neurotic agent which often miscalculated the amount of available resources and acted irrationally won all games faster than all others.

Just to make it clear, the results say nothing about how well any of these intelligent agents will fair against a human player. But we can at least conclude that Microsoft needs to hire some smart people to develop better AI for their games. I understand that developing robust RTS AI is not easy (any large multi-agent problem is a hard problem) but if it can be defeated this easily then they surely are doing many things wrong. Considering the size of the computer game industry (apparently even larger than the movie industry in revenues,) I am continuously surprised that game publishers don't work more closely with universities to develop new algorithms for multi-agent, real-time AI.

07/07/2007 - Open Agent Architecture

A new release of the Open Agent Architecture, version 2.3.2, is now available from the OAA Web site.