views:

651

answers:

12

Welcome! I very enjoyed programming artificial intelligence in my studies - neural networks, expert machines and other. But in work I develop mainly web applications.

And now I think about returning to such programming, maybe in hobby, or maybe in work. Are there areas where AI is commonly used in applications development and programmer with such skills can search work?

Or maybe I can sold some ideas to my boss and use AI to extend some of our applications.

What are you experience and ideas with using AI in applications?

+1  A: 

Games do need AI.
Expert systems too.

Burkhard
Game AI is not really proper AI though. The goal of Game AI is not to make intelligent decisions, but to APPEAR as if it were making intelligent decisions. Theres a big difference.
Dan
If the Game AI does make intelligent decisions, it does also appear as if it were making intelligent decisions, does it not?
Burkhard
Yes, but the illusion requires far fewer CPU cycles to create and performance is always at a premium in games. True AI also risks being too smart and moving the game from "fun" to "frustrating".
Dave Sherohman
Indeed... Soren Johnson (AI programmer for Civ4 and Spore) gave a talk about that (making game AI fun rather than good) early this year called "Playing to Lose". The talk isn't available online, unfortunately, but the slides and some write-ups are. See here: [http://www.designer-notes.com/?p=81]
mercator
@Burkhard: No, not always. True AI will use the optimal solution to a given problem, game AI will use a solution which looks like a solution a human might use (it makes mistakes, is hesitant, emotional, thoughtful, whatever). Also, game AI usually needs to be beatable by human players.
Dan
A: 

Outside of games, I've seen very few commercial uses of AI.

It could, in theory, be very useful in industrial robotics and imaging, but those fields also tend to be very conservative, and uncomfortable with non-deterministic algorithms.

You might want to research what iRobot does, but even them use rather simple algorithms in their commercial robots.

Kena
I guess it depends on how you define AI. Classic AI techniques, like Neural Networks, have plenty of uses. Neural Networks are great classifiers and can be used to recognize patterns in data (images, financial data, browsing habits, list is endless!)
Dan
+3  A: 

As a counter-example, parsing data acquired from water testing equipment would probably be a bad place to use artificial intelligence:

The Daily WTF: No, We Need a Neural Network

Just a reminder for all of us to choose the right tool for the right job.

coobird
A: 

In the area of cognitive architectures (e.g. Soar, ACT-R, etc), rather than concentrating on algorithms like A* and games, researchers investigate models of human behavior including decision-making, cultural interchange and learning. They often focus on cognitive plausibility, i.e. how close does a model track what a human would do, including timing, etc.

These systems tend to be strictly research-based with limited commercial applications. So far anyway. Military applications, especially for training, are fairly common though.

Dave Ray
+2  A: 

You probably could analyze the behavior of the visitors of your web applications ; how do they navigate inside the website to provide a better, optimized interface. Now it depends on what kind of web applications you're working on. For on line shopping you can come with suggestions extrapolated from customers habits.

You can also detect "abnormal" behavior and fraud. Fraud and bot detection can take advantage of AI.

philippe
also great for making advices. think about what Amazon does with statistics. a little AI can go great lengths there.
Javier
Yep, Amazon was what I had in mind ; that and fraud detection.
philippe
+2  A: 

Neural networks are great for working on images, so one area of web applications you could use AI for would be identifying and/or manipulating patterns in images over large sets of data. For example, a site like Flickr or Facebook might have some interesting training material to identify people based on face or associating groupings of pixels (those being the features you work with) with certain items mentioned in captions or tags.

In terms of text manipulation, there's a lot of stuff, but it's usually icing on the cake for other web apps. I'm talking mostly in the areas of automatic completion in search bars and back-end things the user doesn't usually see, like automatic machine translation or improved search capability.

The problem with putting AI at the front of an application's offering is that usually, artificial intelligence is not a feature in and of itself, but rather a way of negotiating large data sets effectively without regular prompts from the designer. In general, a user will associate with an application on a one-to-one basis, and therefore judges it only on the quality of a relatively low number of responses.

Robert Elwell
+2  A: 

Email spam filtering systems - definitely.

Any other security applications which need to spot patterns for malicious stuff.

MarkR
+7  A: 

I recently started reading the book Programming Collective Intelligence. It's an excellent book which discusses exactly what you are looking for - using AI techniques in web applications.

The book is written clearly, is easy to understand, explains everything in terms of real applications (it covers how some commonly used technology works: Google Pagerank, Amazons recommendation system, matchmaking websites, link recommendation systems, bayesian spam filters and more) and it uses actually useful examples using real data (ebay API, facebook API etc are used to collect data). In one chapter, it even explains how you can draw graphs (I mean the data structure, not bar/line/etc graphs) optimally (so that no nodes are too close together, minimum overlapping lines etc), which could be useful for, for example, mapping social networks.

I would recommend having a look at it and see the different ways AI can be applied to web applications.

Dan
Agreed, an excellent book. All the example code is in Python, but you don't need to know Python to get something worthwhile from the book.
Dan Dyer
Very cool - I may end up picking up that book now :)
unforgiven3
+1  A: 

Forecasting, of course.

It has immense value for businesses (i.e.: inventory optimization) and is especially valuable in the time of global crisis.

Rinat Abdullin
A: 

Risk assessment is a pretty good case for neural networks, mostly because they're pretty good at pattern matching. Insurance and credit companies use them to some degree for determining the risk of a customer.

Alex Fort
A: 

Image Processing for detecting cancer! (We actually code IEEE papers about it, creating the algoritms is way harder than coding them so we write papers about the performance of other papers)

DFectuoso
A: 

Hi, I have done some extensive research on using Artificial Neural Networks for classification of underwater sound sources. The algorithm seemed to work quite well, especially that I devoted a big portion of the work on figuring out what combination of fourier transform coefficient composed the best set for the classification (with Principal Component Analysis).

Przemek