Giter Site home page Giter Site logo

bralani / icon22-23 Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 1.0 7.48 MB

Software di gestione degli incroci semaforici sfruttando tecnologie di intelligenza artificiale per il corso di ingegneria della conoscenza

License: MIT License

Prolog 5.40% Python 94.60%
artificial-intelligence constraint-satisfaction-problem decision-tree knn knowledge-base markov-chain ontology

icon22-23's Introduction

Semafori intelligenti

Repository per il progetto di ingegneria della conoscenza 2022-2023. Realizzato da:

  • Balice Matteo (mat. 743479)
  • Doronzo Antonio Giuseppe (mat. 736571)
  • Lacavalla Domenico (mat. 738087)
  • Stefan Andrei Alexandru (mat. 735406)

Installazione

Installare SWI Prolog in base al sistema operativo in uso (scaricare la versione 8):

https://www.swi-prolog.org/download/stable?show=all

Posizionarsi all'interno della root principale:

cd icon22-23

Creare l'ambiente virtuale(facoltativo):

python -m venv icon22-23

Installare le dipendenze:

pip install -r requirements.txt

Guida all'utilizzo

Caricamento file

Il programma, una volta avviato, chiede all'utente quale tipo di dati utilizzare. La scelta può essere tra le seguenti opzioni:

  • Utilizzare un file pre-caricato sulla piattaforma (consigliato per comodità e velocità di elaborazione)

  • Caricare un file XML, opzione per caricare un file dal proprio dispositivo. Il file deve avere la struttura standard OSM (OpenStreetMap) XML per un utilizzo corretto del programma. In pratica, i dati presenti nel file dovranno rispettare un formato preciso, per essere elaborati correttamente dal programma.

Sincronizzazione semafori

Una volta caricato il file, il programma chiederà se si desidera sincronizzare i semafori in modo globale, per diminuire il tempo di rosso complessivo tra i semafori della zona in esame.

Opzioni principali

Il menu verrà poi sostituito con le seguenti opzioni:

  • Visualizzazione delle strade, restituisce tutte le strade della zona in esame.

  • Visualizzazione degli incroci, restituisce informazioni su tutti gli incroci presenti nella zona.

  • Ricerca percorso ottimale tra due incroci, prende in input due incroci, uno di partenza e uno di destinazione, e restituisce il percorso più efficiente da seguire per raggiungere la destinazione. Esempi concreti di utilizzo delle opzioni del menu.

  • Se si vuole visualizzare tutte le strade presenti in una determinata zona, si può selezionare l'opzione "Visualizzazione delle strade" dal menu e il programma mostrerà tutte le strade evidenziate.

  • Se si vuole trovare il percorso più efficiente tra due incroci specifici, si può selezionare l'opzione "Ricerca percorso ottimale tra due incroci" dal menu e inserire i nomi degli incroci di partenza e destinazione. Il programma mostrerà il percorso consigliato e il tempo stimato per percorrerlo.

icon22-23's People

Contributors

andrei-stefan20 avatar bralani avatar d0men1c0 avatar tonio635 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

d0men1c0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.