Opleiding B-KUL-G0B23A Modellering van complexe systemen

Alle details zichtbaar |  Alle details onzichtbaar

Algemeen

  • Academiejaar: 2011-2012
  • Studiepunten: 6
  • Onderwijstaal: Nederlands
  • Niveau: Verdiepend
  • Begeleidingsuren: 82.0 uren Uurrooster
  • Periode: Wordt gedoceerd in het eerste semester
  • Verantwoordelijke POC: POC Computerwetenschappen
 Afdrukversie
 

Docenten/didactisch team

Denecker Marc

Doelstellingen

De student wordt vertrouwd gemaakt met een aantal  basislogicas en formele technieken om een complex systeem te modelleren. Ze begrijpen voor welke types van proposities deze talen geschikt zijn en zijn in staat om relevante eigenschappen  in deze talen uit te drukken en om hiermee  bepaalde types van taken of problemen, inclusief verificatietaken mee op te lossen door middel van de geschikte inferentie. De keuze voor het gebruik van een bepaalde taal of inferentietechniek moet kunnen verantwoord worden. Globale voor- en nadelen van de technieken moeten gekend zijn en gebruikt worden bij die keuze, en de verbanden en verschillen tussen deze talen moeten gekend zijn.   

Studenten zijn in staat de relevante concepten voor een probleemstelling in een domein te onderscheiden en er een ontologie of logisch vocabularium voor te ontwerpen. Ze zijn in staat naast expliciet gegeven informatie ook impliciete  informatie te onderkennen in een probleemstelling. Ze kunnen beide types van informatie expliciteren in de logicas van deze cursus, of beoordelen in hoeverre  deze geschikt zijn hiervoor. Ze kunnen een klasse van problemen of  taken classifieren als logische formele inferentietaken, en zijn in staat om deze concreet te specifieren en te laten uitvoeren door het geschikte inferentietool.

De studenten zijn vertrouwd met een aantal informatieconcepten zoals unique names proposities, domain closure proposities, enumeratie,  voldoende en noodzakelijke voorwaarden, inductieve definities, inertie in dynamische systemen, temporele eigenschappen in de context van dynamische systemen, en pre- en postcondities, Hoare triples, invarianten en varianten in de context van te verifieren programma's. Ze beheersen de  modelleringstechnieken om deze proposities uit te drukken.

De studenten zijn vertrouwd met fundamentele theoretische concepten uit de logica zoals logische implicatie,  satisfieerbaarheid, logische equivalentie, onvolledigheidsstelling van Goedel,  bepaalde expressiviteitsbeperkingen en onbeslisbaarheid van logische implicatie voor klassieke logica en kunnen deze uitleggen. Van bepaalde basiseigenschappen kunnen ze het bewijs formuleren.  

De studenten begrijpen een aantal fundamentele inferentiealgoritmes en kunnen deze beschrijven, inclusief de complexiteit ervan en ze handmatig illustreren voor kleine problemen.

Studenten zijn in staat partiele en volledige correctheid van programma's te bewijzen in Hoare logica.  

De verschillende onderwerpen die aan bod komen tijdens de cursus en de gebruikte systemen sluiten dicht aan bij actueel onderzoek. In de cursus worden vele links gelegd tussen diverse onderzoeksgebieden in formele technieken en artificiële intelligentie en we stuiten geregeld op onopgeloste onderzoeksvragen.



Begintermen

Cursussen waarin de student heeft kennisgemaakt met propositionele logica, predicatenlogica, eindige automaten, programmeren, algorithmen, elementaire correctheidsbewijzen van programma’s. Aan de K.U.Leuven zijn deze cursussen concreet (zoals in de Bachelor Informatica): Logica voor Informatici, Beginselen van Programmeren, Fundamenten voor de Informatica, Object-gericht programmeren, Artificiele Intelligentie, Automaten en Berekenbaarheid.

Inhoud

De inhoud van het opleidingsonderdeel is gebaseerd op het boek Logic in Computer Science van Michael Huth and Mark Ryan. Het boek bevat vele oefeningen. De auteurs hebben een website met voor elk hoofdstuk een aantal meerkeuzevragen met feedback voor elke gemaakte keuze.

Het boek gaat dieper in op bepaalde onderwerpen dan de bedoeling is voor dit opleidingsonderdeel. In het bijzonder de secties over modale logica en  OBDDs kunnen zonder probleem overgeslagen worden. Op andere vlakken gaat de cursus dan weer aanzienlijk dieper dan het boek. In het bijzonder gaan we veel dieper in op modellering en problem solving in klassieke logica. Ook worden veel meer verbanden gelegd tussen de verschillende hoofdstukken dan in het boek. 

De cursus is onderverdeeld in de volgende hoofdstukken: 


0. Inleiding
- Wat is modellering
- Een cursus op de confluentie van twee wetenschappelijke disciplines
- Over de rol van Kennisrepresentatie en formele methodes in computerwetenschappen
- Motivatie voor deze cursus

1. Propositionele logica als formele talen
- Syntax, semantiek
- Normalisatie
- SAT algoritmes

2. Predicatenlogica 
- Syntax, semantiek
- Onbeslisbaarheid
- Uitdrukkingskracht
- Uitbreidingen van predicatenlogica
- Problem solving door middel van logische inferentie-systemen:
    + database model checking en query answering inferentie als model checking
    + modelgeneratie, modelrevisie 
    + theorem proving/deductie


3. Modellering van dynamische systemen 
- Het frame-probleem
- Een Lineaire Tijd Calculus (LTC) in predicatenlogica 
- Verificatie, simulatie en planning  voor dynamische systemen
 
4. Verificatie door modelchecking
 - Motivatie voor verificatie
 - Temporele logica's
    * lineaire-tijd temporele logica’s (LTL): syntax, semantiek, specificatiepatronen, equivalenties, connectieven, links met Lineaire Tijd Calculus
    * splitsende-tijd temporele logica (CTL): syntax, semantiek, specificatiepatronen, equivalenties, connectieven
    * vergelijking van LTL en CTL
- Model checking
    * modelchecking in LTL m.b.v. automaten
    * modelchecking in CTL
    * SAT-oplossers voor modelchecking
 
5. Programmaverificatie
 - Een raamwerk voor softwareverificatie.
    * core programmeertaal
    * Hoare 3-tallen
    * partiele en totale correctheid
- Bewijscalculus voor partiele correctheid
    * bewijsregels en bewijstechniek
    * toepassing
- Bewijscalculus voor totale correctheid
- Links met LTC en toepassing van logische inferentie  voor programmaverificatie 

Plaats in het onderwijsaanbod

Master of Science in de wiskunde  
Master of Science in de toegepaste informatica  
Master of Science in de ingenieurswetenschappen: computerwetenschappen (nieuw programma, start in 2010)   (Verplicht)  

Aard van het studiemateriaal

Handboek
Toledo

Onderwijsleeractiviteiten

B-KUL-G0B23a Modellering van complexe systemen
B-KUL-G0B24a Modellering van complexe systemen: Werkzittingen
B-KUL-G0B25a Modellering van complexe systemen: Project

Evaluatieactiviteiten

B-KUL-G2B23a Evaluatie : Modellering van complexe systemen