Tuesday, September 25, 2007

A Drop of Intelligence II - Making Things Simple

A while ago I wrote an article about how smart applications can improve our lives by taking care of menial and common tasks for us and allowing us to spend more time on the things we actually enjoy doing.

Since lately I have been doing some research of my own on how can we use the AI theories in making practical applications that can act as personal assistants for their users in helping them find information or in doing common repetitive tasks for them, I would like to begin a series of articles in which I am going to share my conclusions and my problems as I progress along with my research.

Today I am going to expose my perspective on why I believe that Artificial Intelligence practices have a small adoption percentage in commercial applications, so without any further due, here's my take on it.

The industry that makes the most use of Artificial Intelligence theories in its applications is the gaming industry. Games have come a long way in AI evolution and some of them use complex techniques like neural networks for machine learning, planning and and adaptive behaviors for their actors (NPCs) to provide great entertainment for the gamers, but even games still have a long way to go in this domain until the experience provided will be more realistic.

So how can the AI techniques evolve taking into consideration the current technological developments and the research invested in this field of Computer Science? I believe that if the AI research would be better promoted to and understood by the developers working on commercial applications today, the field would have a lot to gain in new advancements since if these techniques will start to be adopted in commercial applications and the practical experience will be very valuable to perfecting them. What the AI field really needs is some promotion and some good non-academic books that can be easily assimilated by the masses, and then the experience and the practice of its wide adoption would help in its advancement and growth.

In the following articles I will try to share my experiences and my problems in learning the AI techniques form my perspective. Bear in mind that I also am in the process of learning and understanding the intricacies of this field and any help, experience or ideas that you have or would like to discuss are welcomed, so keep close :).

P.S. I really had a lack of inspiration for the article title, so if you have a better suggestion, do share :).


Anonymous said...

All things AI - Russell & Norvig, best book in the world

Mihai Campean said...

Thanks for the recommendation, indeed, Stuart Russel and Peter Norvig's "Artificial Intelligence: A Modern Approach" is one of the reference books in the field and it is just going to be my next read :).

mzsolt said...

Please not just read the book, try to solve some of the exercices too :))). And be in awe how little we can do without a deep human analysis of the problem domain.

Mihai Campean said...

Well, in my limited experience with AI, I can say that indeed we're a long way from implementing algorithms that require less human analysis of the problem they try to solve, but my point is that we must start somewhere in order to perfect things.
By the way, do you have some other books/lectures you would like to recommend Zolt, since I noticed you are doing a Ph.D. in this field?

mzsolt said...

I do not know much about general AI, but reading through this blog will probably provide many useful links, even though it is mostly about machine learning, a very specific (and hard :) branch of AI. A free book on information retrieval is here.

But I am sure you will find many good pointers in AI:MA.

Mihai Campean said...

Thanks for the pointers Zolt, useful information.

John Paul said...

AI is very much still reserved to the field of research my friend. I'd have yet to see a good API that generalises and eases access to a certain AI algorithm providing a solution. The lack of adoption of AI algs in commercial application is because most commercial applications use straight-forward algorithms and operations. Yet as far as I know, in databases AI is being used.

Mihai Campean said...

Not entirely true, there are a couple of frameworks and APIs for AI, for example jade is an intelligent agent framework which facilitates easy implementation of collaborative agents, also Groovy Actors is a similar framework. However this is exactly my point, we should try to use AI research in mainstream applications more and more, because if the research will be backed up by commercial interests and funds, I believe it stands a better chance of improving. Besides, I think it's about time we start building smarter applications and start ditching the old fashion bloated apps. that annoy most of the time.
Things should be simpler and programs should do their job more autonomously and without too much input from us.

Alex said...

My lovely :) books:

Multi-agent classics:
M. Wooldridge, Introduction to MultiAgent Systems. Wiley, 2002.
Bird-view book about agents, but little different then AIMA.

Best book about planning: M. Ghallab, D. Nau, and P. Traverso, Automated Planning: Theory & Practice. Morgan Kaufmann, 2004.

Mihai Campean said...

Thanks, Alex I'll check them out!

Dantelope said...

AI will flourish when we stop building software by trying to code the solution to a problem and instead begin trying to code the problem.

Me: define the world/model as I know it, including known constraints

Computer: make it happen

Mihai Campean said...

Good point Dan, thank you. However I do believe there is a long way until we can do that, but the thing is we must start from somewhere.
"The journey of a thousand miles starts with the first step"

aivanoff said...

Surprisingly, I doing my studies between AI and game industry (MMO games) in Russia. It's interesting, but very exhausting ;)

Mihai Campean said...

I wouldn't think it would be simple to work with these technologies, perhaps you can share with us some of your experiences.

Playing for Change