Neurogrid circuit board that replicates functions of the human brain.

The Neurogrid – What It Is And What It Is Not

What it is:

Some would argue that replicating the human brain in silicon is impossible. However, the folks over at Brains in Silicon of Stanford University might disagree. They’ve created a circuit board capable of simulating one million neurons and up to 6 billion synapses in real-time. Yes, that’s billion with a “B”. They call their new type of computer The Neurogrid.

The Neurogrid board boasts 16 of their Neurocore chips, with each one holding 256 x 256 “neurons”. It attempts to function like a brain by using analog signals for computations and digital signals for communication. “Soft-wires” can run between the silicon neurons, mimicking the brain’s synapses.

Be sure to stick around after the break, where we discuss the limitations of the Neurogrid, along with a video from its creators.

Continue reading “The Neurogrid – What It Is And What It Is Not”

model helicopter attached to boom

Self-Learning Helicopter Uses Neural Network

Though this project uses an RC helicopter, it’s merely a vessel to demonstrate a fascinating machine learning algorithm developed by two Cornell students – [Akshay] and [Sergio]. The learning environment is set up with the helicopter at its center, attached to a boom. The boom restricts the helicopter’s movement down to one degree of motion, so that it can only move up from the ground (not side to side or front to back).

The goal is for the helicopter to teach itself how to get to a specific height in the quickest amount of time. A handful of IR sensors are used to tell the Atmega644 how high the helicopter is. The genius of this though, is in the firmware. [Akshay] and [Sergio] are using an evolutionary algorithm adopted from Floreano et al, a noted author on biological inspired artificial intelligences. The idea is for the helicopter to create random “runs” and then check the data. The runs that are closer to the goal get refined while the others are eliminated, thus mimicking evolutions’ natural selection.

We’ve seen neural networks before, but nothing like this. Stay with us after the break, as we take this awesome project and narrow it down so that you too can implement this type of algorithm in your next project.

 

Continue reading “Self-Learning Helicopter Uses Neural Network”

Hacking The Sci-Fi Contest Team Requirement

923531394944874135

We saw that some readers were not entirely happy with the team requirement for our Sci-Fi contest, which is running right now. We figured that those who do not work well with others might commit a bit of fraud to get around the requirement. But we’re delighted that someone found a much more creative solution. Why not enlist an AI to collaborate on your project?

[Colabot] is a hacker profile over on hackaday.io which is driven by ELIZA, a computer program that achieves limited interaction through natural language. Supposedly you add [Colabot] to your project and as it questions. We asked one on the profile page and are still awaiting the response. We think this itself could be a qualifying entry for the Sci-Fi contest if someone can find the right thematic spin to put on it.

As far as contest entries go there are only seven so far. Since everyone who submits an entry gets a T-shirt, and there are 15 total prize packages, we encourage you to post your entry as soon as possible. We want to see teams from hackerspaces and we can cryptically tell you that good things come to teams who post their project with the “sci-fi-contest” tag early!

Robot Foosball Will Kick Your Butt If You Play Slowly

foosball_pt3_1

Sometimes we find a project that is so far outside of our realm of experience, it just makes us sit back and think “wow”. This is definitely one of those projects. [Saba] has created a Robotic Foosball set that learns.

[Saba Khalilnaji] is a recent engineering graduate from UC Berkeley, and his passion is robotics. After taking an Artificial Intelligence class during his degree (you can take it online through edX!), he has decided to dabble in AI by building this awesome robot Foosball set.

His “basic” understanding of machine learning includes a few topics such as Supervised Learning, Unsupervised Learning and Reinforcement Learning. For this project he’s testing out a real-world application of Reinforcement Learning using the Markov Decision Process or MDP for short. At an extremely top level description it works by programming an agent to learn from the consequences of its actions in a given environment. There are a set of states, actions, probabilities for given state and action, and rewards for specific state and action sets.

Before we butcher the explanation anymore, check out his blog for more information — and watch the following video.

Continue reading “Robot Foosball Will Kick Your Butt If You Play Slowly”

A Deep Dive Into NES Tetris

Tetris AI

Back in 1989, Nintendo released Tetris for the NES. This detailed article first explains the mechanics of how Tetris works, then builds an AI to play the game.

To understand the mechanics of the game, the ROM source was explored. Since the NES was based of the MOS 6502 microprocessor, this involves looking at the 6502 assembly. The article details how the blocks (called Tetriminos) are created and how they move across the screen. The linear feedback shift register used for random number generation is examined. Even details of the legal screen and demo mode are explained.

After the tour through how Tetris works, an algorithm for the AI is presented. This AI is implemented in Lua inside of the FCEUX NES/Famicom emulator. It works by evaluating all of the possible places to put each new Tetrimino, and choosing the best based on a number of criteria. The weighting for each criterion was determined by using a particle swarm optimization.

The source for both the Lua version and a Java version of the code is available with the article. Everything you need to run the AI is available for free, except the Tetris ROM. If you’re interested in how 8 bit games were built, this dissection is a great read.

[via Reddit]

Teaching A Computer To Learn

[Ł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.

via extremetech

Robot Overlords Require Chores In Return For Technological Access

Looks like you might not be fully immersed in the digital world if you didn’t complete your chores. The members of the LVL1 Hackerspace have put together a lot of automation for their lair, but nothing drives home the utility of the system they call MOTHER like the shenanigan-preventing trash removal system. Or in layman’s turns, being nagged by MOTHER until you empty the trash can.

So here’s a bit of background first. Remember that sensor array that just had way too many environmental sensors on it? That is just one way that the automation system (MOTHER) measures its surroundings. It seems the hackerspace has been building a pile of scripts to interface with just about every aspect of the community.

For instance, the night before trash colletion the system starts by letting members know it’s trash night and someone needs to empty the garbage. There’s a pressure sensor under the can which alerts MOTHER to the fact that it has been moved. But what if nobody moves the can? Say goodbye to Google. Yep, it’ll block all Google searches until the chore is done. And that’s just one punishments in its bag of tricks.

So what if you just move the can and don’t take it out? No dice. MOTHER is also monitoring the garage door which needs to be open to get the extra-large can out to the dumpster. You’ve got five minutes to do that before she starts getting nasty.

[Thanks Jonathan]