Download Expert Systems - Kinross High School

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Visual Turing Test wikipedia , lookup

Incomplete Nature wikipedia , lookup

Intelligence explosion wikipedia , lookup

Computer vision wikipedia , lookup

Computer Go wikipedia , lookup

Ecological interface design wikipedia , lookup

Embodied cognitive science wikipedia , lookup

Personal knowledge base wikipedia , lookup

Existential risk from artificial general intelligence wikipedia , lookup

Human–computer interaction wikipedia , lookup

Wizard of Oz experiment wikipedia , lookup

Philosophy of artificial intelligence wikipedia , lookup

AI winter wikipedia , lookup

Ethics of artificial intelligence wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Transcript
1 Development of Artificial Intelligence (AI)?
2 Applications and uses of AI
3 Search Techniques
4 Knowledge Representation
1 Development of Artificial Intelligence (AI)?
1 What is Artificial Intelligence (AI)?
Defining “Intelligence”
“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
Defining “Artificial Intelligence”
“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.”
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.
Aspects of Intelligence
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 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.
The Turing Test
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.
How the Turing Test Works
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
Flaws in the Turing Test
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.
Development of AI
Early Years (1940s-1950s)
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.
1960s
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.
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.
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.
Development of AI
Restricted domains proved a great success and produced, for example, the expert system.
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
THEN
1. The infection that requires therapy is meningitis AND
2. The patient has evidence of serious skin or soft tissue infection AND
3. Organisms were not seen on the stain of the culture AND
4. The type of infection is bacterial
There is evidence that the organism that might be causing the
infection 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.
Development of AI
Modern Developments in AI
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.
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.
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
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
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
internet
to investigate
more
modern
developments
AI
for each part of theUse
image,the
comparing
pixel intensities
and detecting
edges),
Chess Program
( where severalin
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!
2 Applications and uses of AI
2 Applications and Uses of AI
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 – Expert Systems
Expert Systems
Problems with Human Experts
• 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
2 Applications and Uses of AI – Expert Systems
Expert Systems are Used To:
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:
advise
classify
diagnose
plan
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
2 Applications and Uses of AI – Expert Systems
Main Component of an Expert System
FORWARD
BACKWARD
User
User
Interface
Inference
Engine
Expert System Shell (E.g. Intermodeller)
Expert System
Knowledge
Base
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
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:
WHY
give a reason why it is asking a particular question
HOW
give a reason how it came to suggest a particular piece of advice
2 Applications and Uses of AI – Expert Systems
WHY?
WHY – Justification Feature
Are you interested in buying a car?
Why are you asking me if I am interested in buying
a car?
Magazine Selector
Because I may be able to suggest that you
should buy Car Weekly.
The WHY justification allows the expert system to explain why it is asking a particular question.
2 Applications and Uses of AI – Expert Systems
HOW?
HOW – Justification Feature
Suggestion: You should buy ‘Skiing and
Snowboarding Magazine’.
How did you arrive at that conclusion?
Magazine Selector
Because you said that you enjoy sport
and you said you don’t mind cold weather.
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
Expert Systems – Personnel
There are 4 main personnel involved in the development of expert systems:
The Domain Expert
The domain expert is the human whose knowledge and expertise has to be gained in order to design
and construct the expert system.
The Knowledge Engineer
The 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 Programmer
The programmer’s task is to enter facts and rules into the knowledge base from the knowledge
representation provided by the knowledge engineer.
The User
There 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
andImplications
Uses of AI
Social,
Ethical and Legal
– Expert Systems
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 Engineers
Knowledge 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 System
Users 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
andImplications
Uses of AI
Social,
Ethical and Legal
– Expert Systems
Expert Systems – Advantages & Disadvantages
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
Remember!
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.
2 Applications and Uses of AI
Artificial Neural Systems (ANS)
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.
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.
2 Applications and Uses of AI
Artificial Neural Systems (ANS) continued…
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…
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.
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.
2 Applications and Uses of AI
Vision Systems
2 Applications and Uses of AI
Vision Systems
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:
Vision Systems
1 Image Acquisition
Converting
the Language
image into digital
data (i.e. bit map of the scene)
Natural
Processing
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.
2 Applications and Uses of AI
Vision Systems continued…
There are many applications of Vision Systems including:
- Fingerprint/Biometric Identification
- Digital Cameras can use face detection to aid focus
Vision Systems
- Quality control on a production line
- Meteorologist
systems analysing
weather from satellite images
Natural Language
Processing
- Military uses include self targeting “smart weapons” that will find targets
Face Detection OFF
Face Detection ON
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.
2 Applications and Uses of AI
Natural Language Processing
Natural Language Processing
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:
1 Speech Recognition
Taking the spoken works captured by microphone and identifying each word.
2 Natural Language Understanding
Taking the identified words and interpreting their meaning to allow appropriate
response.
3 Natural Language Generation
Constructing sentences from stored information about words and their meaning
to construct a reply.
4 Speech Synthesis
Taking the words generated and trying to output sounds to match how these
words should be pronounced.
2 Applications and Uses of AI
Difficulties in Natural Language Processing
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.
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.
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.
3 Search Techniques
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 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.
Breadth-first vs. Depth-first Searching
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!
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.
4 Knowledge Representation
4 Knowledge Representation
Fishy Scenario:
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 saltwater fish (they live in salt water). Goldfish and trout are
freshwater fish (they live in fresh water).”
Semantic Nets
The “knowledge” above can be represented as a
semantic net.
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.
2.
3.
4.
5.
6.
7.
8.
9.
is_a(sammy,goldfish).
is_a(goldfish,freshwater_fish).
is_a(trout,freshwater_fish).
is_a(cod,saltwater_fish).
is_a(haddock,saltwater_fish).
is_a(shark,saltwater_fish).
is_a(saltwater_fish,fish).
is_a(freshwater_fish,fish).
is_a(fish,vertebrate).
10.
11.
12.
13.
14.
has(fish,fins).
has(fish,scales).
has(fish,cold_blood).
has(fish,gills).
has(vertebrate,backbone).
15. lives_in(freshwater_fish,freshwater).
16. lives_in(saltwater_fish,saltwater).