Question

I wanted to ask Stack Overflow users for a nice idea for a project that could entertain a fellow student programmer during a semester. Computer vision might look interesting, although I couldn't say if a project on that field is something that could be achievable in 4 months. What do you think?

Was it helpful?

Solution

There is a story that, during the early days of AI research when significant progress was being made on "hard" logic problems via mechanical theorem provers, a professor assigned one of his graduate students the "easy" problem of solving how vision provided meaningful input to the brain. Obviously, things turned out to be far more difficult than the professor anticipated. So, no, not vision in the general sense.

If you are just starting in AI, there are a couple of directions. The classic AI problems - logic puzzles - are solved with a mechanical theorem prover (usually written in Lisp - see here for the classic text on solving logical puzzles). If you don't want to create your own, you can pick up a copy of Prolog (it is essentially the same thing).

You can also go with pattern recognition problems although you'll want to keep the initial problems pretty simple to avoid getting swamped in detail. My dissertation involved the use of stochastic proccesses for letter recognition in free-floating space so I'm kind of partial to this approach (don't start with stochastic processes though, unless you really like math). Right next door is the subfield of neural networks. This is popular because you almost can't learn NN without building some interesting projects. Across this entire domain (pattern processing), the cool thing is that you can solve real problems rather than toy puzzles.

A lot of people like Natural Language Processing as it is easy to get started but almost infinite in complexity. One very definable problem is to build an NLP program for processing language in a specific domain (discussing a chess game, for example). This makes it easy to see progress while still being complex enough to fill a semester.

Hope that gives you some ideas!

OTHER TIPS

The staple software that most people implement as one of their first applications of ANNs is character recognition (not necessarily hand written characters).

You could do something simpler than general "vision", like point a webcam at a digital thermometer and read the temperature from that.

Can't tell without knowing more about you, your friend, and the project. My guess is "no".

I'd point you towards two sources. The first is Peter Norvig's "Artificial Intelligence"; the second is "Programming Collective Intelligence". Maybe they'll inspire you.

Write a spam filter. Pick an interesting corpus to train on and filter (Twitter messages, Facebook wall posts, blog comments...?). There are lots of ways to go about building the classifier, identifying training data, etc.

One thing I always wanted to do was improve the AI of older video games. Take DOOM for example. Very simplistic AI, compared to even what you see today. You could try improving or even completely rewriting AI for enemy characters in a video game.

Or you could write your own little game that specifically focuses on the computer making surprisingly informed decisions.

I've always thought it would be interesting to write something that will look at a post (say, a question here) and predict how many votes it will get. I originally thought of the idea in the context of looking at a blog or an article and predicting vote ups/downs on reddit (or more simply a bucket like low, medium, high).

A program that plays poker, hearts or similar.

Make it interesting, for example a game AI, I know a chess sim might take awhile, but maybe you could boil it down a bit (just 3 pieces, 2 rooks and a king each side) for example...

Turing tests are interesting. Here is a link on how LOLBot passed the turing test

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top