Master Thesis Topics TINF 2008-2009

Extending Answer Set Programs [reserved]

(The description below is taken from the ``Answer set Programming'' ASP2000 conference announcement)

Answer Set Programming (ASP) (a.k.a. Stable Logic Programming or A-Prolog) is the realization of much theoretical work in Non-monotonic Reasoning and AI applications of Logic Programming in the last 12 years. It is based on the view of program statements as constraints on the solution of a given problem. Subsequently, each model of the program encodes a solution to the problem itself. For instance, an ASP program encoding a planning scenario has as many models as valid plans. This schema is similar to that underlying the application of SAT algorithms to AI, and in fact the ranges of applicability of these two techniques are similar. However, thanks to the inherent causal aspect of Answer Set semantics, we can represent default assumptions, constraints, uncertainty and nondeterminism in a direct way.
Several ASP systems are now available, e.g. dlv, and smodels.

At TINF, we have developed extensions of answer set programming where e.g. rules are partially ordered according to their preference/weight etc., see e.g. this paper.

The goal of this thesis is to investigate other extensions that are either suitable to represent knowledge in specific application areas or have interesting complexity properties.

Contact Dirk Vermeir.

Quantum Computing and Stream Programming [reserved]

Deze thesis kadert in het quantum computing onderzoek en meer bepaald het project CRYPTASC van het Brussels gewest in samenwerking met de ULB. Indien interesse zijn er ook meer theoretische onderzoeksonderwerpen mogelijk binnen dit project.

Een quantum computer is inherent parallel, vele operaties worden tegelijk uitgevoerd op grote stukken data. Bij klassieke simulatie wordt deze data exponentieel groot; een systeem van 30 qubits moeten we simuleren met een orde van 2^30 klassieke bits. Dit is ver voorbij de mogelijkheden van een enkele PC en komt zelfs aan de limiet van het geheugen van huidige high-performance computing architecturen. Simulatie is binnen dit domein cruciaal daar we nog niet over echte quantum computers beschikken. Een veelbelovende manier om deze exponentiële groei te temperen is het inherente parallelle gedrag van een quantum computer te vertalen naar een klassieke parallelle implementatie.

Er is dus een dringende nood aan a) parallellisatie van de berekeningen en b) distributie van data bij het simuleren van quantum computing. Gedistribueerde applicaties schrijven is niet gemakkelijk. Hierrond wordt veel onderzoek gedaan: agents, functioneel programmeren, data- parallellisme, etc. Deze eerder klassieke aanpakken falen als je een grote performantie wilt en het probleem automatisch wil laten opsplitsen over verschillende rekeneenheden. Men werkt allang aan compilers en frameworks die ervoor zorgen dat klassieke programma's automatisch gedistribueerd worden, maar de resultaten vallen tegen. In de praktijk wordt elk probleem apart bekeken en is de programmeur verantwoordelijk voor alle aspecten van het probleem: distributie, parallellisatie, performatie, enzovoort. Er moet worden teruggegrepen naar alternatieve programmeerstijlen. Stijlen die verplichten de programmeur zijn programma uit te drukken zodat er op een automatische manier het probleem kan worden gedistribueerd en er maximale performantie kan gehaald worden uit de hardware. Daarom pakken we voor deze thesis het probleem radicaal anders aan door gebruik te maken van Stream Programming. Stream programming laat de programmeur toe zijn probleem op een manier uit te drukken die zich veel beter leent tot het automatisch parallelliseren zonder in te binden op vlak van performantie. Deze aanpak werd al succesvol toegepast binnen verschillende rekenintensieve domeinen zoals videobewerkingen, protein folding, fysische simulaties. Het doel van deze thesis is het ontwikkelen van een stream programming omgeving die zich perfect leent tot het simuleren van quantum berekeningen. Tegelijkertijd willen we de huidige simulatielimiet van 36 qubits optrekken of op zijn minst bereiken.

Praktisch gezien bestaat deze thesis uit verschillende delen.

  1. Eerst zal je de literatuur moeten induiken over parallel programmeren en stream programming in het bijzonder. Je bekijkt bestaande talen, concepten en zelfs applicaties uit de industrie. Hieruit haal je de nodige concepten en benodigdheden om een eigen taal te ontwikkelen.
  2. Deze kennis moet je dan toepassen om een specifieke streamomgeving te ontwikkelen voor het efficiƫnt simuleren van quantumberekeningen. Hiervoor moet je natuurlijk de basis van quantum computing onder de knie krijgen. Eerdere thesissen binnen dit domein kunnen je hierbij helpen. Bovendien kan je vertrekken van bestaande code: onze Quantum Simulator (QLisp). De huidige implementatie werkt alleen serieel. De uiteindelijke taal die je ontwikkelt zal op de Cell processor van de Playstation3 moeten draaien, die hiervoor uitermate geschikt is.
  3. Een interessante onderzoeksvraag is de symbiose tussen een bestaande taal en de stream language die je ontwikkelt hebt. We weten dat sommige aspecten moeilijk uit te drukken zijn in een stream language. Het zou ideaal zijn om snelheidskritieke code in de stream taal uit te drukken en de niet kritieke code in een bestaande programmeertaal. Deze twee moeten op een bepaalde manier op elkaar afgestemd worden (symbiose), zonder dat de snelheid van de stream taal en de expressiviteit van de bestaande taal worden aangetast.

Contact Ellie D'Hondt

Dialectic Proof Systems

Traditional proof systems are ``monological'' in the sense that a proof is carried out by a single agent. For some applications, notably Ai and Law and ``intelligent agents'', one might prefer a ``dialogical'' proof procedure where truth is established using some kind of adversarial dialogue (e.g. as in a court). The goal of this thesis is to study existing proposals for such dialectic proof systems, possibly within the context of argumentation frameworks. If relevant and interesting, an implementation of such a system could be part of the thesis.

Contact Dirk Vermeir.

Your suggestion

You can propose, and we can discuss, a topic that is of interest to you (and me).

Make an appointment by email to Dirk Vermeir.


Dirk Vermeir (dvermeir@vub.ac.be) [Last modified: Sat Jul 5 17:22:37 CEST 2008 ]