Notes > Foundations of Computing > Artificial Intelligence
Alan Turing (1912-54) developed the Turing Test in (1950) which was designed to distinguish between a computer immitating "intelligence" and a real person. Intelligence can be defined as the ability to act appropriately in an uncertain environment. Artificial Intelligence involves the building of computer programs that perform tasks that normally require intelligence when undertaken by humans.
There are certain types of task that can be undertaken by both man and machine:
Computers have much better computational skills than humans especially when it comes to very complex calculations. Humans can recognise and reason better than computers.
- Computational tasks - performing calculations of varying complexity
- Recognition - understanding speech or locating a certain object for example
- Reasoning - planning and making decisions
The study of artificial intelligence can be applied to business. Computers can be used as tools to solve problems and make decisions based on given information. Advisory and Decision Support Systems (DSS) can be developed to aid the decision making that managers in business need to face.
In the solving of problems, human methods are often based around trial and error but a search algorithm would provide the quickest solution to a problem by testing all the possible answers. Creating an algorithm and implementing it using a programming language can lead to the ability to find solutions to a certain problem quickly and efficiently.
There are some fundamental rules of reasoning that can be expressed using a standard notation. Some are shown below:
A -> B
A -> B
It is also important to note that:
A -> B
therefore... (not necessarily ~B!)
There are several different AI Programming languages that can be used. Some examples are below:
The Prolog system is essentially a knowledge base which uses reasoning mechanisms to generate results. The format of rules and queries are demonstrated in the examples below. All the words and statements are lower case except variables which are uppercase.
- LISP LISt Processor - a symbolic, functional, and recursive language
- Prolog (Programming in Logic)
- C++ or Java - object-orientated programming languages
The following example shows how an extra rule is needed to combine existing rules. Without the third line, object1 would not be viewed as coming before object3 as that relationship is not stated explicitly.
The question statements are formed as shown:
before(A,B) :- before(A,C), before(C,B).
Search for "Artificial Intelligence" on:
eBay (UK) |
Search for "Artificial Intelligence" on the rest of Computing Students: Artificial Intelligence