Higher Course Notes AI by iarthur

VIEWS: 1,521 PAGES: 34

									Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation

Hamilton Grammar School ICT Department

Higher Computing
Artificial Intelligence

Learning Criteria & Self Evaluation 2008 – 2009
Student Name ____________________________
Complete the smiley or colour it in - for each bit of information in this book (but only for the pages you are told to read)


I know exactly what this means and can explain it


I know what this means but I find it hard to explain


I don’t know at all what this means Help Me Please!

Page 1

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation What is Artificial Intelligence? Artificial Intelligence is one of the most exciting and varied areas of Computing research. So what is it all about? One of the problems (or maybe, one of the delights) of the subject is that nobody seems to be able to agree what it is! There are several reasons why no-one can agree on a definition. Here are three:
It is a subject which is developing all the time, so the definition has to keep changing; It is a subject which involves computer scientists, biologists, psychologists and philosophers (among others), and they all see the subject from their own perspective; It is difficult to define human intelligence, let alone artificial intelligence.

Many researchers define intelligence as having the following features:
The ability to learn from experience. The ability to adapt to new experiences. The ability to use knowledge to make decisions. Able to problem solve. Show Creativity Handle and manipulate language

Page 2

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Testing Intelligence One way of determining whether an AI program is truly intelligent is to apply the Turing test. Alan Turing, a British mathematician developed a test in 1950 with the following features:
A human tester was connected to 2 terminals and asked a series of questions. One of the terminals had another human making the responses and the other used a computer program to make the responses If the human tester could not distinguish between the human responder and the program response then the software was said to be intelligent.

Page 3

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation There were a number of flaws in this type of test
It needed a fairly limited problem domain i.e. the area of the knowledge had to be small. Did the program pretend to forget things or make errors in order to full the human tester?

Developments in Artificial Intelligence In the beginning the focus of AI research was on modelling the human brain. Information was gathered from animal and human biologists in order to find patterns in the way we do things.

As machines became more powerful and expertise grew in the field, the focus shifted on to trying to produce systems which exhibited “intelligent behaviour”. Research concentrated on modelling situations with simple problem domains.

Page 4

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation A number of researchers used games like noughts and crosses, chess and draughts to help develop Artificial Intelligence systems.
These games were effective as they had limited problem domains. The games also had a number of rules that were easy to define.

The earliest chess games like Maniac-1 was able to beat human players. Language Processing In the coming years, researchers agreed that these game playing systems had no prospect of passing the Turing test. To do so, a computer system would need to have access to a much wider knowledge base than simply the rules of chess. To pass the Turing Test, a computer system would need to be able to "hold a conversation" in a natural way. That meant it would need to have a wide vocabulary, understand

Page 5

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation the (often illogical) rules of English grammar, and be able to respond to questions in a sensible way. One of the first programs which demonstrated some ability in this area was Eliza, written by Joseph Weizenbaum in 1966. ELIZA responded to users statements by asking questions based on previous responses.

Parry followed on from Eliza where the program modelled the conversations of a paranoid person. One reason for such an odd choice of domain was that AI researchers are not simply computer scientists as we know them, but include psychologists and other experts in human behaviour.

Page 6

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Another language system was called SHRDLU (developed in 1970) where the program could interpret verbal commands to move objects around the screen. SHRDLU could respond to sentences like "Move the red block behind the green one". It could "understand" that "the green one" meant the green block which had been referred to in an earlier sentence.

Much of this is serious research, but one of the spin-offs has been a huge number of programs called 'chatterbots' which simulate human conversation.

Page 7

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Knowledge Representation Early developments, whether in games playing programs or chatterbots, were limited by the programming techniques available at the time. The only tools available to researchers were standard programming languages. These were designed for coding algorithms to solve a problem. Complex games and human conversations cannot easily be represented by an algorithm. To be successful, they have to be able to manipulate large amounts of knowledge, often in an unpredictable way. A framework for representing knowledge' was a crucial moment for AI. The two methods of knowledge representation studies in the Higher course are semantic nets and logic programming.

Page 8

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Semantic Nets Semantic Nets are diagrams which show how the information in a system is interlinked. The diagram below shows a semantic net representing a classification of some mammals.

A semantic net is used to show a series of quite complex links in a fairly clearer way. The main problem with semantic nets is that they can get very large and out of hand if we try to model a lot of knowledge.

Page 9

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Logic Programming Logic programming is languages. Declarative features: implemented using declarative languages have the following

They have no fixed start or end point Are made up of a collection of facts and rules Use goal directed problem solving

The two main declarative languages in the Higher course are LISP and Prolog. LISP is known as a functional language, which operates by adding functions to data structures. Here is part of an ELIZA program, written in Common LISP:
(defun segment-match (pattern input bindings &optional (start 0)) "Match the segment pattern ((?* var) . pat) against input." (let ((var (second (first pattern))) (pat (rest pattern))) (if (null pat) (match-variable var input bindings) ;; We assume that pat starts with a constant ;; In other words, a pattern can't have 2 consecutive vars (let ((pos (position (first pat) input :start start :test #'equal)))

Page 10

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Prolog can also be classified as a declarative language. In a Prolog program, the key task of the programmer is to find a way of 'declaring' precisely all the facts and relationships which describe the situation being tackled. Here is an example of Prolog, where the facts and relationships of the Simpson family are programmed

Page 11

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Developments in Hardware The development in Artificial Intelligence was fuelled by technological advancements with the following developments having a major impact on the progression of AI.
Faster processors More memory Increased backing storage capacity Computers being developed with multiple processors, allowing parallel processing where a task is divided into many sub-tasks which can then be processed simultaneously on different processors

Page 12

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Applications and Uses of AI In this section we will examine what progress has been made in 6 important domains within AI.
Natural Language Processing Vision Systems Expert Systems Intelligent Robots Artificial Neural Systems Smart/Embedded Technology

Natural Language Processing Natural Language Processing is concerned with developing systems which can cope with "natural languages", like English, French or Serbo-Croat. If the aim is to develop a computer system that can take spoken input, and give spoken output, there are several stages, each of which is a major problem to be solved.

Page 13

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation The system will need to be able to
1. input sound, and use sampling techniques to convert the sound into digital data 2. analyse this data, and split it up into recognisable sounds (phonemes) 3. figure out which of these sounds go together to form words 4. identify how these words fit together into meaningful phrases and sentences 5. "understand" the meaning of these sentences 6. generate an appropriate response 7. convert the response into intelligible sound output

Uses of Natural Language Processing
Language translation e.g. English to French Database queries using natural language Speech-driven word processors Command and control systems – giving verbal instructions to save, print etc Natural Language Search Engines

Page 14

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Problems with Natural Language Processing To develop an effective NLP system, researchers are having to overcome a number of problems.
Many words in the English language have different meanings i.e. too, two, to The English language is changing with new words being added to our vocabulary i.e. bouncebackability People from different parts of the country have very different accents and dialects i.e. I ken what you are talking about!! There are many similar sounding words and phrases e.g. furry boots are you fae?? There are a lot of inconsistencies with grammar

Is Natural Language Processing Really AI?
ability to learn : YES - some systems can improve their ability to recognise speech input as they are used creativity : YES - constructing sentences and responses to user input; use of language : YES - both "understanding" input, and generating output; adapting to new situations : POSSIBLY - a system may be able to adapt to a new speaker

Page 15

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Moral, Ethical and Legal Issues with NLP
NLP developments have brought increased access to computers for people who are blind, disabled in some way and unable to use a keyboard. In military applications, it could be argued that voice command systems could lead to more dangerous weapon systems. Legal issues may arise where mistranslations lead to problems of a commercial nature.

Page 16

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Vision Systems

Computer vision is one of the hardest areas of AI. The aim is to develop systems which can see, make sense of what they see, and react accordingly. By vision systems we mean the attempt to develop the same level of sophistication and flexibility as the human eye and brain. Essentially, computer vision breaks down into a 5 stage process:
1. Image acquisition (digitisation)
Taking any image and convert it into a stream of digital data using a digital camera etc

2. Signal processing
Enhancing digital images in various ways, including improving the resolution, removing distortion etc

3. Edge detection
By identifying edges, the system can start to make sense of the raw digital data.

4. Object recognition (pattern matching)
This can be done by pattern matching, i.e. comparing the objects with known objects.

Page 17

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation

5. Image understanding
The final, and most difficult stage is image understanding. How do all the objects relate to each other? What do they mean? Are some of the objects moving?

Uses of Vision Systems
Computer vision is being used increasingly is security systems, for example, recognising individual faces, and allowing or denying access. Vision systems are now available for industrial robots. This makes them much more flexible as they can identify objects.

Page 18

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Are Vision Systems Really AI?
ability to learn : YES - some systems are able to improve their recognition capability with time use of language : NO - although pattern recognition is used in OCR applications to recognise printer letters and symbols vision : obviously YES! problem solving : NO - although the purpose of vision systems is to make it possible for computer systems to operate in problem-solving environments, independently of humans adapting to new situations : YES - the ideal vision system would be able to cope with completely unfamiliar scenes, just as the human eye and brain can.

Page 19

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Expert Systems An Expert System is a computer program which can do the job of a human expert. That is, it can give reliable advice on a limited area of expertise, and can explain its reasoning. It is able to interact with any user in the same way that you might consult a human expert such as a doctor or a lawyer. Examples of Expert Systems
Medical Expert Systems: MYCIN (to diagnose blood disorders), PUFF (lung infections), BABY (for monitoring babies in intensive care), NHS24

Geological Exploration: One of the earliest successful expert systems was called Prospector, which was able to analyse echo soundings, and suggest places where it would be worthwhile drilling to find new mineral deposits. Computer Configuration: XCON, which allowed salesmen with little expert technical expertise to select the correct component parts of a mainframe computer to meet a customer's requirements.

Page 20

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation

Chemical Analysis: DENDRAL was designed to identify molecular structure in unknown substances. This was partly funded by NASA, with a view to using a system like this on a spacecraft to analyse the Martian soil.

Legal Advice: One system called AREST was developed by the University of Oklahoma to assist the police in robbery enquiries. Another system is used by the Department of Social Security to check claims by clients Finance: A system called FOLIO has been developed to advise on stock exchange investments. Manufacturing: One system is used to identify faults in circuit boards, and advise on how to correct them.

Advantages of Expert Systems
Expert Systems are available to access 24/7 e.g. NHS 24, unlike human experts who work set hours The Expert System will never get tired unlike a human expert Human experts are normally unique, whereas you can have multiple copies of an expert system

Page 21

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation
The Expert System can combine the knowledge of many experts Human experts may make decisions based on human emotion, this may be the wrong decision Human experts may retire and the company may need to wait years before other staff develop the same level of expertise Some human experts have unsurpassed knowledge but have poor communication skills

Disadvantages of Expert Systems
The Expert System may have a lot of facts and rules but it will not have common sense like a human expert. (A man walks into the surgery breathing heavily and perspiring, the Expert System says he is having a heart attack, the human expert says “I see the lift is out of order again!!”) If the Expert System makes an error, it is difficult to determine, who is responsible. Is it the programmer, the company who bought the Expert System etc?? There may be little trust in using the Expert System. Would you be happy getting a diagnosis for an illness by a program?

Page 22

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation

Parts of the Expert System

An expert system consists of 3 parts:
The user interface allows the user to input information into the Expert System and get responses and explanations in a language that the user understands The knowledge base consists of all the facts and information about the topic, and all the rules and relationships between these facts. This information will have been provided by one or more domain experts, and converted into an appropriate form by a knowledge engineer.

The inference engine, which searches the knowledge base, generates questions to the user, and uses the rules and relationships which have been programmed into the knowledge base to come to conclusions which can be reported to the user.

Page 23

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation An expert system shell is an expert system with no knowledge base. It consists only of a user interface and an inference engine. Expert system shells are used to create expert systems. The programmer only has to code the knowledge base, as the user interface and inference engine already exist. Are Expert Systems Really AI?
Ability to learn: NO - the system can only improve if extra knowledge is put into the knowledge base by a knowledge engineer Creativity: NO - predictable output from facts and rules Reasoning: YES - an expert system can justify any advice it gives, explaining in a logical way how it reached that particular conclusion Use of language: NO Vision: NO Problem solving: YES - the whole purpose of the expert system is to help humans to solve problems, but only in a limited domain; Adapting to new situations: YES - a system may combine the expertise of several experts, and so come to new conclusions.

Page 24

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Moral, Ethical and Legal Issues with Expert Systems
Who accepts responsibility if the Expert System gives the wrong advice e.g. a medical expert gives wrong advice and someone dies o Is it the company creating the Expert System, the company using the Expert System? If Expert Systems become widespread, humans may become deskilled or lose jobs How do you feel about consulting a computer about a sensitive medical issue

Intelligent Robots The idea of an intelligent robot has always been a dream that has been developed by science fiction writers. Robots can be considered intelligent when they go beyond this idea of simple sensors and feedback, and display some further aspect of human-like behaviour. Examples might include:
The use of vision systems and pattern matching rather than simple sensors, allowing the robot to recognise real objects

Page 25

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation
The ability to learn, so that the robot can improve its performance at a task beyond the level at which it was originally programmed Mobile robots which can work out the best route through a factory rather than following a pre-programmed route Robots which can "walk" on uneven surfaces rather than using simple wheels or rollers

Uses of Intelligent Robots Intelligent robots are being used increasingly in many different areas. These include:
Manufacturing industry Bomb disposal Medical operations Deep sea exploration and rescue Space exploration

Page 26

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Practical Problems of Intelligent Robots There are many practical problems to be overcome in developing intelligent or autonomous robots. Some of these problems are specific to intelligent robots, and some are relevant to all robots, whether intelligent or dumb. The problems to be overcome include:
Providing a power supply Implementing mobility Implementing effective 3D vision systems Providing adequate processing power Navigation and path planning Manipulating objects

Page 27

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation

Artificial Neural Systems Many AI problems, as we have seen, are very difficult to solve using standard computing methods. This has led some researchers to approach such problems from a very different direction.

The starting point for this approach to AI is the human brain itself. The human brain can show many complex aspects of intelligence, so why not try to model systems on the human brain? The human brain is made up of billions of connections called Neutrons. A Neutron will “fire” when it gets enough input from other Neutrons. This firing of Neutrons is how the brain sends signals to the muscles.

Page 28

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation

AI researches have modelled this process using a network of artificial neutrons (perceptron). The perceptron, modelled in 1962 is the earliest type of Neural Network. The diagram below shows a perceptron with 5 inputs, each reacting to a different stimulus. This input travels on to the next inner layer, until the output layer is reached. If you connect a lot of these perceptrons together you can get some fairly complex decisions being made, which might rely on dozens of inputs.

Simple speaking, a neural network is an electronic model of the brain consisting of many interconnected simple processors. Neural networks can either be built in hardware as hard wired circuitry or be implemented in software. Page 29

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation

There are 3 basic stages that make up the creation of a neural network.
Initial Setup. The network is created and the initial values (weights) are set for the input layer, the hidden layers and the output layers. Training the Network. A number of trials are run, to test the accuracy of the original threshold values. The internal weights change, or rebalanced, so that the network gives the correct outputs. These changes may be done manually or the network may rebalance itself, using feedback by a process called back-propagation, to bring the actual outputs closer to the expected outputs. Running the Network. The network is used and outputs generated. These may be checked against expectations and further balancing done as the network learns and improves.

Page 30

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Neural Networks in Use Neural networks have become increasingly complex and have been applied to many different problem domains.
The Post Office have been using Neural Nets to automate the reading of postcodes. Each of the characters on the last line of the address are compared to a number of stored templates in the neural network. Stock Market Predictions. NASA are using neural nets to take information from movements of the pilot’s arms to automated the flying of spacecraft.

The main advantage of artificial neural systems is that they can learn and adjust to changing circumstances. They have a very good success rate in predicting the correct response when compared with humans and they often do it faster. The main disadvantage is the difficulty in initially setting up the Artificial Neural System. Furthermore, the ANS cannot always explain why certain choices have been made, unlike humans. Page 31

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Are Neural Networks Really AI?
Ability to learn: yes, algorithms have been developed which allow a neural network to adjust its own weights, so that its performance can improve Creativity: neural networks can be used to solve problems which have defeated an algorithmic approach Reasoning: a neural network can arrive at an answer, but is unable to show the reasoning which it used to justify its answer Use of language: neural networks have been very successful in speech recognition and in speech production; Vision: neural networks are very effective in extracting useful information from vision systems Problem solving: neural networks are effective in a wide range of problem-solving situations Adapting to new situations: most neural networks are designed and trained for a particular situation; they are flexible enough to cope with new input data, but could not be transferred from one type of problem (e.g. speech recognition) to a completely different problem (e.g. playing chess) without being redesigned.

Page 32

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation Smart/Embedded Technology Intelligent software is used to monitor and control many devices in our everyday lives. Many domestic devices, contain smart technology.
The fridge that knows when food orders are running low and orders in more food The satellite/cable tv system that works out what you might enjoy watching from past viewing patterns and records it when you are out Car engine control systems which monitor performance and help the mechanic diagnose faults The parking program that knows you driveways and parks you car without you sitting in the driver’s seat

Page 33

Hamilton Grammar School
ICT Department Higher Computing

Learning Criteria & Self Evaluation

Page 34


								
To top