Saturday, January 2, 2010

Turing Test for Game Bots

The Turing Test is very well known not only within the CI community but within the general public. Made really simple, a machine is intelligent if a human carrying out a conversation with that machine can't tell if it is a machine. In other words, we think it is intelligent, therefore it is intelligent.

A similar test has been proposed for game bots. It is described as follows:

"Suppose you are playing an interactive video game with some entity. Could you tell, solely from the conduct of the game, whether the other entity was a human player or a bot? If not, then the bot is deemed to have passed the test."

Playing games requires, in my opinion, more intelligence than having a conversation. It requires comprehension of the gaming environment, at least on some level, as well as anticipation of the actions of the player and the formulation and application of strategy. I have a suspicion that true general purpose AI will come from the gaming world. There's even a dedicated journal for it, the IEEE Transactions on Computational Intelligence and AI in Games.

The best part of this is that playing games can be part of your job.

Tuesday, December 29, 2009

Surprise in ANN

A new paper in Neural Networks describes integrating the concept of surprise from information theory with ANN learning. It's an interesting idea that I've only seen once or twice before (a colleague at Otago University has investigated something similar for a different kind of neural network). It also makes sense - things that are surprising to people are more strongly remembered (they stick in your mind, which is the same as learning them well). I'll be looking at integrating this concept into some of my own work.

Wednesday, December 23, 2009

Conference paper deadline: IITSI 2010

The deadline for paper submissions to the third International Symposium on Intelligent Information Technology and Security Informatics (IITSI) 2010 is December 30, 2009. It will be held in Jingganshan, China, 2-4 April 2010.

Conference presentations

I have sat through a large number of conference presentations, and a significant proportion of those were pretty bad. Another proportion of these were mediocre at best, and only a few were pretty good. From what I have observed, and from talking with other conference attendees, I have formulated the following general rules for giving presentations. While none of these rules are inviolable, please do at least give them some thought the next time you give a conference presentation.

General Rules

There are two general rules – most of the specific rules come from these two.

1. Don’t waste time, either yours or the audience’s.

2. Don’t insult the intelligence of your audience.


Specific Rules

1. If you have just been introduced with your name and the title of your presentation, don’t repeat this information.

2. If you are presenting to a specialised audience, leave out the background material. For example, if you are presenting to a conference on evolutionary computation, spending even one or two slides explaining what evolutionary computation is violates both general rules.

3. If you have long sentences on your slides, don’t read them aloud. This violates both general rules.

4. Outline slides are not necessary. They waste time and assume that the audience isn’t smart enough to notice what you are currently talking about.

5. Don’t place equations on your slides unless they are absolutely, positively and irrefutably necessary. If the math is complex enough that it needs to be explained, then it is unlikely that the audience will be able to parse it fast enough to be useful to the presentation. If it is simple, then it can be left out.

6. Know the length of your presentation. A good rule of thumb is an absolute maximum of one slide per minute of presentation, including title, summary and conclusions. Thus, for a fifteen minute presentation, fifteen slides is a good count, ten is better, less than ten is best.

7. Keep to the point of the presentation. If your talk is on bioinformatics, I don’t want to hear about your university’s teaching computer lab.

8. Proof-read your presentation. Use a spell checker. Have someone else check your presentation. If English is not your first language, have it proof-read by someone who is a native speaker.

9. Know your presentation material. If you have to stop talking to work out what something on a slide actually means, you are wasting everyone’s time.

10. If you are presenting a group of numbers, use a plot of the values, rather than a table, especially if the intention is to compare and contrast the groups.

11. Move about. Moving energetically is even better. A presenter with physical vigour commands more attention from, and inspires more energy in, an audience than one who stands still, or worse, sits while speaking. That said, moving around like your feet are on fire is distracting. Use your best judgement.

12. Make eye contact with your audience. You should try to make eye-contact with each member of the audience at least once during your presentation. They are here to listen to you speak, so you should acknowledge their existence by actually looking at them.

Tuesday, December 22, 2009

ANN on GPU

There are quite a few publications now on implementing ANN on Graphics Processing Units (GPU) (see for example here, here and a brief review here). There are even a couple of programming libraries available that do this. The great advantage of using GPU are, of course, that GPU are massively parallel while being relatively cheap and ANN are inherently parallel models (this cheapness lends them to being used for other high-performance projects and GPU-based supercomputers are becoming more widely used, for example here and here).

I have yet to see, however, any publications describing constructive neural networks implemented on GPU. I suspect this may be because many constructive algorithms require some steps that are difficult to paralleise, such as a finding the maximum activation in a layer of neurons (which can be done in log2(n) iterations if you compare the values in pairs).

That said, I do see a very bright future for ANN research in using GPU. Definitely something I will be following more closely in the future.

Monday, December 21, 2009

Upcoming paper deadlines

The season is upon us. No, not Christmas, but time to start thinking about deadlines for conferences.

The deadline for the 2010 World Congress on Computational Intelligence (WCCI), which will be held in Barcelona, Spain, is January 31st, 2010. This conference combines the IEEE International Joint Conference on Neural Networks (IJCNN), IEEE Congress on Evolutionary Computation (CEC), and the IEEE conference on Fuzzy Systems. I've attended the last three WCCI (2002 in Honolulu, 2006 in Vancouver and 2008 in Hong Kong) and have always found them to be good value, both in terms of cost - three conferences for one registration fee - and in terms of the calibre of the people who attend.

The 2010 International Conference on Intelligent Computing (ICIC) will be held in Changsha, China. The deadline for paper submission is March 25, 2010. This conference covers a range of topics in computational intelligence. I attended the 2005 conference in Hefei, China, and found it to be pretty good.

Rethinking artificial intelligence (and what's the point of it?)

The Mind Machine Project has been launched at MIT. This project claims to bring together four generations of intelligence research by looking at cognition, memory, thought and other themes. It sound ambitious, but I have some serious doubt about how useful it will prove to be. The advantage of the techniques that are used in computational intelligence is that they are immediately useful to the real world, for modelling and data mining. A true artificial intelligence is very cool, but how useful would it really be?