AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II) Frames Scripts Leeswijzer:Hoofdstuk...

22
AI8 1 AI Kaleidoscoop College 8: Kennisrepresentat ie (II) Frames Scripts Leeswijzer: Hoofdstuk 6.1.4- 6.1.5

Transcript of AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II) Frames Scripts Leeswijzer:Hoofdstuk...

Page 1: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 1

AI KaleidoscoopCollege 8:

Kennisrepresentatie (II)

FramesScripts

Leeswijzer: Hoofdstuk 6.1.4-6.1.5

Page 2: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 2

Kennisrepresentatie: 4 typen• Logica• Procedures

kanarie

zingen geel

struisvogel

vliegen groot

vogel

vliegen

vleugels

veren

vliegtuig

747

dier

ademen

huid

bewegen

person:Jane

objectpizza

agent likeperson:Jane

objectpizza

agent like

person:Tom experiencer believe

object

• Netwerken Vorig college

• Slots/values Dit college

Page 3: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 3

Frames, algemeen• Organiseer kennis in samenhangende

eenheden• Kennis is georganiseerd als

eigenschappen van conceptuele eenheden:– Vb: alle kennis over Tom,

opgeslagen bij object Tom• Overerving en Default-reasoning• Twee typen eenheden:

– generieke eenheden (type, class)Vb: persoon, auto, land

– Specifieke eenheden (individuen, instanties)Vb: tom, mijn-auto, Schotland

Page 4: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 4

Frames = slots + values• Elke eenheid is een frame met slots

( record in Pascal/C, class in Java)• Frames zijn georganiseerd in een hierarchie

class personslot nr-of-legs = 2slot nr-of-fingers = 10...

end class

frame person-042type-of: personslot name = “Tom”slot date-of-birth = 29-10-

60...

end frame

Page 5: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 5

Verschillende soorten slots

• slot= eigenschap + waardename = "Tom"date-of-birth = 29-10-60

• slot = eigenschap + waarde-bereikheight = (> 1.50m) & (< 2.00m)

• slot = relatie +ander object(en)brother = {person-06, person-072}

• slot = eigenschap + procedurenationality = combine(

nationality(father),nationality(mother))

class person slot nr-of-legs = 2 slot nr-of-fingers = 10

frame person-042 type-of: person slot name = “Tom” slot date-of-birth = 29-10-60

Page 6: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 6

Slots & daemons• Daemon = procedure die uitgevoerd

wordt bij een bepaald actie op een slotIF-ADDED, IF-NEEDED, ...

• Vb 1: (bereken slotwaarde telkens bij opvragen)class square

slot length = ...slot surface-IF-NEEDED length

lengthend class

• Vb 1: (onhoud slotwaarde na 1e keer berekenen)class square

slot length = ... IF-ADDED surface = length

length slot surface = ...end class

Page 7: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 7

Overerving & defaults

• Organiseer frames in een is-a hierarchie• Bereken eigenschappen en waarden

door overerving (inheritance) van voorouders in de hierarchyclass car

slot #wheels=4

class fordslot made-in: USA

class fiestaslot #cylinders=4

class lorryslot #wheels=8

generic

instance xy-88-12slot colour=grey specific

Page 8: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 8

Kennis afleiden in frames= slot/value aflezen of overerving

c la ss ca rslo t # w h eels= 4

cla ss fo rdslo t m a d e-in : U S A

in sta n ce x y -8 8 -1 2slo t co lo u r= g rey

cla ss fiestaslo t # cy lin d ers= 4

cla ss lo rryslo t # w h eels= 8

• Vb: slot/value aflezen: colour of xy-88-12: grey

• Vb: default inheritance: #wheels of xy-88-12: 4

• Vb: overriding defaults: #wheels of lorry: 8

Page 9: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 9

Essentiële eigenschappen

• Sommige eigenschappen mogen niet overschreven worden

class polygon

class rectangleslot #sides=4

class triangleslot #sides=3

class polygon

class rectangleslot #sides=4

class triangleslot #sides=3

Page 10: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 10

Essentiële eigenschappen: twee typen variabelen

• Instance variables:eigenschappen van specifiek object• Class variables: eigenschappen van generiek object• Class variables kunnen niet worden overschreven

class polygon

class rectangleCLASSVAR #sides=4

class triangleCLASSVAR #sides=3

instance r-044INSTVAR surface=8

instance t-033INSTVAR surface=9

Page 11: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 11

window

window withborder

window withborder & label

window with label

verdubbelderepresentatie

Meervoudige overerving (voordelen)

window

window withborder

window with label

window withborder & label

zuiniger,betere stijl

Page 12: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 12

Meervoudige overervering (voordelen)

• Beschouw object vanuit verschillende perspectieven

class car

Kennis overtransportobjecten

Kennis overmechanische

objecten

Kennis overjuridischeobjecten

Page 13: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 13

Meervoudige overerving (problemen)• Wat te doen bij conflicterende overerving?

class person

instance Nixon

class quakerslot pacifist: yes

class republicanslot pacifist: no

• Is Nixon een pacifist?

Page 14: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 14

Meervoudige overerving (problemen)• Geef een volgorde aan de ouders (en erf alleen van de eerste ouder die een waarde geeft)– vaste volgorde (bijv. van links naar rechts)– geef gewichten aan de links:

“Nixon is voornamelijk een republikein, enalleen een quaker als het hem uitkomt”

• Maak aparte knoop “republican-quaker”, met een IF-NEEDED daemon voor pacifist:

class quaker class republican

class person

instance Nixon

Class republican-quaker

class republican-quaker slot pacifist-IF-NEEDED:

if election-yearthen pacifist =

yeselse pacifist = no

end class

Page 15: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 15

Frames, samenvatting• Frames = slot/values + overervings hierarchie• Voordelen:

– goede organisatie van kennis•kennis-structuur analoog aan domein-

structuur•alle kennis van een concept bij elkaar

– default-redeneren• Nadelen

– geen wiskundige fundering– onduidelijke betekenis (meervoudige overerving)– mogelijk misbruik van de hierarchie– geen backtracking– willekeurige programmeertruuks in daemons– Zoek-probleem

(meervoudige overerving is NP-hard)

Page 16: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 16

Scripts• Organiseer kennis rond prototypische situaties

(in frames: rond prototypische concepten)• Vb: scripts voor

–eten in restaurant–college geven–verjaardag vieren

Onderdelen van een script• toepassings-conditie• eindresultaat van een script• objecten in een script• rollen van de objecten• sub-scripts voor deelsituaties

Page 17: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 17

Gebruik van scripts

• Afleiden van impliciete informatie(= beantwoorden van vragen)– “Ik ging naar het restaurant. Ik

bestelde nasi. Bij het betalen kreeg ik ruzie en ging ik naar huis.”Vraag: Heb ik gegeten?

• Oplossen van ambiguïteit– “Ze ging naar het restaurant. De

serveerster nam de bestelling op. Ze dronk haar biertje en vertrok.”Vraag: Wie heeft ‘t biertje besteld?

Page 18: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 18

Scripts:VbScript: College geven• Track: collegezaal• Entry Conditions:

• tussen 9 & 5• op de Universiteit• ....

• Props: • projector• transparanten• zaal

• Roles:• D=docent• S=student

Scene 1: binnenkomen S neemt plaats S praat met buren D komt binnen D praat S wordt stil

Scene 2: lesgeven D legt sheet neer D praat D haalt sheet weg Choose:

• goto scene 2.Œ• goto scene 3• goto scene 4

Page 19: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 19

Scripts (Vb)

Scene 2: lesgeven D legt sheet neer D praat D haalt sheet weg Choose:

• goto scene 2.Œ• goto scene 3• goto scene 4

Scene 3: vraag gesteld S vraagt D D antwoord Choose:

• goto scene 2• goto scene 3.Œ• goto scene 4

Scene 4: einde college S gaat weg D gaat weg S praat

Page 20: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 20

Redeneren met scriptsVind juiste script bij bepaalde beschrijvingBeantwoord vragen/doe voorspellingen/etc Maar:

Match & selectie probleem

“Ze kreeg twee vliegers voor haar verjaardag”Bracht ze er één terug?“Ze kreeg twee ijsjes voor haar verjaardag” Bracht ze er één terug?

• Moet weten over:– kadootjes: >1 van hetzelfde is (soms) niet leuk– winkels: sommige dingen kun je niet ruilen– eigenschappen: van ijsjes & vliegers– etc, etc.

Page 21: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 21

Terugblik: Algemene problemen met KR-formalismen• Abstractie, volledigheid• Precisie, nauwkeurigheid• Wiskundige onderbouwing• Efficientie• Homomorphie (“natuurlijkheid”)

Page 22: AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II)  Frames  Scripts Leeswijzer:Hoofdstuk 6.1.4-6.1.5.

AI8 22

Volgende keer

Natuurlijke taal:13.0-13.3