29.06.2013 Views

Samenvatting van de les (pdf, 43kB)

Samenvatting van de les (pdf, 43kB)

Samenvatting van de les (pdf, 43kB)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Samenvatting</strong> hoorcollege AI1 31/10/2002<br />

Tijs Van Buggenhout (tvbuggen@vub.ac.be),<br />

Lies Baeten (lbaeten@vub.ac.be),<br />

Sil Janssens (sil.janssens@vub.ac.be),<br />

Johan Jacobs (jojacobs@vub.ac.be),<br />

Brecht Desmet (brecht.<strong>de</strong>smet@vub.ac.be)<br />

14th November 2002<br />

Part I<br />

Knowledge Engineering<br />

1 Situering<br />

1.1 Knowledge Engineering (KE)<br />

is het on<strong>de</strong>rzoeken <strong>van</strong> een bepaald domein, het bepalen <strong>van</strong> belangrijke concepten<br />

in dat domein om een representatie <strong>van</strong> <strong>de</strong> objecten en relaties in het domein op te<br />

bouwen. Zo bekom je een Knowledge Base.<br />

1.2 De Knowledge Base (KB)<br />

is een verzameling kennis over een bepaald domein. Het is <strong>de</strong> bedoeling om <strong>de</strong>ze<br />

kennis voor te stellen in een formele taal. Een voorbeeld is <strong>de</strong> predikatenlogica.<br />

2 Richtlijnen voor het formaliseren <strong>van</strong> kennis uit <strong>de</strong><br />

echte wereld naar eerste or<strong>de</strong> predikatenlogica<br />

Het is <strong>de</strong> bedoeling dat kennis uit <strong>de</strong> echte wereld wordt omgezet naar eerste or<strong>de</strong><br />

predikatenlogica. Hier volgen enkele richtlijnen voor het bouwen <strong>van</strong> een kwaliteitsvolle<br />

KB :<br />

1. Het bepalen <strong>van</strong> predikaten, functies en constanten, die rele<strong>van</strong>te kennis representeren.<br />

2. De betekenis <strong>van</strong> predikaten mag niet te inhoudsintensief zijn, werk voldoen<strong>de</strong><br />

algemeen (lange namen zeggen wellicht wat voor <strong>de</strong> gebruiker, maar niet zozeer<br />

voor het re<strong>de</strong>neringsmechanisme). Dit is belangrijk voor <strong>de</strong> uitbreidbaarheid <strong>van</strong><br />

<strong>de</strong> kennisbank.<br />

3. Beperk je predikaten tot <strong>de</strong> domeinspecifieke eigenschappen.<br />

1


3 ONTOLOGIE VS KB<br />

4. Houd bij het opstellen <strong>van</strong> <strong>de</strong> predikaten het doel <strong>van</strong> <strong>de</strong> KB voor ogen (welke<br />

queries je bv. gaat hanteren).<br />

3 Ontologie vs KB<br />

Het begrip ontologie betreft veeleer het beheer <strong>van</strong> <strong>de</strong> informatie dan wel <strong>van</strong> <strong>de</strong> kennis.<br />

Je zou een ontologie alsvolgt kunnen <strong>de</strong>finiëren: het specificeren <strong>van</strong> een geheel<br />

<strong>van</strong> concepten en <strong>de</strong> relaties tussen <strong>de</strong>ze concepten (een soort begrippenapparaat om<br />

<strong>de</strong> wereld te beschrijven). Hierbij bepalen we <strong>de</strong> beste manier om <strong>de</strong> informatie in<br />

mo<strong>de</strong>llen te gieten, zodat <strong>de</strong> gegevens achteraf kunnen wor<strong>de</strong>n opgeslagen en optimaal<br />

kunnen wor<strong>de</strong>n weergegeven. Cfr boomstructuur uit <strong>de</strong> sli<strong>de</strong>s.<br />

3.1 Categorie<br />

Categorieën zijn erg belangrijk, omdat je vrijwel altijd over categorieën re<strong>de</strong>neert en<br />

niet over individuele objecten.<br />

Reïficatie: Tomaat (x) -> Tomaten<br />

¡£¢¥¤§¦©¨¢¢¤§¦©¨<br />

(vergelijk met een object Tomaat)<br />

Het i<strong>de</strong>e achter categorieën en objecten in een KB kan men relateren met <strong>de</strong><br />

formele theorie <strong>van</strong> klassen en objectinstanties. Een categorie is dus een verzameling<br />

<strong>van</strong> alle objecten met <strong>de</strong>zelf<strong>de</strong> eigenschappen.<br />

Inheritance: Objecten <strong>van</strong> <strong>de</strong>zelf<strong>de</strong> subklasse hebben hetzelf<strong>de</strong> gedrag als <strong>de</strong><br />

bovenliggen<strong>de</strong> klasse (overerving). Bijvoorbeeld een tomaat is een groente. Een<br />

groente is eetbaar, dus een tomaat is ook eetbaar. Deze structuur is on<strong>de</strong>r te<br />

brengen on<strong>de</strong>r <strong>de</strong> vorm <strong>van</strong> een boom (taxonomie)<br />

3.2 Manieren om klassen op te <strong>de</strong>len<br />

Er zijn 2 begrippen in <strong>de</strong>ze context :<br />

1. Disjoint: als je lid bent <strong>van</strong> een subklasse, ben je dit niet <strong>van</strong> een an<strong>de</strong>re. Voorbeeld:<br />

op<strong>de</strong>len <strong>van</strong> dieren in soorten (als je een reptiel bent, ben je geen zoogdier).<br />

2. Exhaustive: alle subklassen samen bevatten alle elementen <strong>van</strong> <strong>de</strong> subklasse.<br />

Voorbeeld: Noord-Amerikanen, Centraal-Amerikanen en Cana<strong>de</strong>zen vormen samen<br />

Amerika.<br />

Een partitie is disjoint en exhaustive -> vb.: mannen en vrouwen vormen samen mensen<br />

3.3 Maten<br />

Numerieke: Je kan iets met een getal uitdrukken (vb. je kan verhoudingen <strong>van</strong><br />

maten geven; je kan een duur/duratie <strong>de</strong>finiëren)<br />

Kwalitatief: Je kan iets or<strong>de</strong>nen, maar je kan er niet onmid<strong>de</strong>llijk een waar<strong>de</strong> aan<br />

geven.<br />

Vb. “dit smaakt beter dan dat” of ook “klein < normaal < groot”<br />

2


3 ONTOLOGIE VS KB 3.4 Samengestel<strong>de</strong> Objecten<br />

3.4 Samengestel<strong>de</strong> Objecten<br />

Er bestaan complexe en abstracte objecten.<br />

complex: een dier bestaat uit organen, lichaams<strong>de</strong>len, etc<br />

abstract: een spel, een gebeurtenis, een script, etc<br />

We kunnen relaties <strong>de</strong>finiëren tussen samengestel<strong>de</strong> objecten. Bijvoorbeeld<br />

¥£ £¦¥ ¨ ¨ <br />

, etc. Let op, een samengesteld object bevat fysische eigenschappen,<br />

in tegenstelling tot een categorie. Bei<strong>de</strong>n bestaan wel uit een verzameling<br />

objecten.<br />

3.5 Tijd, ruimte en veran<strong>de</strong>ring<br />

Situatic calculus (dus <strong>de</strong> “if statements”) heeft beperkingen.<br />

Probleemstelling: Discrete tijdstappen -> overgaan <strong>van</strong> <strong>de</strong> ene naar <strong>de</strong> an<strong>de</strong>re<br />

toestand, maar er gebeurt niets. Dus niet zoals in <strong>de</strong> Wumpuswereld.<br />

Oplossing: Event Calculus: bekijk <strong>de</strong> wereld als events.<br />

3.6 Events<br />

¢¡©¤£¦¥ ¨§©¡©¢ ¨ ,<br />

Events nemen tijd en ruimte (plaats) in beslag, die vrij complex kunnen wor<strong>de</strong>n. Vuistregel:<br />

alleen wat noodzakelijk is, gaan we mo<strong>de</strong>lleren.<br />

Eigenschappen:<br />

¨ ¦ ¡ <br />

<br />

Events kunnen subevents hebben, vb. ¦<br />

Een event dat alle events, die in een bepaal<strong>de</strong> tijdsperio<strong>de</strong> voorkwamen, bevat,<br />

heet een interval: Tijdsperio<strong>de</strong>. Voorbeeld: Vandaag, Twintigste Eeuw, Vorige<br />

week, <strong>de</strong>ze week, volgen<strong>de</strong> week, <strong>de</strong> komen<strong>de</strong> weken<br />

¢ <br />

Operator <br />

– x vond plaats geduren<strong>de</strong> interval i<br />

<br />

– <br />

Let op: Een event hoeft niet noodzakelijk tegelijkertijd plaats als tijd voor te stellen.<br />

Voorbeeld: “<strong>de</strong> VUB” is een event, dat een plaats bepaalt, maar geen tijd (voor discussie<br />

vatbaar)<br />

3.7 Samengestel<strong>de</strong> Events<br />

T-operator: Het event vindt plaats geduren<strong>de</strong> (throughout) een gespecificeer<strong>de</strong><br />

perio<strong>de</strong>.<br />

Je kan geen logische operatoren als parameter meegeven. Dit wordt echter wel<br />

gedaan<br />

Vb: ¤ ¤ zou eigenlijk ¤ ¨ £ ¤ moeten zijn, maar <strong>de</strong> eerste metho<strong>de</strong><br />

is dui<strong>de</strong>lijk eenvoudiger<br />

3


3 ONTOLOGIE VS KB 3.8 Plaatsen<br />

Er bestaan 2 verschillen<strong>de</strong> soorten “of” geduren<strong>de</strong> een interval:<br />

3.8 Plaatsen<br />

– ¤ ¡ ¤ : Bei<strong>de</strong> events waren waar geduren<strong>de</strong> i, maar niet noodzakelijkerwijs<br />

op <strong>de</strong>zelf<strong>de</strong> tijd.<br />

– ¤ ¡¢ : Slechts één <strong>van</strong> <strong>de</strong> events was waar geduren<strong>de</strong> i (exclusive or).<br />

Het is een soort <strong>van</strong> duale <strong>van</strong> een interval: een stuk ruimte uitgestrekt in <strong>de</strong> tijd.<br />

3.9 Processen<br />

Events kunnen gesplitst wor<strong>de</strong>n. Bij het splitsen <strong>van</strong> niet-discrete events blijven <strong>de</strong><br />

events niet meer <strong>van</strong> hetzelf<strong>de</strong> type (bv een trouwfeest). Sommige events blijven wel<br />

<strong>van</strong> hetzelf<strong>de</strong> type bij het splitsen (bv lezen), <strong>de</strong>ze events noemt men “processen of<br />

liquid events”.<br />

3.10 Problematische objecten<br />

Objecten met intrinsieke eigenschappen: dit zijn eigenschappen die het innerlijke<br />

<strong>van</strong> een bepaald object voorstellen. Wanneer het object gesplitst wordt blijven<br />

<strong>de</strong>ze eigenschappen behou<strong>de</strong>n. Een voorbeeld: het smeltpunt, <strong>de</strong> smaak, <strong>de</strong><br />

eigenaar <strong>van</strong> het object, etc.<br />

Objecten met extrinsieke eigenschappen: in tegenstelling tot <strong>de</strong> intrinsieke eigenschappen<br />

zal bij het splitsen <strong>van</strong> het object <strong>de</strong> eigenschappen niet behou<strong>de</strong>n wor<strong>de</strong>n.<br />

Het betreft hier dan ook vooral <strong>de</strong> uiterlijke kenmerken, zoals <strong>de</strong> grootte,<br />

<strong>de</strong> lengte, maar ook het gewicht, <strong>de</strong> schaduw <strong>van</strong> het object, etc.<br />

Substanties (= stoffen) bevatten enkel intrinsieke eigenschappen, terwijl<br />

voorwerpen ook extrinsieke eigenschappen kunnen bezitten.<br />

An<strong>de</strong>re problematische objecten zijn bijvoorbeeld lan<strong>de</strong>n die in <strong>de</strong> loop <strong>van</strong> <strong>de</strong><br />

tijd meer of min<strong>de</strong>r om<strong>van</strong>grijk zijn gewor<strong>de</strong>n of koningen die wer<strong>de</strong>n opgevolgd,<br />

etc.<br />

3.11 Gedachten & Overtuigingen<br />

Hoe kunnen we aandui<strong>de</strong>n dat een agent iets <strong>de</strong>nkt? Deze oplossing kan nuttig zijn voor<br />

het bouwen <strong>van</strong> een conversatiesysteem (intelligente user interface). Hiervoor is een<br />

abstract mo<strong>de</strong>l nodig waarbij men gebruik kan maken <strong>van</strong> een operator als “Believes”,<br />

“Knows”, “Wants”, etc. Hierdoor kan het systeem een relatie leggen tussen agenten en<br />

proposities, dit soort relaties wor<strong>de</strong>n “propositional attitu<strong>de</strong>s” genoemd.<br />

3.12 Referential Transparancy<br />

Probleemstelling: Als Clark en Superman <strong>de</strong>zelf<strong>de</strong> persoon voorstellen, en Superman<br />

kan vliegen, volgt daaruit dat ook Clark kan vliegen. Hieruit volgt dat als Lois gelooft<br />

dat Superman kan vliegen, ze ook moet geloven dat Clark kan vliegen. Dit is echter niet<br />

het geval. Deze afleiding komt doordat elke relatie in <strong>de</strong> eerste or<strong>de</strong> logica referentiëel<br />

4


3 ONTOLOGIE VS KB 3.13 Hoe te mo<strong>de</strong>lleren<br />

transparant is: Referential Transparancy. Dit omzeilen we door een an<strong>de</strong>re techniek<br />

toe te passen waardoor <strong>de</strong> betekenis door <strong>de</strong> substitutie niet aangetast wordt. Deze<br />

techniek representeert betekenisvolle objecten door strings, waardoor <strong>de</strong> objecten toch<br />

<strong>van</strong> elkaar verschillen. Hierbij wordt gebruik gemaakt <strong>van</strong> <strong>de</strong> functie “Den”, die een<br />

link legt tussen <strong>de</strong> string en het object aangeduid door <strong>de</strong> string.<br />

Een voorbeeld is ¡ a, p, q: ¦¡ ¢ § ¨¤§ ¨ <br />

<br />

¦¢ §¤ (a) <br />

§<br />

<br />

£¢¥¤<br />

¢¨¤ ¦¢ <br />

. Dit kan niet werken omdat een string is, om p en q te<br />

substitueren in ¢©¤ ¦¢ moet men ¦© £¢¤¢ gebruiken.<br />

3.13 Hoe te mo<strong>de</strong>lleren<br />

Implementeer een extra laag om logisch te re<strong>de</strong>neren op een agent. Je kan zeggen dat<br />

een agent al<strong>les</strong> weet wat hij uit zijn kennis kan aflei<strong>de</strong>n “logical omniscience”, maar dit<br />

is onrealistisch en onpraktisch. Hierover zijn verschillen<strong>de</strong> filosofische be<strong>de</strong>nkingen.<br />

5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!