1 development of artificial intelligence (ai)? 2 applications and uses of ai3 search techniques 4...

40

Upload: dorthy-wheeler

Post on 26-Dec-2015

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation
Page 2: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

1 Development of Artificial Intelligence (AI)?

2 Applications and uses of AI

3 Search Techniques

4 Knowledge Representation

Page 3: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

1 Development of Artificial Intelligence (AI)?

Page 4: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

“Intelligence” is VERY difficult to define! Even the dictionaries don’t agree.

Some of the best attempts at defining intelligence might include:

- the ability to learn from experience

- the ability to adapt to new environments

- the ability to combine knowledge to make decisions

“Artificial Intelligence” could therefore be thought of as:

“the science of making machines do things that would require ‘intelligence’ if it were to be done by a human.”

Defining “Intelligence”

Defining “Artificial Intelligence”

Strong AI -Some AI researchers believe that one day a machine will be built that can think.

Weak AI - Others believe that a machine will only ever be able to emulate human thought.

1 What is Artificial Intelligence (AI)?

Page 5: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

The main aspects of intelligence that we will consider include:

• The ability to process language and communicate

• The ability to learn and adapt

• The ability to recognise features (also called cognitive ability)

• Problem solving skills

• The ability to remember and recall information

• The ability to create knowledge (or apply knowledge in new ways).

With such a wide field it is no wonder that “intelligence” is so difficult to define.

Aspects of Intelligence

Page 6: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

Aspects of Intelligence in Computer Games

• The ability to process language and communicate

Interpret typed or spoken commands to perform actions.

• The ability to learn and adapt

Learning new strategies that can be applied in future games.

• The ability to recognise features (also called cognitive ability)

Examining surroundings to detect the opposing player OR listen and/or watch for the other player.

• Problem solving skills

Searching for appropriate strategy for different situations that occur.

• The ability to remember and recall information

Remembering previous experience to inform future strategy.

• The ability to create knowledge (or apply knowledge in new ways).

Coping with new situations and/or novel solutions.

Page 7: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

One way of determining whether an AI program is truly ‘intelligent’ is to apply the Turing Test. The method was proposed by the British Mathematician Alan Turning in 1950.

There are flaws in the Turing test as a method of determining the existence of artificial intelligence.

1 – It can only cope with a fairly limited problem domain (ie. the area of knowledge that the system describes is very small).

2 – Do systems have to pretend to forget things or make mistakes to fool us into thinking they’re human?

3 – Should the interrogator (C) know that they are taking part in a test and that one of the responses is coming from a computer. Does it matter either way?

4 – Displaying intelligent behaviour is NOT the same as being intelligent. Think about it!

5 - The Turing test assumes that the interrogator is sophisticated enough to determine the difference between the behaviour of a

machine and the behaviour of a human being.

The Turing Test

Firstly, you place your interrogator (C) in a room with 2 computer terminals.

You then connect your computer program to one terminal (A) and a human being to the other (B).

The interrogator then asks questions of both terminals to see if he or she can tell which is the human and which is the machine.

If the tester cannot tell the difference, the machine has passed the Turing test.

BBC News - Turing Test

How the Turing Test Works

Flaws in the Turing Test

Page 8: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

In the beginning the focus of AI research was on modelling the human brain.

Information was gathered from human and animal biologists, psychologists, doctors and psychiatrists to try to identify patterns in the way we do things.

It was thought that programs could be written or machines could be built that would mimic human and animal behaviour.

Early work looked at simple game playing, mathematical manipulation and language processing.

Alan Turning’s work on cryptography during WW2, showed that ‘any computable problem can be solved using simple IF-THEN rules’. It prepared the world for what was to follow.

Development of AI

Early Years (1940s-1950s)

As machines became more powerful and expertise grew in the field of AI, the focus shifted from trying to model the human brain to trying to make systems which exhibited ‘intelligent behaviour’.

Research concentrated on modelling situations from a variety of relatively simple problem domains.

General Problem Solver (GPS) was a program written in 1961. It was designed to use something we use everyday – common sense reasoning. The ‘General Problem Solver’ could only operate in a very clearly defined area of logical theorems and equations and not, as its name suggests, on more general human problems.

Due to technical limitations of machines at the time, it was only possible to implement simple games like chess, draughts and noughts and crosses.

The earliest chess programs could beat human players (if they were not too good!)

These early machines with restricted problem domains, often referred to as closed worlds.

1960s

Page 9: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

Development of AI

1960s - 1970s

ELIZA

Developed in 1966, ELIZA was one of the first applications which was thought to display understanding in language.

ELIZA seemed to be able to respond intelligently to human conversation and was able to psychoanalyse “patients”.

Many users actually believed they were talking to another person! Try ELIZA online:http://www.chayden.net/eliza/Eliza.html

SHRDLU

A system called SHRDLU (developed in 1970), could “understand” a closed world involving a number of coloured blocks.

It was one of the few programs which was able to understand reasonably complex sentences.

It could interpret verbal commands to move these blocks around.

Person: PICK UP A BIG RED BLOCK. Computer: OK. (does it) Person: GRASP THE PYRAMID. Computer: I DON'T UNDERSTAND WHICH PYRAMID YOU MEAN. Person: FIND A BLOCK WHICH IS TALLER THAN THE ONE YOU ARE HOLDING AND PUT IT INTO THE BOX. Computer: BY "IT", I ASSUME YOU MEAN THE BLOCK WHICH IS TALLER THAN THE ONE I AM HOLDING. Computer: OK. (does it) Person: WHAT IS THE PYRAMID SUPPORTED BY? Computer: THE BOX. Person: HOW MANY BLOCKS ARE NOT IN THE BOX? Computer: FOUR OF THEM.

Person: PICK UP A BIG RED BLOCK. Computer: OK. (does it) Person: GRASP THE PYRAMID. Computer: I DON'T UNDERSTAND WHICH PYRAMID YOU MEAN. Person: FIND A BLOCK WHICH IS TALLER THAN THE ONE YOU ARE HOLDING AND PUT IT INTO THE BOX. Computer: BY "IT", I ASSUME YOU MEAN THE BLOCK WHICH IS TALLER THAN THE ONE I AM HOLDING. Computer: OK. (does it) Person: WHAT IS THE PYRAMID SUPPORTED BY? Computer: THE BOX. Person: HOW MANY BLOCKS ARE NOT IN THE BOX? Computer: FOUR OF THEM.

Towards the end of the 1970s research began to move away from the idea of creating a machine which understood everything, and became more focused on developing AI within a specified domain.

Researchers had realised by this time that they required to store a huge amount of data to solve the simplest of problems that a human could solve so easily.

Page 10: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

Development of AI

1970s

MYCIN

In the area of medical diagnosis, MYCIN, an expert system was developed.

Its knowledge was based on that of a number of human experts, and was able to diagnose blood infections.

It contained around 450 rules and was able to replicate the reasoning and diagnoses of the experts and to out-perform junior doctors. It was written in LISP.

Example of a MYCIN production rule:

IF 1. The infection that requires therapy is meningitis AND2. The patient has evidence of serious skin or soft tissue infection AND3. Organisms were not seen on the stain of the culture AND4. The type of infection is bacterial

THEN There is evidence that the organism that might be causing theinfection is Staphylococcus coagpos (0.75) or Streptococcus (0.5).

1980s

In the early 1980s, one of the largest computer firms, DEC began to use XCON, the first commercially successful expert system. This was a time when ordering a computer system was much more complex than it is today! DEC employees were not always technically expert, and so the XCON expert system interacted with the sales person and asked critical questions before printing out a coherent, workable system specification/order slip!XCON ultimately saved DEC an estimated $25 million per year.

Restricted domains proved a great success and produced, for example, the expert system.

Page 11: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

Development of AI

Modern Developments in AI

A modern example of robots interpreting behaviour would be a robotic fish that swims with real fish, collecting data about ocean currents, migration patterns and other behaviours.

Your car may be able to work out what is wrong when it will not start. It may even be able to contact the garage for you.

Modern fridges can detect when food supplies are running low, and can send out an order for more food via the internet.

Use the internet to investigate more modern developments in AI

European researchers have designed robots that react to one another in ways that resemble the actions of mammals.

BBC News See Robots Swarm

Modern Developments in AI

Parallel Processing

As technology has developed, the study of AI has benefited enormously.

Faster processors + Larger Memory Capacity* + Faster Backing Storage Access = Faster Solutions to more complex AI problems

Parallel processing has further improved performance, since multiple processors can simultaneously work on different parts of the same AI problem (e.g. Searching different braches of a tree in a depth-first search) .

Classic applications of parallel processing include Vision Systems (where a video image can be analysed by using a separate processor for each part of the image, comparing pixel intensities and detecting edges), Chess Program ( where several branches of moves can be evaluated simultaneously) and Speech Recognition (where several processors simultaneously try to match the input signal with stored patterns of sounds.

However, as we learned in the Digital Intelligence Lecture, processing power alone does NOT solve many AI problems! Even the most powerful supercomputer in the world struggles to distinguish the difference between cats and dogs!

Page 12: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

2 Applications and uses of AI

Page 13: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

We are going to examine 6 areas of AI applications:

• Expert Systems

• Natural Language Processing

• Vision Systems

• Intelligent Robots

• Smart/Embedded Technology

• Artificial Neural Systems (ANS)

2 Applications and Uses of AI

Page 14: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

2 Applications and Uses of AI – Expert Systems

Expert Systems

• Not enough of them

• Not in the right place at the right time- Medical expertise is scarce in the third world- Crops may fail for no apparent reason- Legal advice is sometimes not available to poor people

• Expensive - Cost a lot to train - Expect high salaries and/or fees

• Not permanent - May move to work elsewhere - Will retire or die or may no longer be available

• Imperfect - They do not know everything - Knowledge is sometimes forgotten

- Imperfect logic and intelligence when solving problems - May be biased by outside factors - May lie, conceal or omit true advice - Make mistakes through tiredness/pressure

Problems with Human Experts

Page 15: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

All expert systems produce advice as output, but the way that the output is used determines the category of the expert system.

There are 4 different categories of expert system. They can be used to:

adviseadvise classifyclassify

diagnosediagnose planplan

2 Applications and Uses of AI – Expert Systems

Expert Systems are Used To:

Page 16: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

2 Applications and Uses of AI – Expert Systems

Expert Systems are Used By:

• Doctors – to help diagnose specialist diseases such as cancer

• Oil Companies – to advise on the most likely places to drill for oil

• Banks – to help advise customers on types of mortgage, saving account etc

• Airlines – to help the aircraft pilot to plan a flight path

• Botanists – to classify rare plants

• Solicitors – to advise on certain aspects of the law

• Telecommunications Companies – to help plan the design fibre optic cabling

Page 17: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

2 Applications and Uses of AI – Expert Systems

Main Component of an Expert System

UserUser

Interface

Expert System Shell (E.g. Intermodeller)

Knowledge Base

Inference Engine

Expert System

FORWARD

BACKWARD

Page 18: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

2 Applications and Uses of AI – Expert Systems

Components of an Expert System

- the Knowledge Base

- contains the facts and rules that represent the knowledge in the system

- written in a knowledge representation language (KRL)

- uses certainty factors to represent uncertain knowledge

- the Inference Engine- determines the method of reasoning used by the expert system (i.e. Forward Chaining, Backward Chaining)

- determines how the expert system rules are applied to the facts

- determines the order in which the rules are applied (& the order of questions posed)

- the User Interface

- allows the user to seek advice by providing questions for the user to answer

- allows the system to provide user with advice & justify the advice offered and questions asked

- determines how user friendly the system is

Working Memory In addition, the user’s responses to questions, and the deductions for the current query are stored in working memory and then discarded when a new query is started

Page 19: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

2 Applications and Uses of AI – Expert Systems

Justification Features of an Expert System

An expert system must be able to explain its behaviour and its decisions to the user.

This explanation feature is necessary in order to enhance the user’s confidence in the system’s advice.

Explanations can reassure the user that systems conclusions are valid and are based on the evidence provided and that the questions asked are relevant and necessary for drawing a conclusion.

It also enables the designer to detect a possible flaw in the system’s reasoning.

Explanations are used to test an expert system to ensure that its conclusions are correct. They are also used to debug the system if it is generating conclusions that are incorrect.

For these reasons, all expert systems can justify their actions. In particular an expert system can:

give a reason why it is asking a particular questiongive a reason why it is asking a particular question

give a reason how it came to suggest a particular piece of advicegive a reason how it came to suggest a particular piece of advice

WHY WHY

HOWHOW

Page 20: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

WHY? WHY?

Are you interested in buying a car?

Why are you asking me if I am interested in buying a car?

Because I may be able to suggest that you should buy Car Weekly.

Magazine Selector

The WHY justification allows the expert system to explain why it is asking a particular question.

2 Applications and Uses of AI – Expert Systems

WHY – Justification Feature

Page 21: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

HOW? HOW?

Suggestion: You should buy ‘Skiing and Snowboarding Magazine’.

How did you arrive at that conclusion?

Because you said that you enjoy sport and you said you don’t mind cold weather.

Magazine Selector

The HOW justification allows the expert system to explain how it arrived at a particular piece of advice.

2 Applications and Uses of AI – Expert Systems

HOW – Justification Feature

Page 22: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

There are 4 main personnel involved in the development of expert systems:

The Domain ExpertThe domain expert is the human whose knowledge and expertise has to be gained in order to design and construct the expert system.

The Knowledge EngineerThe knowledge engineer has the task of obtaining the domain knowledge from the human expert and representing it in a suitable form so that it can be entered into an expert system shell. This process is called knowledge acquisition and elicitation. (This role is similar to a systems analyst for other types of software development).

The ProgrammerThe programmer’s task is to enter facts and rules into the knowledge base from the knowledge representation provided by the knowledge engineer.

The UserThere are 2 categories of user: the ‘client’, and the ‘end user’. The client may be the company that has commissioned the expert system and must be satisfied that it meets there requirements. The end user is the person who will ultimately use the expert system to help them solve problems. Both the client and the end user may be involved with the other personnel in testing the expert system to ensure that it works correctly.

2 Applications and Uses of AI – Expert Systems

Expert Systems – Personnel

Page 23: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

Social, Ethical and Legal ImplicationsSocial, Ethical and Legal Implications

Expert Systems have been designed to replace human expertise, make decisions and give advice that would normally be suggested by a human expert. What happens the advice is wrong? Or when this advice turns out to be bad advice? The consequences of acting upon bad advice could be catastophic!

Who is responsible for this?

Knowledge EngineersKnowledge engineers are responsible for representing the specialist knowledge in the expert system as facts and

rules. They are also responsible for testing the system to ensure that it is correct. There is scope for error if they have represented the knowledge incorrectly or they have not tested the system adequately.

Users of the Expert SystemUsers are responsible for providing answers to the questions asked by the expert system. The user may respond

incorrectly especially if working under stressful conditions. They should also use common sense when acting upon the advice provided by the system.

Human Experts Human experts are responsible for supplying specialist knowledge that is accurate. They must also take part in the

testing of the system to make sure that advice suggested by the expert system matches the advice that the human expert would give in the same circumstances. It is possible that the human expert could provide inaccurate information at either the design or testing stage.

The Company / Organisation who Installed the System

The management of the company / organisation is ultimately responsible for the decisions taken within the company whether by human expert or by expert system. There is scope for error on their part if they do not provide enough time for liaison between themselves, their staff and the knowledge engineers. They should also ensure that company procedures are adjusted to incorporate the use of the expert system. They should also ensure that the introduction of the system is phased to accommodate testing.

2 Applications and Uses of AI – Expert Systems

Page 24: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

Social, Ethical and Legal ImplicationsSocial, Ethical and Legal Implications2 Applications and Uses of AI – Expert Systems

Expert Systems – Advantages & Disadvantages

Users of Expert Systems must always remember that they can, if they wish, ignore the advice of the expert system when making a final decision. Expert Systems are simply electronic consultants – it is the user who has control over the final solution and its application.

Remember!

Advantages & Disadvantages of Expert Systems

Advantages Disadvantages

Permanent – Always available Narrow focus – narrow domain

Easy to transfer – Portable Needs expert to set up and maintain

Easy to document Lack of ‘common sense’

Consistent Inability to acquire new knowledge

Affordable – Cost Effective Inflexible

Page 25: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

The human brain is made up trillions of connections. These connections are called neurons.

A neuron “fires” when it get enough input from those neurons it is connected to.

This sends a signal to other neurons which are connected to it.

If they get enough stimulation from the other neurons to take them over their own thresholds, they will fire too.

In this way, signals are travelling around the brain all the time.

2 Applications and Uses of AI

Artificial Neural Systems (ANS)

Even simple creatures like insects behave in intelligent ways (they can see, they can learn), and they do this with a much smaller brain of around 1 million neurons.

Each neuron is a relatively simple structure, consisting of a cell body, with many long tentacle-like extensions called dendrites.

Neurobiologists have studied the way neurons work and have discovered they work in a fairly simple manner.

Dendrites are the cells input devices. They receive signals from other neurons.

If sufficient inputs are received, this triggers an electrical output signal along the axon.

Page 26: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

Illustration of the major elements in chemical synaptic transmission. An electrochemical wave called an action potential travels along the axon of a neuron. When the wave reaches a synapse, it provokes release of a puff of neurotransmitter molecules, which bind to chemical receptor molecules located in the membrane of another neuron, on the opposite side of the synapse.

2 Applications and Uses of AI

Artificial Neural Systems (ANS) continued…

Page 27: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

Early researchers discovered that it would be possible to model a simple brain neuron, and developed the perceptron.

The perceptron has a small number of inputs (like dendrites) and a single output (axon).

It multiplies each input by a number (called a weight) which could be adjusted.

It then adds up all the inputs and gives an output if the total exceeds a threshold value.

The output value is then used to adjust weights and repeat the process. Each iteration reduces error.

Eventually, error is reduced to the extent that a pattern can be identified to a degree of certainty.

2 Applications and Uses of AI

Artificial Neural Systems (ANS) continued…

Applications of Artificial Neural Systems (ANS)

Neural nets are very good for pattern recognition problems where data is plentiful and inexact and where human experts cannot explain the pattern.

Real-world applications exist in hand-writing recognition (e.g. postcodes identifying postcodes on written letters), vision systems, speech recognition, weather forecasting, financial forecasting etc.

Page 28: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

2 Applications and Uses of AI

Vision Systems

Page 29: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

Vision Systems take input from a digital camera or a digital video camera and analyse the data to try to make sense of what is shown.

Computer vision is a 5 stage process:

2 Applications and Uses of AI

Vision Systems

Vision Systems

Natural Language Processing

1 Image Acquisition

Converting the image into digital data (i.e. bit map of the scene)

2 Signal Processing

Improving the digital image by increasing the resolution and removing distortion.

3 Edge Detection

Comparing adjacent pixels to determine where changes in the bit patterns show that edges occur.

4 Object Recognition

Representing each object mathematically and comparing this representation with stored representations. (This is called pattern matching).

5 Image Understanding

Putting together identified objects to make sense of the image and take the appropriate action.

Page 30: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

There are many applications of Vision Systems including:

2 Applications and Uses of AI

Vision Systems continued…

Vision Systems

Natural Language Processing

- Fingerprint/Biometric Identification

- Digital Cameras can use face detection to aid focus

- Quality control on a production line

- Meteorologist systems analysing weather from satellite images

- Military uses include self targeting “smart weapons” that will find targets

There are difficulties with computers trying to interpret 3D objects as a single 2D images. To help overcome this problem there are current developments in depth perception using ‘stereoscopic’ vision.

Face Detection OFF Face Detection ON

Page 31: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

Natural Language Processing (NLP) is the use of computers to identify meaning from the spoken or written word and to reply in a meaningful way using everyday human language. It involves 4 steps:

2 Applications and Uses of AI

Taking the spoken works captured by microphone and identifying each word.

4 Speech Synthesis

Taking the words generated and trying to output sounds to match how these words should be pronounced.

3 Natural Language Generation

Constructing sentences from stored information about words and their meaning to construct a reply.

2 Natural Language Understanding

Taking the identified words and interpreting their meaning to allow appropriate response.

1 Speech Recognition

Natural Language ProcessingN

atu

ral

Lan

gu

age

Pro

cess

ing

Page 32: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

Computers processing Natural Language is very different to the way a computer would understand a programming language.

Programming languages have a very small vocabulary and very strict grammar rules.

A language like English has millions of words, several different ways of saying the same thing, and many different ways of interpreting the same thing. Plus the rules are evolving all the time.

2 Applications and Uses of AI

Ambiguity of Meaning“Josh likes fencing” – Does this mean Josh enjoys the sport or putting up timber fences?

“The teacher runs after the pupil with book” – Who has the book?

“Soldiers charged” – How many valid interpretations of this headline can you think of?

Similar Sounding Words“Too, two, to” – “He took those two”, “He took those too”?

Inconsistencies in Grammar of Human Languages“The team is happy with their performance” or “ The team are happy…” – Which is correct?

Changing Nature of Language“I’ll text you later” – Language is constantly changing. The verb “text” is a recent addition in this context.

Difficulties in Natural Language Processing

Page 33: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

2 Applications and Uses of AI

Smart/Embedded Technology

“Intelligent” software is used to monitor and control many devices in our everyday lives.

- the fridge that knows when supplies are low and orders more

- the car that diagnoses its own faults and books itself in for a service

- the satellite/cable TV system that works out what you might enjoy watching based on previous viewing patterns, and records it when you are out

- the ‘Genius’ ipod feature which is able to generate a playlist of recommended songs for you, based on music you like

Intelligent Robots

Dumb robots blindly follow users instructions.

“Intelligent” robots do not need humans to make decisions for them.

They do work within user-defined parameters, but they take sensory information from their surroundings, and crucially they learn and adapt to new situations.

Current applications range from mowing the lawn to assisting in medical operations.There is even the possibility that one day, micro robot may be injected into the bloodstream to help treat you!

Practical problems with intelligent robots include: limited processor power, limited mobility, navigation and path planning, inventing a small but powerful power supply, vision recognition, manipulating small objects.

Page 34: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

3 Search Techniques

Page 35: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

3 Search Techniques

Breadth-first and Depth-First

The two exhaustive, or brute force, search techniques used in AI are: Breadth-first and Depth-first.

Breadth-first vs. Depth-first Searching

Breadth-first search order is:

1,2,3,4,5,6,7,8,9,10,11,12

Depth-first search order is:

1,2,5,9,10,6,3,4,7,11,12,8

Consider a game of chess that looks 3 moves ahead.Start at initial state 1. Each branch represents a possible move at that stage.

Imagine the goal state is state 8, via move 4. What are implications for breadth-first vs. depth-first?

Looking 3 moves ahead, state 8 is reached much more quickly using breadth-first.The problem with breadth-first however is that, the whole tree (1 to 7) must be held in memory until 8 is found.

Using depth-first searching (and backtracking), state 8 is found last of all!However, there is less demand on memory with depth-first search, since fruitless branches can be checked then discarded from the search!

Page 36: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

3 Search Techniques

Combinatorial Explosion

Whichever method is used, in reality the search tree can get very big very quickly!

Even if every node on the tree leads only to 2 other nodes, than after only a few levels, the number of nodes is huge!

This is called a combinatorial explosion.

Searching Using Heuristics

To help reduce the search time we must employ a technique called heuristics.

This simply means using a “rule of thumb” to cut own the size of the search space, by ignoring branches which are unlikely to lead to a solution.

If you were looking for the shortest route between 2 points in a maze, then a heuristic might be to try to move towards the target at every opportunity, thus ignoring a large amount of the potential options.

In assessing the best path to a goal state in a game driven by AI, the system might give a ‘score’ to each of the possible moves in terms of how much closer it brings you to goal and then select the move with highest score.

Page 37: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

4 Knowledge Representation

Page 38: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

4 Knowledge Representation

Fishy Scenario:

Semantic Nets

A group of S1 pupils have been asked to write down any facts about fish. Here is what they wrote:

“A fish has fins, scales, is cold blooded and has gills. There are lots of kinds of fish, including cod, haddock, shark, goldfish, and trout. A fish is a vertebrate – that means it has a backbone. I have a goldfish called Sammy. Cod, haddock and sharks are salt-water fish (they live in salt water). Goldfish and trout are freshwater fish (they live in fresh water).”

The “knowledge” above can be represented as a semantic net.

Page 39: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation

4 Knowledge Representation

Turning a semantic net into Prolog Rules

We can use this semantic net to write a Prolog knowledge base.

Each arrow on the semantic net becomes a Prolog clause.

There are 3 different relationships shown in the diagram. These are:

- is a (e.g. Sammy is a goldfish)

- has (e.g. a fish has fins)

- lives in (e.g. a salt water fish lives in salt water)

We can use these as Prolog predicates.

So the knowledge base would look like this:

1. is_a(sammy,goldfish).2. is_a(goldfish,freshwater_fish).3. is_a(trout,freshwater_fish).4. is_a(cod,saltwater_fish).5. is_a(haddock,saltwater_fish).6. is_a(shark,saltwater_fish).7. is_a(saltwater_fish,fish).8. is_a(freshwater_fish,fish).9. is_a(fish,vertebrate).

10. has(fish,fins).11. has(fish,scales).12. has(fish,cold_blood).13. has(fish,gills).14. has(vertebrate,backbone).

15. lives_in(freshwater_fish,freshwater).16. lives_in(saltwater_fish,saltwater).

Page 40: 1 Development of Artificial Intelligence (AI)? 2 Applications and uses of AI3 Search Techniques 4 Knowledge Representation