Introduktion til kurset

Kurset er baseret på John Sowas nye bog om vidensrepræsentation. Tre centrale kapitler i bogen omhandler respektivt logik, ontologi og modeller af virkeligheden. Logikken leverer passende formelle sprog og inferensregler, hvorimod ontologi vedrører de ting, der antages at eksistere indenfor et givet anvendelsesområde/domæne.

Vidensrepræsentation er så anvendelsen af logik og ontologi til at konstruere modeller af det givne domæne. I kurset gennemgås først de tre nævnte kapitler om logik, ontologi og modeller. Derefter fortsættes med emner baseret på de studerendes interesser. Evt. kan anden litteratur inddrages.

Eksamensopgaven

Eksamensopgaven gik ud på at udarbejde et begrebshierarki over hotelværelser (disse hotelværelser kan blandt andet findes i Sowas reservationseksempel i Appendix C) vha. af teknikker lært på kurset.

En anden delopgaven gik ud på at programmere et system i prolog, hvormed man kan repræsentere og vedligeholde et begrebshierarki. Det opstillede begrebshierarki fra første del skulle så implementeres i prolog vha. dette system.

Den tredje delopgave gik ud på at implementere nogle af de funktion som Sowa nævner i set hotel reservationseksempel. Jeg valgt at implementere et event-styret bestillingssystem. Dette system kunne vedligeholde x antal og de bestillinger der kom på disse. Systemet kunne selv ved hjælp af "arv" fra begrebhierarkiet bestille alternative værelser, hvis det ønskede var reserveret. Desuden indeholdte systemet en kø, således at personer, der ikke kunne få et ønsket værelse, ville blive sat på denne. Systemet indeholdte desuden en masse funktionalitet, som der kan læses om i rapporten.

Den fjerde og sidste delopgave gik ud på at udvide det system, som man havde lavet i den anden delopgave, med lattice operationer, så systemet er til at finde det mindste overbegreb og det største underbegreb.

Jeg valgte at løse opgaven på følgende måde :
* Først fandt jeg de overbegreber, som er fælles for alle begreber fra den angivne liste. Dette gjorde jeg ved at skabe en liste af lister, hvor hver delliste indeholdte de begreber, der var overbegreb for begrebet. Så fandt jeg foreningsmængden for disse lister, hvilket måtte være de fælles overbegreber.
* Herefter fandt jeg det mindste af disse, hvis et sådanne fandtes.

Selve kildekoden kan findes under Download.

Download

Eksamensprojekt:
Selve projektet (i pdf-format) 320 KB

Kildekode (i pl-format) 7 KB

Note: Exam project in the course Knowledge Representation taken in my first semester of Computer Science at RUC.
Relevant links:
Bratko's book about Prolog
Sowa's book about Knowledge Representation

Subpages