contrary to the beliefs of early workers in ai, experience has shown that intelligent systems cannot...

29

Upload: delilah-cox

Post on 18-Dec-2015

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large
Page 2: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large amount of real-world - probably domain-specific - knowledge.

Humans almost always tackle difficult real-world problems by using their resources of knowledge - "experience", "training" etc.

Page 3: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

Production rules Formal logic, and languages based on it

(e.g. PROLOG) Structured objects:

Semantic nets (or networks) Frames, and object-orientated

programming, which was derived from frames

Other similar objects, such as Scripts

Page 4: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

Structured objects are: knowledge representation formalisms

whose components are essentially similar to the nodes and arcs found in graphs.

in contrast to production rules and formal logic.

an attempt to incorporate certain desirable features of human memory organisation into knowledge representations.

Page 5: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

The entities with which we reason can be grouped into categories.

Categories may be divided into sub-categories.

The hierarchical structure of these categories is called taxonomy.

Taxonomic knowledge can be represented by first-order logic, or more conveniently by semantic nets.

Page 6: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

Devised by Quillian in 1968, as a model of human memory.

The technique offered the possibility that computers might be made to use words in something like the way humans did, following the failure of early machine-translators.

Organisation of semantic nets.

Page 7: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

animalskin

fish

swimming

bird

flying

feathers

penguin canary robinostrich

walking

Opus

Tweety

yellow

red

white

covered_by

travels_by

isaisa

isa isa isa isa

covered_by

travels_by

travels_by

travels_by

instance_of

instance_of

colourcolour

colour

Page 8: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

knowledge is represented as a collection of concepts, represented by nodes (shown as boxes in the diagram), connected together by relationships, represented by arcs (shown as arrows in the diagram).

Page 9: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

certain arcs - particularly isa arcs - allow inheritance of properties.

This permits the system to "know" that a Ford Escort has four wheels because it is a type of car, and cars have four wheels.

Page 10: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

inheritance provides cognitive economy, but there is a storage-space / processing-time trade-off.

This means that, if you adopt this technique, you will use less storage space than if you don't, but your system will take longer to find the answers to questions.

Page 11: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

a semantic net should make a distinction between types and tokens. This is why the diagram above uses “instance_of” arcs as well as “isa” arcs. Individual instances of objects have a token

node. Categories of objects have a type node. There is always at least one type node

above a token node. The information needed to define an item is (normally) found attached to the type nodes above it.

Page 12: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

So far, this is just a diagram - not a knowledge base. But it can be converted into a knowledge base.

Page 13: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

13

is_a(sammy,goldfish).is_a(goldfish,freshwater_fish).

has(fish,fins).has(fish,scales).

Etc.

Each arrow on the semantic net becomes a Prolog clause.

Page 14: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

animalskin

fish

swimming

bird

flying

feathers

penguin canary robinostrich

walking

Opus

Tweety

yellow

red

white

covered_by

travels_by

isaisa

isa isa isa isa

covered_by

travels_by

travels_by

travels_by

instance_of

instance_of

colourcolour

colour

Page 15: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

% defining operators.:- op(500, xfx, isa).:- op(500,xfx, instance_of).:- op(500,xfx, covered_by).:- op(500,xfx, travels_by).:- op(500,xfx, colour).:- op(500,xfx, travels).:- op(500,fx, is).:- op(600,xfx, a).:- op(600,xfx, an).:- op(700, xf, ?).:- op(500,fx, what).:- op(600, xfx, is).

Page 16: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

:- op(650, xfx, what).:- op(650, xfx, how).

ostrich isa bird.penguin isa bird.canary isa bird.robin isa bird.bird isa animal.fish isa animal.opus instance_of penguin.tweety instance_of canary.canary colour yellow.

Page 17: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

robin colour red.

tweety colour white.

penguin travels_by walking.

ostrich travels_by walking.

bird travels_by flying.

fish travels_by swimming.

bird covered_by feathers.

animal covered_by skin.

Page 18: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

inherit(A isa C):- A isa C.inherit(A isa C):- A instance_of D, inherit(D isa C).inherit(A isa C):- A isa D, inherit(D isa C).is X a Y :- inherit(X isa Y).is X an Y:- inherit(X isa Y).

Page 19: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

inherit(A colour C):-

A colour C.

inherit(A colour C):-

(A instance_of D ; A isa D),

inherit(D colour C).

what_colour A :-

inherit(A colour C),

nl, write(A), write(' is '),

write(C).

Page 20: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

inherit(A covered_by C):-

A covered_by C.

inherit(A covered_by C):-

(A instance_of D ; A isa D),

inherit(D covered_by C).

A covers:-

inherit(A covered_by C),

nl, write(A),

write(' is covered by '),

write(C).

Page 21: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

This is a program, written in Prolog, which contains all the knowledge represented in the diagram above, together with a mechanism for finding information by inheritance, and a rudimentary natural language interface.

Page 22: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

It can answer questions like

is tweety an animal ? (it answers “yes”)

what colour is tweety ? (it answers

“white”)

opus is covered_by what ? (it answers

“feathers”) and so on.

Page 23: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

It could have been written in C++ or Java (although it would have been much harder), or any other present-day high-level language.

Page 24: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

Problems with semantic nets logical inadequacy - vagueness about what

types and tokens really mean. heuristic inadequacy – finding a specific piece

of information could be chronically inefficient. trying to establish negation is likely to lead to

a combinatorial explosion. "spreading activation" search is very

inefficient, because it is not knowledge-guided.

Page 25: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

Attempted improvements building search heuristics into the

network. more sophisticated logical structure,

involving partitioning. these improvements meant that the

formalism’s original simplicity was lost.

Page 26: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

Developments of the semantic nets idea: psychological research into whether human

memory really was organised in this way. used in the knowledge bases in certain

expert systems. special-purpose languages have been

written to express knowledge in semantic nets.

Page 27: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

27

The frame system mimics the human style of knowledge organisation by creating a structure consisting of slots that are filled with specific instances of data. For example we could organise the information about a wooden table as follows:

In some cases a slot may hold a default value which will be assumed unless an alternative value is specified. In the Table frame, the default value for the number of legs is 4, but this could be changed (for example a larger table might have 6 legs)

Page 28: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

28

The values stored in slots are often pointers to other frames

Frames allow facts to be retrieved directly

Frames may be linked to form a hierarchy that allows properties to be inherited

Page 29: Contrary to the beliefs of early workers in AI, experience has shown that Intelligent Systems cannot achieve anything useful unless they contain a large

29

As Nellie is an instance of elephant, she inherits the properties of elephants, so we can also say that Nellie is large and grey.

Elephants, in turn, are a subclass of mammals, so we can say that Nellie has a head, and is an animal, by a process of multiple inheritance.

We could represent the same knowledge in the form of frames, as above: (note: these 3 frames represent only parts of the semantic net)

Terminology:Subclass and has-part are called slots.Animal and head are the slot values.