Artificial Intelligence

Cameron Desrochers

Terminator
The Terminator robot

Preconceptions

Most people have certain preconceptions and expectations of AI. Many people associate AI only with robots, but that isn't necessarily the case. Some people think AI is dangerous and might become rogue, like Hal in 2001: A Space Odyssey. I tend to think of AI as a computer program that can converse in natural language with a human. There are, of course, many other different types of AI (discussed later) but chatting AI is, in my opinion, the most interesting kind. A lot of people think that designing an AI is easy, and that all it takes is a little patience. In fact, the first scientists that started working on AI thought that making computers talk would be one of the easier goals, and assumed that making them solve complex mathematical problems would be much harder to program. It is actually the opposite!

Uses of AI

There are several different uses and types for artificial intelligence, or AI. AI is used in robots that work in assembly lines, for example at a car factory. AI is also used in home electronics, like the Roomba, which has to know how to navigate around a room without bumping into furniture. Another good example would be all those annoying talking dolls that your baby sister plays with. One type of AI, called an "expert system," is sometimes used to help diagnose sick patients. Expert systems are fed all the data accumulated by different experts in a particular field. Then the AI can co-relate all the data and come up with complete solutions (it doesn't forget anything) for most problems in that field. AI is also used effectively to predict trends in the market. The accuracy of their predictions is often better than that of humans.

AI Techniques

One programming technique used to create an AI is to use fuzzy logic. Fuzzy logic is a bit of a misnomer: it is not logic that is fuzzy, but rather logic that deals with imprecise data. Fuzzy logic has nearly infinite applications in the real world, because most data in the world is imprecise. Some problems that were previously solvable only by using extremely complex probability mathematics are easily solved simply by using fuzzy logic. Fuzzy logic is fundamentally different from traditional computer logic, where something can only be true or false. For example, fuzzy logic recognizes that there is not a clearly drawn crisp line between the number of pages in a novel and a novella. They are separated from each other by degrees, not by a concrete line. Fuzzy logic has not caught on as much in North America, but it is revolutionizing Japan, and will eventually permeate our society too. Fuzzy logic systems can be used to control traffic lights, appliances, elevators, cars, subways, TVs, and much, much more.

Another programming technique used to create an AI is genetic programming, also referred to as evolutionary algorithms because of the way they mimic natural evolution. Evolutionary algorithms are programs that evolve over time. As an algorithm evolves, it chooses the best version of itself from a large array of slightly different versions. Then it creates another large array of slightly different versions based solely on the best version that it previously selected. It keeps repeating this process until it eventually has an algorithm that works optimally. These special algorithms are now used to come up with advanced technology that is extremely hard to design perfectly by hand. For example, an evolutionary algorithm created an antenna (antenna-design is generally considered a black art) that looked weird but outperformed other antennas. This is the antenna that NASA now uses in its spaceships.

Neural networks are also used to create AI. Neural networks are simplified models of the human brain that mimic the behaviour of neurons. They work by repetitive conditioning -- learning, in effect. Once a neural network has been trained to output a certain response given the right input, it can improvise a pretty accurate response to input that it has never seen before. Neural networks have been around since the 1960s. Neural networks are particularly adept at recognizing things that vary to some extent, such as the letter 'a' as drawn by a human. Today, neural networks are used for recognizing and converting natural speech, to predict the stock market, and to recognize patterns and trends within data.

Some types of AI, most notably chess-playing algorithms, use recursion. Recursion is basically a phenomenon that happens when something makes use of itself. This creates a circular reference that is only broken when a specific condition is met. For example, the chess-playing AI would think up several different possible next moves on its turn. It picks what it thinks is the best one, then pretends that it is its own opponent and picks what it thinks will be the best next move, and so on and so forth. This way, it keeps picking what it thinks will be the best moves for both players until it has a pretty accurate idea of what the board will look like in the future. Then it knows which move really would be the best.

A technique used in video games, especially racing ones, is rubber-banding. Rubber-banding is where the AI's "smartness" is automatically adjusted to the level of the user. For example, if a bad player goes to an arcade and races at twenty miles an hour, then the AI driving the other cars will still try to win, but they won't race ahead at 100 mph. They'll try to match the user's driving skills while still being competitive.

Making an AI

Making an AI is not easy. The problem of creating an AI capable of human-like conversation consists of many different things. Humans converse by drawing on vast reserves of experiences and knowledge contained in their memory (a "knowledge base"). A knowledge base includes the connotative and denotative definition of most commonly used words, expressions and common phrases. A knowledge base also includes where these constructs should be used, and the syntactic rules of language (which are actually quite complex). This is the base of all human conversation, but a computer doesn't have a knowledge base. It is currently impossible to make an AI that talks using the same approach to talking and learning that a human would because we still don't completely understand how the brain works. Other, much simpler (but still complex) methods must be used like the ones mentioned above.

Testing an AI

There are several ways of evaluating an AI whose purpose is to converse in natural language. One long-standing method is the Turing test (named after the pioneer Alan Turing). In the test, someone talks to an AI and a human remotely via a computer. This person does not know which is the AI and which is the human. At the end, if the person cannot differentiate between the human and the AI, then the AI passes the test. The problem with evaluating an AI is that it is very difficult to do quantitatively. It is possible to analyse an AI using the criteria in the chart below, but the assessment is still dependent on what the evaluator thought. In this respect, analysing AI is a lot like grading a short story or essay.

Criteria Score (%)
Greeting  
Consistency of personality  
Coherent-ness of responses  
Responds in a friendly manner  
Consistency of responses  
Repetitiveness of responses  
Originality of responses  
Reponses reflect input  
Realism of conversation  

An Interview with Isaac Rakofsky

C: What do you think of artificial intelligence, or AI?
I: It makes for a very good science fair project
C: Do you think there will come a time when robot intelligence will surpass that of humans (this is called the singularity)?
I: No, because robots don't have the ability to learn
C: Some do
I: It's not the same
C: What do you think of Smarter Child?
I: It needs some work
C: Do you think robots will someday rule the Earth?
I: Not really, no
C: Do you think that the AI used in video games has improved much during the last decade?
I: Yes. It used to suck, but now it's OK
C: Thank you for your time!
Interview with Isaac Rakofsky on November 13th, 2007 at 8:00 PM

More Info

For more information, visit:
- Back to top -
Last updated on December 20th 2007
©2007 - Contact Info: talkativeAI@gmail.com