Pokemon Artificial Intellegence

Pokemon Artificial Intelligence Is Smarter Than You

Who out there hasn’t angrily thrown a game controller across the room after continually getting killed by some stupid game-controlled villain? That is such a bummer! You probably wished there was some way to ‘just get past that point’. To take a step in that direction, [Ben] created an Artificial Intelligence program that will win at Pokemon Blue for Game Boy Advance.

The game is run in a Game Boy Advance emulator known as Visual Boy Tracer, which itself is a modified version of the most common GBA emulator, Visual Boy Advance. What sets Visual Boy Advance apart from the rest is that it has a memory dump feature which allows the user to send both the RAM and the ROM out of the emulator. The RAM holds all values currently needed by the emulator, this includes everything from text arrow flash times to details about currently battling Pokemon to the players position in the currently loaded map. The memory dump feature is key to allow the AI to understand what is happening in the game.

Continue reading “Pokemon Artificial Intelligence Is Smarter Than You”

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