Available Theses / Free Text

Topics for available theses

eXplainable AI


Main reference techniques: logic as constraint, differentiable reasoning, neural program induction

  • logic as constraint: un caso di studio in tuProlog. Partendo dall’esplorazione del modello ibrido che vede vincoli logici come constraint di una deep network progettare un caso di studio e realizzarlo in tuProlog.
  • dando seguito ad il recente lavoro presentato a WOA (Interpretable Narrative Explanation for ML Predictors with LP: A Case Study for XAI) utilizzare tecniche di abduzione sulla conoscenza generata al fine di inferire nuova conoscenza. Progetto e realizzazione di un caso di studio che evidenzi i benefici dell’approccio adottato. (NB questa nuova conoscenza potrebbe essere poi usata come nuovo vincolo da passare alla deep network)
  • Explore & compare N>=2 techniques for symbolic knowledge extraction among the many available into the literature (see references below). Regardeless of the specific techniques of choice: Choose N techniques, and study them, Design an implementation per technique using some ML framework of choice (e.g. SciKit-learn, Weka, etc), Test it on several (families of) classifiers, possibly attained from multiple, heterogeneous datasets, then perform comparisons

LPaaS

  • Logic Programming as a Service on Docker

tuProlog

  • Design & implement a micro-service ReST API for governing tuProlog engines through HTTP (This may require to extend the current serialisation support)
  • Design & implement the tuProlog IDE as a Web application leveraging a server compliant with the aforementioned ReST API
  • Setup & automate the development, testing, and deployment phases for Android builds
  • Setup & automate the development, testing, and deployment phases for iOS builds through RoboVM
  • Setup and automate the documentation publication process (thorugh Dokka and Readthedocs) and help in porting and extending the current manual
  • Design and implement a Language Server Protocol implementation for Prolog, possibly making it compliant with the ANTLR parser
  • Design and implement a Prolog plugin for any of the following IDE: Atom, Code, Siblime Text, Eclipse, IntelliJ 

tuProlog in kotlin

  • armonizzare e testare l'utilizzo delle API di 2p-kt nelle pattaforme target (JVM e JS)
  • automatizzare testing su piattaforma JS e deploy della libreria JS su NPM
  • produzione di un modulo di serializzazione/deserializzazione da/verso JSON, YAML, oppure XML
  • produzione di una GUI web simile all'IDE di 2p classico (NB implica punto precedente)
  • produzione di benchmark comparativi tra 2p-kt, 2p classico, a altri engine
  • approfondimento del Language Server Protocol (https://langserver.org/) per la produzione di plugin per il coloring della sintassi Prolog nei vari Atom, VS Code, Sublime Text, etc
  • ampliamento della libreria standard di 2p-kt
  • impianto del parser di 2p-classic in 2p-kt
  • tesi compilativa studio del progetto 2p-kt finalizzato alla produzione della documentazione su ReadTheDocs (attività progettuale minima: setup del sito)