piwik-script

English Intern
    Lehrstuhl für Informatik I - Algorithmen, Komplexität und wissensbasierte Systeme

    Abschlussarbeiten und Praktikumsthemen

    Auf dieser Seite sind Themen für mögliche Abschlussarbeiten, Projekte und Masterpraktika aufgelistet. Nicht alle Themen eignen sich für alle Veranstaltungsformen - das richtet sich aber auch nach den Vorkenntnissen und kann bei Interesse am besten im persönlichen Gespräch ausgelotet werden.

    Gerne übernehme ich nach Absprache auch die Betreuung von Arbeiten mit eigenen Themenideen aus unseren Interessensbereichen.

    OpenRuleBench Revised

    OpenRuleBench is a suite of benchmarks for analysing the performance and scalability of different rule engines. The original benchmarks were run first in 2009, an updated report was published in 2011. Since then, the benchmarks have not been re-run. In this work, we want to create an experimental setup to validate the original results, and re-run tests with modern rule engines. This could result in a public test server to compare existing and new logic programming systems and their strengths.

    XPCE Compatibility for SWISH

    XPCE was the way to go for graphical user interfaces with SWI-Prolog. But recently with SWISH, SWI-Prolog moved to the browser as the most important GUI, leaving XPCE unsupported and almost deprecated. We want to examine typical XPCE applications and provide mechanisms to convert them to SWISH applications.

    Benchmarking CHR Systems

    Constraint Handling Rules (CHR) is a very simple but powerful rule-based language. Besides its most popular implementation as a library for SWI-Prolog, there exist CHR systems in C, Haskell, and JavaScript. More than 25 years after the creation of CHR, the existing implementations should be compared regarding supported features and performance.

    Bisecting Debugger for SWI-Prolog

    Although it is hard to admit - most of the time we are actually not writing code but instead debug existing. Due to its good backtracking and tracing abilities, debugging in Prolog could benefit from a bisecting debugger as described by Michael Hendricks at Strange Loop 2014. In this work we want to enhance SWI-Prolog's built-in debugger with this functionality.

    Interactive SLD Tree Exploration with Leaflet

    Leaflet is the leading JavaScript library for interactive maps. Despite its usage in classical map applications, it has been used to visualise 3D models, the galaxy, the tree of life, and virtual microscopes. Similarly, this type of visualisation can be used to present the trace of a Prolog program, omitting details when zooming out, etc.

    Prolog Saved States for Process Duplication

    SWI-Prolog comes with a powerful mechanism to pre-compile Prolog programs: Using saved states it is possible to bundle all machine-independent compiled resources. This technique is currently used to improve the startup time of a program. Since the saved state can be created dynamically, it could also be used to duplicate the running process, as described by Michael Hendricks at Strange Loop 2014. We want to examine and implement this technique for parallel Prolog computations.

    Optimising Definite Clause Grammars

    Definite Clause Grammars (DCG) can be easily written by hand and are therefore a good alternative to parser implementations based on LL(k), LF or PEG. Nevertheless such hand-written grammars tend to be not optimal: Several parts of the parse tree have to be evaluated several times for the same expression because of its backtracking nature. Using source-to-source transformation the DCG can be rewritten into an optimal version, which should be done in Prolog as part of this work.

    Prolog Interpreter for JavaScript

    In 2014, a blog post about a Prolog interpreter written in JavaScript gained a lot of attention. It describes a Prolog interpreter of just 160 LOC. In this work, we want to improve this first approach by using language features which were added very recently in ES 2015, like generators and Promises, together with aspects like immutable data structures.

    Weitere Themen?

    Weitere Themen und Ideen können gerne im persönlichen Gespräch angesprochen werden.

    Hinweis zum Datenschutz

    Mit 'OK' verlassen Sie die Seiten der Universität Würzburg und werden zu Facebook weitergeleitet. Informationen zu den dort erfassten Daten und deren Verarbeitung finden Sie in deren Datenschutzerklärung.

    Hinweis zum Datenschutz

    Mit 'OK' verlassen Sie die Seiten der Universität Würzburg und werden zu Twitter weitergeleitet. Informationen zu den dort erfassten Daten und deren Verarbeitung finden Sie in deren Datenschutzerklärung.

    Kontakt

    Lehrstuhl für Informatik I (Effiziente Algorithmen und wissensbasierte Systeme)
    Am Hubland
    97074 Würzburg

    Tel.: +49 931 31-85054
    E-Mail

    Suche Ansprechpartner

    Hubland Süd, Geb. Z8
    Hubland Süd, Geb. Z8
    Hubland Süd, Geb. M2
    Hubland Süd, Geb. M2