views:

866

answers:

10

So I'm just getting started in exploring A.I. a bit and I'm wondering what a good project would be to help introduce me to the field. An example of the level of complexity I'm looking for would be something like tic-tac-toe, or a bayesian spam filter, or...?

For what ever project you suggest it would be helpful if you could also give a brief overview of some common AI strategies that might be used to solve the project you're recommending.

Thanks!

+2  A: 

Maybe a maze generator and solver, after that's done, you may want to find the shortest path between the start and the exit of the maze.

For solving the maze you could do backtracking, and for finding the shortest path A* or a similar algorithm.

Vinko Vrsalovic
+1  A: 

Pathfinding algorithms.

Prog
+5  A: 

In my A.I. course we developed an autonomous player of connect-4. We explored concepts related to game theory, like the Minimax algorithm and Alpha-Beta Pruning. I think that's a good start.

Farinha
+1  A: 

It depends on the type of AI you want to do.

If you are looking for some kind of path-finding algorithm, I would start with a very simple 2-D array based world. I doesn't have to be graphic is could be a char[][]. If you build this world right you can use any number of path finding techniques such as A* or you could create a genetic algorithm that creates a pathfinding algorithm.

If you are looking for some king of strategy-base stuff, there is always mini-max. You could create a simplified version of chess (only pawns and bishops on a 4x8 grid). Once you have the world setup, you can have fun tuning the fitness function and matching different versions of the fitness functions against each other. Sorry for the sameless plug, here is the code to an old assignment where we did a similar program with minimax and alpha beta in java.

You could also learn clips, but I think the expert systems side of AI is really boring.

Maudite
+1  A: 

As Maudite said, it depends on the type of AI You want to do.

Here is what I did (for cognitive AI) and I found it very challenging (and fun):

  1. Download and install SOAR and have a walk through the tutorials
  2. Try to write a SOAR-program that solves Sudoku.

Hint: To create Sudoku puzzles, You can use the linux program ksudoku and save the game.

Black
+1 for recommending a general purpose framework
Chris S
A: 

You could try to create a CAPTCHA cracker. If it worked, you could make some money selling it to spammers (if you had no morals).

MusiGenesis
Hehe... maybe a bit too complex. How would one get started at something like this?
Justin Bozonier
+12  A: 
eed3si9n
That's exactly what I just did! lol I bought that last night and plan on doing the MIT course for that.
Justin Bozonier
I'm giving you the points on this because I just received the book and it is a *great* intro to AI. Everything from history to implementation. Thanks for the recommendation!
Justin Bozonier
A: 

RARS or CRobots(3D)

Those can get you started with writing AI that tries to find the best path, or best possible movement / shooting combination's.

They both come with a few examples already that you can look though to see how things are done.

Cory
+2  A: 

If you like the hands-on approach IMHO the best thing you can do is to get PAIP ("Paradigms of Artificial Intelligence Programming" by Peter Norvig). Author walks you through implementation of many classical AI programs, starting with General Problem Solver and ELIZA. Each chapter ends with a list of exercises which help you notice how deep some problems in AI are. Those exercises, more than anything, can get you hooked on AI big time, be warned. :)

It also teaches you Common Lisp along the way, which you'll surely find helpful later on.

Michał Kwiatkowski
I just bought this book this weekend. I picked it up and it definitely makes the subject accessible (except for it being in lisp hehe).I've been meaning to learn lisp anyway.
Justin Bozonier
A: 

Write an implementation of skynet.

James Thigpen