2p-Kt: A Kotlin-based, Multi-Platform Framework for Symbolic AI

Siboni, Enrico (2019) 2p-Kt: A Kotlin-based, Multi-Platform Framework for Symbolic AI. [Laurea magistrale], Università di Bologna, Corso di Studio in Ingegneria e scienze informatiche [LM-DM270] - Cesena
Documenti full-text disponibili:
[thumbnail of Thesis] Documento PDF (Thesis)
Disponibile con Licenza: Creative Commons: Attribuzione - Condividi allo stesso modo 3.0 (CC BY-SA 3.0)

Download (693kB)

Abstract

Al giorno d'oggi i sistemi software complessi sono tipicamente costruiti come aggregati di componenti eterogenee, in cui l'applicazione di AI simbolica può aiutare efficacemente ad affrontare problemi chiave come l'intelligenza delle componenti e la gestione delle interazioni. Tuttavia, la maggior parte delle soluzioni per la manipolazione simbolica sono attualmente in versione prototipale "proof of concept" oppure sono dei "runtime" monolitici, sviluppati principalmente per una piattaforma specifica o un problema specifico. Tra i tanti, tuProlog, due decenni fa, propose un'architettura flessibile e modulare implementata su di una piattaforma portatile – vale a dire la JVM (Java Virtual Machine) – che avrebbe dovuto superare i suddetti problemi. Purtroppo, la tecnologia del tempo costrinse alcune scelte di design che oggi stanno limitando il suo sviluppo e la sua portabilità su altre piattaforme – fondamentali per l'AI moderna – come JavaScript (JS) o iOS. Per tali motivi in questa tesi proponiamo (il design e lo sviluppo di) 2p-kt, un motore Prolog modulare "object-oriented" per la manipolazione simbolica, scritto in Kotlin puro – supportando così la compilazione su diverse piattaforme, tra cui JVM e JS – con un supporto naturale alla risoluzione Prolog SLD (Selective Linear Definite) ma potenzialmente aperto ad altre strategie di risoluzione. Il design di 2p-kt è concepito per massimizzare la modularità, la configurabilità, la leggerezza e la facilità di utilizzo delle sue componenti, minimizzando al contempo la loro mutabilità e mantenendo aperta la possibilità di iniettare nuove librerie Prolog o strategie di risoluzione.

Abstract
Tipologia del documento
Tesi di laurea (Laurea magistrale)
Autore della tesi
Siboni, Enrico
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
Prolog,tuProlog,Logic programming,Kotlin,Multi-platform,JVM,JavaScript,2p-kt,Symbolic manipulation,Modular
Data di discussione della Tesi
12 Dicembre 2019
URI

Altri metadati

Statistica sui download

Gestione del documento: Visualizza il documento

^