Interest in Artificial Intelligence (If I am posting this in the wrong StackExchange site, then please direct me to the correct one)

Okay, so some small background first: I am currently third-years student in Computer Science on the university.

I have big interest in Artificial Intelligence and I was wondering if I could practice it somewhere, for example a challenge versus other people that gets updated/executed every set time period (possibly per week).

Example of a challenge that I do like:


Assume that there is an infrastructure set by the organisator to run a poker game via poker bots. I would like to code such a poker bot that would challenge other people, by using AI via a statistical approach, but also via doing fake moves, remembering what the other players have done so far.


It could even be fun to add in real players and see who wins in the end.

Example of a challenge I do not like:


Given a partially filled in Sudoku puzzle, make an algorithm that solves the puzzle.


Why don't I like the Sudoku? Well, I would rather challenge other players or have an interactive way of using AI. I don't even think that an algorithm like this involves any AI. However when asked to do this exercise as part of my study, I didn't mind it, because it was still an interesting programming problem.

Has anyone else been in the same boat? Or is someone being in the same boat currently?

Please share any thoughts, I definately would like to practice around with this, but for example doing the poker bot thing just by myself would be somewhat... dull.

Regards.

edit: Forgot to add, but for a challenge or anything I would prefer Java, as I am used to doing that. But any raw format (so just sending data to a channel and receiving data from a channel would also do)
Background first, too: I am currently third-years student in Information and Computer Science at a Chinese university.

I think most of your problems can be solved by common algorithms. For example, Sudoku game, can be solved by searching, or DLX(Dancing links and X algorithm) if you wanna improve the performance. 

I think you can do some exercises to improve your basic skills. Some online judge services are suggested, such as Codeforces, SPOJ, poj.org, etc. There's an interesting game on a contest few days before. codeforces->contest->346->problem->A 

Some of AI algorithms are based on searching. To improve the performance, we have some optimizing skills such like evaluation function(e.g. A* algorithm) or randomization(e.g. GA or Simulated annealing). Another part is base on learning, responses of a quest are according to large amount of data(e.g. ANN, and some algorithms for classifying). 

Huge amount of code cannot be avoided. And some Lisp symbolic programming languages are good at such things. You can learn it if you're interested. 

So just enjoy playing with what you make!