Umm... I should explain what I mean when I say that a lot of AI is a dead end. I don't mean that it is useless, just that I don't think it is not going to be part of "real" AI.
Things like chatbots are not what I call "true" AI in that I consider them clever hacks, but until we get proper intelligence in machines chatbots will be an important part of the toolkit for making complex interactive characters. This is true of some other neat tricks that emulate intelligence, like the A-star algorithm for finding a path through obstacles. It won't be used in final intelligent systems, but in the meantime they are great tools.
Think of it this way: electric batteries are brilliant things for powering electronic devices, but although Leonardo da Vinci might have been able to imagine using one, he had to settle for spring-power till the ground-work of electronics was built. Similarly, we have to use the tools we have right now for primitive AI until someone solves how to make true AI. My bet is it will be some teenager building a game that pulls the rabbit out of the hat, and I also think he/she will be using some of the things that Dileep George talks about here:
(listen to the mp3 from there)
Some info about A-star:
http://www.gamasutra.com/features/19970 ... inding.htm
(The diagrams and some code listings are hidden behind links in the text on the gamasutra site -- a style I find annoying. I have an inline version that is much easier to read if you want it.)
There is another article about a search algorithm similar to A-star on gamasutra called "Pawn Captures Wyvern: How Computer Chess Can Improve Your Pathfinding"
http://www.gamasutra.com/features/20000 ... on_pfv.htm
other cool pieces are
"Toward More Realistic Pathfinding"
http://www.gamasutra.com/features/20010 ... er_pfv.htm
http://www.gamasutra.com/features/20020 ... th_pfv.htm
All these have code examples.
Alicebot is one of the best chatbots and is free.
But it can still be quite a frustrating experience conversing with it. Some tricky writing can be used to excuse the bot's behavior, which is what was being discussed here earlier.
I've had a look at AIML, the AI language used by Alicebot, and haven't tried learning it yet. Something feels wrong to me when I read through it... but it could be just me.
Rodney Brooks' work with robots is refreshing in that it gets at the real underpinnings of intelligence, the way we
got here -- through building on layers of behavior, each of which is not smart itself, to make something that is greater than the parts. He calls it "subsumption architecture". A couple of his most interesting writings are:
"Elephants Don't Play Chess"
"A Robust Layered Control System for a Mobile Robot" (includes some code in LISP)
"The Behavior Language User's Guide" (includes LISP and 68k assembler examples)
There is heaps more at http://people.csail.mit.edu/brooks/publications.html
Unfortunately the articles are in postscript or pdf, two formats I detest, so I converted many of them to html quite a while back. You are welcome to have them if you want. Brooks uses LISP in his work, which I learned many years ago but have forgotten most of.