# 3 ELI5 artificial intelligence
*** mreddingFormer game developer here, (47 pts top answer)
AI is a broad category, and has even broader application. All the different types of AI can be used in video game, though they rarely all are. The most common AI in video games, just to get this out of the way and answer your question about thinking machines, uses what is called a decision tree. A decision tree is a graph of questions with canned responses. These trees can be quite elaborate, so you can have quite a convincing AI in video games. The benefit for games is they are fast and explicit in their behavior - because developers want to deliver a consistent, well defined experience.
Lots of AI are mere algorithms to make things look like there's some intelligence where there really isn't. Flocking algorithms, for example, are useful for swarms, where members of the swarm all follow a leader, which is driven by any sort of AI you want. Another algorithm is A* (A-Star) and the like. These are algorithms for traversing graphs, as in mathematics, and we use them in games for units to "path", or get from A to B across a map. A* is interesting because the terrain and environment can give weighted values, making some paths more desirable than others. Walking over lava, for example, may be "more expensive" than walking over grass...
A bit more sophisticated, and closer to your answer are genetic algorithms. Some people debate whether this is true AI or yet another mere algorithm, I lean toward the former. A "genetic sequence" of bytes are tied to outputs. The sequence can be started however you like, often randomized. The sequence drives the output, and the success is measured by a fitness function. The most successful sequences are mixed, and then mutated (changed, grown, shrunk) to make the next generation. The next generation is run against it's parents to see if progress is made, otherwise the parents breed again. Just like evolution, this AI is blind. These algorithms are great for generationally approaching a solution. It may not be the perfect solution, but it will be close. These have been use in Real-Time Strategy games, to designing jet engines, to working towards a cure for Alzheimer's.
But to finally get at what you want: neural nets. I've written these in college and they're surprisingly simple. You're simulating a neuron. Each has an input, some number between 0 and 1. The neuron itself is a weight, between 0 and 1, and a number of outputs. The neurons are connected, outputs to inputs; at the head, something that translates raw data into an input value; at the tail, the output value is translated into some behavior. Input could be a pixel color, output could be left for 0, right for 1, and everything in between. The math is easy, the sum of inputs times the weight, effectively. By using a bit more complicated math, the weight can change relative to the value of the input. This is the learning process.
And it takes surprisingly few neurons to simulate rather complicated behavior. The more you use, the finer and more nuanced the output can be - akin to a kind of resolution.
g?= 'categorize article titles'
- r# # belgium ?ai based ? - AUTOMATIC CATEGORIZATION OF MAGAZINE ARTICLES - http://wwwis.win.tue.nl/infwet99/proceedings/moens.html
- r# # excel -
- r# # - https://www.r-bloggers.com/text-mining-in-r-automatic-categorization-of-wikipedia-articles/
g? = 'ai to categorize sentences'
- r# wit.ai (facebook company) input:text, return:structured data(json) VeryCool demo, - voice control a house, lights on/off, tv on/off, ...
ID: 6649
NAME: CREATE-article
DESCRIPTION: ] # # - CREATE-article# # - ai - a PRIMER on artificial intelligence, deep learning, machine learning, neural networks, the singularity (Art# 3036)
START DATE TIME: 2016-12-13 13:24:05
EST DURATION: 01:00:00
END DATE TIME: 2016-12-13 14:24:05
STATUS:
PRIORITY: -5
OWNER ID: 1