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
college Kennisrepresentatie en Redeneren 2005/2006
Kennisrepresentatie en Redeneren 2005-2006
Deze pagina wordt geregeld aangepast. Deze versie is van 21 juni 2006.
Algemeen
Deze cursus gaat over logica en logisch programmeren als gereedschap voor het
representeren van kennis en het redeneren daarover. De cursus begint met een
behandeling van de predicatenlogica. We bouwen voort op de behandeling daarvan bij de cursus Discrete Structuren, maar we maken nu onderscheid tussen syntax (de taal van de logische expressies) en semantiek (de betekenis van de logische expressies).
We beperken ons al snel tot een klein deel van de gehele predicatenlogica, nl. tot de logische programma's (ook wel Horn-zinnen of definite logic programs genoemd). De semantiek van logische programma's is betrekkelijk eenvoudig, en logische programma's zijn direct implementeerbaar, bv. in de logische programmeertaal Prolog. Na een introductie in Prolog worden diverse toepassingen behandeld.
Tijdens het hoorcollege wordt de leerstof behandeld. Ter stimulering van de zelfwerkzaamheid wordt elke week een aantal opgaven uit het leerboek als huiswerk opgegeven. Werk de leerstof door en maak de huiswerkopgaven voor je naar het werkcollege op donderdag gaat. Aan het begin van het werkcollege wordt ingegaan op vragen over het huiswerk, verder werk je daar aan de opgaven die bij het werkcollege opgegeven zijn (zie de Weekindeling hieronder). Het prakticum
is gewijd aan programmeeropdrachten in Prolog.
Er wordt gebruik gemaakt van SWI-Prolog.
Leerboek
Ulf Nilsson and Jan Maluszynski: Logic, Programming and Prolog (Second Edition; zie ook de Errata).
Niet meer leverbaar als boek; verkrijgbaar als pdf-bestand en als syllabus bij de Onderwijsadministratie.
Beoordeling
Het eindcijfer voor deze cursus wordt berekend uit de cijfers voor de
prakticumopdrachten en het tentamencijfer. De drie prakticumopgaven tellen
daarbij elk voor resp. 10, 10 en 20 % mee, het tentamencijfer voor de resterende 60 %.
Links
Enige nuttige links over Prolog:
Weekindeling
Algemeen:
- Hoorcollege (Renardel): dinsdag 12 - 14 uur, zaal WSN 35
- Werkcollege (Terlouw): donderdag 9 - 11 uur (groep 1) en 13 - 15 uur (groep 2), zaal BB0210
- Prakticum (Jongejan): vrijdag 13 - 15 uur, zaal IWI 9
Vrije dagen (dus geen onderwijs): vrijdag 5 mei (Bevrijdingsdag) en donderdag 25 mei (Hemelvaartsdag).
Week 1 (maandag 1 mei 2006 - vrijdag 5 mei 2006)
Dinsdag hoorcollege over Chapter 1: Preliminaries (predikatenlogica, formules en modellen, logisch gevolg,
logische inferentie, substitutie).
Huiswerk: de opgaven 1.1, 1.2, 1.5, 1.15.
Donderdag op het werkcollege de opgaven 1.6, 1.8, 1.9, 1.11, 1.13, 1.14.
Vrijdag geen prakticum (Bevrijdingsdag).
Week 2 (maandag 8 mei 2006 - vrijdag 12 mei 2006)
Dinsdag hoorcollege over Chapter 2: Definite Logic Programs (clauses, definite clauses, definite programs,
Herbrand-modellen, constructie van het kleinste Herbrand-model).
Huiswerk: de opgaven 2.1 t/m 2.4.
Donderdag op het werkcollege de opgaven 2.5 t/m 2.9
Vrijdag prakticum: eerste kennismaking met SWI Prolog. Gebruik hierbij het volgende materiaal:
de korte introductie om
SWI Prolog aan de praat te krijgen, en
de verzameling Prolog-opgaven
Raadpleeg eventueel aanvullend materiaal via de hierboven aangegeven 'nuttige links'.
Week 3 (maandag 15 mei 2006 - vrijdag 19 mei 2006)
Dinsdag hoorcollege over Chapter 3: SLD-Resolution (resolutie, unificatie, SLD-resolutie,
gezondheid en volledigheid, bewijsbomen).
Huiswerk: de opgaven 3.1, 3.2, 3.5.
Donderdag op het werkcollege de opgaven 3.3, 3.4, 3.6, 3.7, 3.8, 3.9.
Vrijdag prakticum: verder met Prolog.
De eerste prakticumopgave is beschikbaar (deadline: vrijdag 2 juni 2006, 17.00 uur).
Week 4 (maandag 22 mei 2006 - vrijdag 26 mei 2006)
Dinsdag hoorcollege over Chapter 6: Logic and Databases (relationele databases, deductieve databases,
relationele algebra vs. logische programma's, logica als vraagtaal, speciale relaties,
databases met samengestelde termen), en Chapter 7: Programming with Recursive Data Structures (recursieve datastructuren, lijsten, verschillijsten).
Huiswerk: de opgaven 6.2, 6.6, 7.2.
Donderdag geen werkcollege (Hemelvaartsdag).
Week 5 (maandag 29 mei 2006 - vrijdag 2 juni 2006)
Dinsdag hoorcollege over Chapter 7: Programming with Recursive Data Structures (recursieve datastructuren, lijsten, verschillijsten), en Chapter 5: Towards Prolog: Cut and Arithmetic.
Huiswerk: de opgaven 5.1, 5.3.
Donderdag op het werkcollege de opgaven 6.4, 6.7, 6.8, 7.4, 7.5, 7.12, 7.17.
Vrijdag prakticum (eerste prakticumopdracht).
Deadline eerste prakticumopdracht: vrijdag 2 juni 2006, 17.00 uur.
De tweede prakticumopdracht is beschikbaar (deadline: vrijdag 16 juni 2006, 17.00 uur).
Week 6 (maandag 5 juni 2006 - vrijdag 9 juni 2006)
Dinsdag hoorcollege over chapter 4: Negation in Logic Programming (negatieve kennis, programma-complementering, SLDNF-resolutie), en Chapter 10: Logic and Grammars (contextvrije grammatica's, logische grammatica's).
Huiswerk: de opgaven 4.1, 4.2.
Donderdag op het werkcollege de opgaven 4.3, 4.5, 4.9, 4.10.
Vrijdag prakticum (de tweede prakticumopdracht).
Week 7 (maandag 12 juni 2006 - vrijdag 16 juni 2006)
Dinsdag hoorcollege over Chapter 10 en over de derde prakticumopdracht.
Deadline tweede prakticumopdracht: vrijdag 16 juni 2006, 17.00 uur.
De derde prakticumopdracht is beschikbaar (deadline: vrijdag 30 juni 2006, 17.00 uur).
Week 8 t/m 10 (maandag 19 juni 2006 - vrijdag 7 juli 2006)
Werken aan de derde prakticumopdracht, tentamen voorbereiden.
Deadline voor de derde prakticumopdracht: vrijdag 30 juni 2006, 17.00 uur.
Tentamen: woensdag 5 juli 2006, 9-12 uur, Examenhal
De leerstof voor het tentamen bestaat uit de volgende delen uit het boek van Nilsson & Maluszynski:
- hoofdstuk 1, 2, 3, 4 (alleen 4.1, 4.2, 4.3), 5 (alleen 5.1),
6 (alleen 6.1, 6.2, 6.3, 6.4, 6.5), 7, 10 (alleen 10.1, 10.2, 10.3, 10.4).
Definities van begrippen kunnen ook op het tentamen gevraagd worden, evenals
eenvoudige bewijzen (dwz. wel gezondheid van de resolutieregel, niet
volledigheid). Verder kan een vraag gesteld worden over bv. het
unificatie-algoritme en/of selectieregels.
De leerstof over (SWI-)Prolog behoort niet tot de tentamenstof.
Het tentamen
van vorig jaar, de
eerste herkansing en de
tweede herkansing
zijn beschikbaar.
Bedenk wel dat de leerstof voor deze tentamens anders was dan voor dit jaar.
Herkansingstentamen: dinsdag 22 augustus 2006, 9 - 12 uur, Examenhal.
Gerard Renardel
(grl@cs.rug.nl)