Ever since his daughter was born, [Markus] has been keeping logs full of observations of human behavior. Despite how it sounds, this sort of occurrence isn’t terribly odd; the field of developmental psychology is filled with research of this sort. It’s what [Markus] is doing with this data that makes his project unique. He’s attempting to use stochastic learning to model the behavior of his daughter and put her mind in a robot. Basically, [Markus] is building a robotic version of his newborn daughter.
The basics of stochastic learning (PDF with more info) is that a control system is modeled on an existing system – in this case, a baby – by telling a robot if it is doing a good or bad job. Think of it as classical conditioning for automatons that can only respond to a 1 or 0.
[Markus] built a robotic platform based on an Arduino Mega and a few ultrasonic distance sensors. By looking at its surrounding environment, the robot makes judgments as to what it should do next. In the video after the break, [Markus] shows off his robot finding its way around an obstacle course – really just a pair of couch cushions.
It’s a long way from crawling around on all fours, paying attention to shiny things, and making a complete mess of everything, but we’re loving [Markus]’ analytical approach to creating a rudimentary artificial intelligence.
Continue reading “Have a baby? Build another one!”
[Łukasz Kaiser] programmed a computer to play Tic-tac-toe. That doesn’t sound very remarkable until you realize he never told his computer the rules of Tic-tac-toe. The computer learned the rules by itself after watching a video of two people playing the game (link to actual paper – PDF warning).
[Łukasz] wrote a small program in C++ to recognize the placement of objects on a Tic-tac-toe, Connect 4, and Breakthough board. This program sifts through winning and losing games along with illegal moves to generate a Lambda calculus-like rule set for the relevant game. Even though [Łukasz] has only programmed a computer to learn simple games such as Tic-tac-toe, Connect 4, and Breakthrough, he plans to move up to more complex games such as Chess.
The fact that [Łukasz] programmed a computer to actually learn the rules of a game gives us pause; in one of the fabulous lectures [Richard Feynman] gave to freshman physics students in 1964, the subject of Chess came up. [Feynman] drew parallels between learning Chess and performing research. Every move is hypothesis testing, and when a very strange move occurs – castling, en passant, and the promotion of a pawn, for instance – the theory of the rules of the game must be reworked. Likewise, when extremely strange stuff happens in physics – particle/wave duality, and the existence of black holes – scientific theory is advanced.
Yes, teaching a computer to learn the rules of Tic-tac-toe may seem irrelevant, but given the same learning process can be applied to other fields such as medicine, economics, and just about every science, it’s not hard to see how cool [Łukasz]’ work is.
All of those orange, cyan, and yellow dots represent digital ants fighting for supremacy. This is a match to see who’s AI code is better in the Google backed programming competition: The AI Challenge. Before you go on to the next story, take a hard look at giving this a try for yourself. It’s set up as a way to get more people interested in AI programming, and they claim you can be up and running in just five minutes.
Possibly the best part of the AI Challenge is the resources they provide. The starter kits offer example code as a jumping off point in 22 different programming languages. And a quick start tutorial will help to get you thinking about the main components involved with Artificial Intelligence coding.
The game consists of ant hills for each team, water as an obstacle, and food collection as a goal. The winner is determined by who destroyed more enemy ant hills, and gathered more resources. It provides some interesting challenges, like how to search for food and enemy ant hills, how to plot a path from one point to another, etc. But if you’re interested in video game programming or robotics, the skills you learn in the process will be of great help later in your hacking exploits.
In a little more than a month, tens of thousands of people around the world will attend a class on Artificial Intelligence at Stanford. Registration for this class is still open for both class ‘tracks’. The “basic” track is simply watching lectures and answering quizzes, or a slightly more advanced version of MIT OpenCourseware or Khan Academy. The “advanced” track is the full class, requires homework and exams, and aspires to Stanford difficulty.
With thousands of people taking this class, there’s bound to be a few study groups popping up around the web. The largest ones we’ve seen are /r/aiclass on Reddit and the stack overflow style aiqus. The most common reply to ‘what language should I learn from this class?’ is Python, although there’s an online code repo that has the text’s working code in Lisp, Java, C++ and C#.
If AI doesn’t float your boat, there are two more classes being taught from Stanford this fall: machine learning and introduction to databases. Any way you look at it, you’re getting to take a class from one of the preeminent instructors in the field for free. Do yourself a favor and sign up.
Thanks to everyone who sent this in. You can stop now.
Can Super Mario teach you to think? That’s the idea behind using a simple version of the game to teach artificial intelligence. [Oddball] calls this The Mario Genome and wrote at program that can take on the level with just two controls, right and jump. He gave the script 1000 Marios to run through the level. It then eliminates the 500 least successful and procreates back to 1000 using the 500 most successful. In this way the program completed the level in 1935 generations and completed it in the quickest possible time in 7705 generations. He’s posted the script for download so that you can try it yourself. It’s an interesting exercise we’d love to see applied to more random games, like Ms. Pac-Man.
Uber-geek [James McLurkin] was in Austin recently demoing his robot swarm. He’s on tour with EDA Tech Forum. [McLurkin] has multiple degrees from the MIT AI lab and worked at iRobot for a couple of years. Lately, he has been working on distributed robot computing: robot swarms.
[McLurkin] was an entertaining speaker and had an interesting view of robotics. He is optimistic that robot parts will become more modular, so it will be easier to build them, and more importantly, faster to design them.
- “There’s more sensors in a cockroach’s butt than any robot”
- “12 engineer years to design, 45 minutes to build”
- “If it can break your ankle, it’s a real [rc] car.”
Continue reading “Swarm robotics”