Representatie & Zoeken!Frames!Scripts College 8: Kennisrepresentatie (II) Kennisrepresentatie: 4 typen Logica Procedures Netwerken Vorig college Slots/values Dit college zingen kanarie geel dier vogel vliegen ademen huid bewegen vliegen vleugels veren struisvogel groot person:tom experiencer believe object vliegtuig 747 Leeswijzer: Hoofdstuk 6.1.4-6.1.5 person:jane agent like pizza object AI8 1 AI8 2 Frames, algemeen Organiseer kennis in samenhangende eenheden Kennis is georganiseerd als eigenschappen van conceptuele eenheden: Vb: alle kennis over Tom, opgeslagen bij object Tom Default-reasoning Twee typen eenheden: generieke eenheden (type, class) Vb: persoon, auto, land Specifieke eenheden (individuen, instanties) Vb: tom, mijn-auto, Schotland AI8 3 Frames = slots + values Elke eenheid is een frame met slots ( record in Pascal/C, class in Java) Frames zijn georganiseerd in een hierarchie 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... end frame AI8 4
Verschillende soorten slots slot nr-of-legs = 2 slot nr-of-fingers = 10 slot= eigenschap + waarde name = "Tom" date-of-birth = 29-10-60 slot = eigenschap + waarde-bereik height = (> 1.50m) & (< 2.00m) slot = relatie +ander object(en) brother = {person-06, person-072} slot = eigenschap + procedure nationality = combine( frame person-042 type-of: person slot name = Tom slot date-of-birth = 29-10-60 nationality(father), nationality(mother)) AI8 5 Slots & daemons Daemon = procedure die uitgevoerd wordt bij een bepaald actie op een slot IF-ADDED, IF-NEEDED,... Vb 1: (bereken slotwaarde telkens bij opvragen) class square slot length =... slot surface-if-needed length length Vb 1: (onhoud slotwaarde na 1e keer berekenen) class square slot length =... IF-ADDED surface = length length slot surface =... AI8 6 Overerving & defaults Organiseer frames in een is-a hierarchie Bereken eigenschappen en waarden door overerving (inheritance) van voorouders in de hierarchy class car slot #wheels=4 class ford slot made-in: USA generic class fiesta class lorry slot #cylinders=4 slot #wheels=8 Vb: slot/value aflezen: colour of xy-88-12: grey Vb: default inheritance: #wheels of xy-88-12: 4 } slot colour=grey specific Vb: overriding defaults: #wheels of lorry: 8 AI8 8 instance xy-88-12 AI8 7 Kennis afleiden in frames = slot/value aflezen of overerving class car slot #wheels=4 class fiesta slot #cylinders=4 instance xy-88-12 slot colour=grey class ford slot made-in: USA class lorry slot #wheels=8
Essentiële eigenschappen Sommige eigenschappen mogen niet overschreven worden class polygon class polygon 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 rectangle slot #sides=4 class rectangle slot #sides=4 class triangle slot #sides=3 class rectangle CLASSVAR #sides=4 class triangle CLASSVAR #sides=3 class triangle slot #sides=3 AI8 9 instance r-044 INSTVAR surface=8 instance t-033 INSTVAR surface=9 AI8 10 Meervoudige overervering (voordelen) verdubbelde representatie window Meervoudige overervering (voordelen) Beschouw object vanuit verschillende perspectieven border zuiniger, betere stijl border border & label window label label Kennis over transport objecten Kennis over mechanische objecten Kennis over juridische objecten border & label AI8 11 class car AI8 12
Meervoudige overervering (problemen) Wat te doen bij conflicterende overerving? class quaker slot pacifist: yes Is Nixon een pacifist? instance Nixon class republican slot pacifist: no AI8 13 Meervoudige overervering (problemen) Geef een volgorde aan de ouders (en erf alleen van de eerste ouder die een waarde geeft) vaste volgorde(bijv. links naar rechts) geefgewichten aan de links: Nixon is voornamelijk een republikein, en alleen een quaker als het hem uitkomt Maak aparte knoop republican-quaker, met een IF-NEEDED daemon voor pacifist: class quaker instance Nixon class republican class quaker-pacifist class quaker-pacifist slot pacifist-if-needed: if election-year then pacifist = yes else pacifist = no AI8 14 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 geenwiskundige fundering onduidelijke betekenis (meervoudige overerving) mogelijk misbruik van de hierarchie geenbacktracking willekeurige programmeertruuks in daemons Zoek-probleem (meervoudige overerving is NP-hard) AI8 15 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 AI8 16
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? AI8 17 Scripts:Vb Script: 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 AI8 18 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 AI8 19 Redeneren met scripts "Vind juiste script bij bepaalde beschrijving #Beantwoord 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 Scene 4: einde college " S gaat weg # D gaat weg $ S praat eigenschappen: van ijsjes & vliegers AI8 20 etc, etc.
Terugblik: Algemene problemen met KR formalismen Volledigheid Nauwkeurigheid Wiskundige onderbouwing Flexibiliteit Efficientie homomorphie Selecte van primitieve symbolen Volgende keer Natuurlijke taal: 13.0-13.3 AI8 21 AI8 22