Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Prakticum Kennisrepresentatie en Redeneren
Prakticum Kennisrepresentatie en Redeneren
Algemeen
Het prakticum is niet verroosterd. Jan Jongejan fungeert als
prakticumdocent. Bij hem en bij de hoorcollegedocent (Gerard Renardel)
kun je terecht met vragen over het prakticum.
Voor alle opdrachten geldt:
- Voer de opdrachten uit in groepjes van 2 studenten.
- Schrijf het programma in SWI-Prolog en documenteer elke procedure
(lijst
van facts en rules die een predikaat definieren) op dezelfde manier als in de
lijst van Prolog-opgaven gedaan is.
- Schrijf een programmeerverslag dat aan de criteria
voldoet.
- Lever het programmeerverslag in afgedrukte vorm en het programma tevens in
elektronische vorm in bij Jan Jongejan (jjan@cs.rug.nl)
voordat de deadline verstreken is.
Derde opdracht
Deadline: vrijdag 30 juni 2006, 17.00 uur.
Definieer een fragment van het Nederlands waarin uitspraken over familierelaties geformuleerd kunnen worden. Er zijn (in elk geval) twee soorten uitspraken: mededelingen en vragen. Schrijf vervolgens een programma in Prolog dat de uitspraken in dat fragment kan ontleden, de inhoud van mededelingen verwerkt en vragen kan beantwoorden.
Ter toelichting het volgende.
- Dit is een open opdracht, die je zo makkelijk en zo moeilijk kunt maken als je wilt. Uiteraard krijg je een hoger cijfer naarmate je uitgaat van een ingewikkelder taalfragment. Maar het ligt voor de hand met een eenvoudig fragment te beginnen.
Lever uiterlijk vrijdag 23 juni bij Jan Jongejan in: de definitie van je grammatica, en een plan om het programma te realiseren. Je krijgt in het begin van de week daarop een reactie van Jan Jongejan.
- Je mag ook uitgaan van een andere taal dan het Nederlands, en van een ander kennisdomein dan familierelaties.
- Het gaat bij deze opdracht vooral om (anders gezegd: Je verdient de meeste punten met) de logische structuur van het programma, niet zozeer om een mooi interface en/of geavanceerde I/O-afhandeling.
- Voor het omgaan met grammatica's en ontleden word je verwezen van Chapter 10 (Logic and Grammars) van het leerboek. Je mag gebruik maken van de DCG Grammar Rules die in SWI-Prolog aanwezig zijn (zie 10.4 in het leerboek, en de manual van SWI-Prolog, p. 92), maar het hoeft niet.
- Extra uitdaging: laat als derde soort uitspraken definities van familierelaties toe, en pas het programma aan zodat ook deze verwerkt kunnen worden.
Aanwijzingen en suggesties:
- Je kunt gebruik maken van een predicaat antwoord/3, gespecificeerd door
% antwoord(Ms,V,A) :- gegeven de lijst van mededelingen M en vraag V, is het juiste antwoord A
Uitspraken kan je bv. representeren door lijsten van strings van kleine letters.
- De aanpak van Jan Terlouw, werkcollegedocent bij dit vak, is hier te vinden.
Gerard Renardel