Inserire una breve descrizione delle modifiche fatte
(Richiesto)
Minor changes are by default collapsed in the page history.
No changes
The page does not exist yet.
Failed to load changes
Version by on
Leave Collaboration
Are you sure you want to leave the realtime collaboration and continue editing alone? The changes you save while editing alone will lead to merge conflicts with the changes auto-saved by the realtime editing session.
2p-Kt: A Kotlin-based, Multi-Platform Framework for Symbolic AI
Today complex software systems are typically built as aggregates of hetero- geneous components, where symbolic AI may effectively help facing key issues such as intelligence of components and management of interaction. However, most solutions for symbolic manipulation are currently either proof of concept imple- mentations or full-fledged monolithic runtimes, mostly targeting a single platform or a specific problem. Among the many, two decades ago, the tuProlog engine proposed a flexible and modular architecture on top of a portable platform – namely, the JVM – which should have overcome the aforementioned problems. Sadly, the technology of the time forced some design choices which are nowadays limiting its development and its porting on other platforms – critical for modern AI –, such as JavaScript (JS) or iOS. For such reasons in this thesis we propose (the design and development of) 2p-kt, an object-oriented, modular engine for symbolic manipulation written in pure Kotlin – thus supporting compilation on several platforms, there including JVM, and JS –, coming with a natural support for Prolog-like SLD resolution but virtually open to other resolution strategies. 2p-kt design is conceived to maximise components deployability, lightweightness, reusability and configurability, while minimising their mutability, and keeping its architecture open to the injection of new Prolog libraries or resolution strategies.