INTELLIGENZA ARTIFICIALE

PER LA CRESCITA PRESENTE E FUTURA
DELLE NOSTRE IMPRESE

Cosa è l'Intelligenza artificiale, il Machine learning e il Deep learning

Algoritmi genetici, Machine learning e Deep learning: la creazione di software e tecnologia mediante intelligenza artificiale è destinata a ricoprire un ruolo sempre più importante e decisivo per le aziende nel prossimo futuro. L'interazione umana è da lungo tempo essenziale e insostituibile, ma stiamo assistendo gradualmente a scenari in cui la tecnologia si dimostra migliore di noi esseri umani nello svolgimento e risoluzione di attività produttive e industriali.

La crescita della tua azienda, della capacità di offerte e soluzioni dedicate ai tuoi clienti, passa attraverso l’utilizzo dell’Intelligenza artificiale.

I miglioramenti tecnologici ci permettono sempre di più di integrare l'intelligenza umana in modo più efficace.

Attualmente alcune aree di ricerca hanno ricoperto ruoli essenziali:

  • L'Intelligenza Artificiale (IA) progettata per fornire ai computer la capacità di risposta completa della mente umana. È la disciplina onnicomprensiva che ne include molte altre, tra cui Machine learning e Deep learning, Algoritmi genetici, etc.
  • Il Machine learning (ML) usa modelli comportamentali esistenti. Genera processi decisionali in base a dati e conclusioni precedenti.
    L'intervento umano è ancora necessario per alcune modifiche. Machine learning è a tutt'oggi probabilmente la disciplina sull'intelligenza artificiale più rilevante.
  • Il Deep learning (DL), che è una branca del Machine learning, utilizzando le reti neurali adotta in completa autonomia decisioni basandosi su modelli precedentemente allenati. Tale modalità estende le possibilità di utilizzo raggiungendo risultati ancora più efficaci.

L'intelligenza artificiale
è il presente

ESEMPI INTERATTIVI DI APPLICAZIONE DI BASE



BIN PACKING
Implementazione dell'a 'ottimizzazione dello spazio

Utilizzare il bottone "Reset" per ricominciare.

Definizione del problema

  • L'obiettivo principale è quello di allocare un insieme di oggetti di diverse dimensioni all'interno di un numero minimo di contenitori (chiamati "bin") in modo efficiente.

Regole del sistema

  • La dimensione del contenitore rettangolare è fissa.
  • Gli oggetti rettangolari hanno dimensioni variabili possono essere ruotati di 90° (oggetti con *).
  • L'obiettivo è minimizzare il numero di contenitori utilizzati.

Implementazione dell'algoritmo

  • Sono stati implementati 6 tipi di algoritmi euristici per ottenere soluzioni approssimate ottimali o quasi ottimali in tempi accettabili.
  • L'algoritmo "RMax" risulta il più efficiente.

Applicazioni reali

  • Logistica e trasporti per ottimizzare il carico di camion, container o altri mezzi di trasporto.
  • Settore IT per la creazione di backup di file nei supporti.
  • Processi produttivi per organizzare le fasi di produzione in modo da massimizzare l'efficienza e ridurre gli sprechi di materiale.
  • Imballaggio e spedizioni per organizzare al meglio gli oggetti da spedire all'interno di scatole o pacchi.
  • Mappatura tecnologica nella progettazione di chip semiconduttori.





TSP DELIVERY PLANNING
Implementazione della ottimizzazione del percorso

Utilizzare il bottone "Riavvia" per rigenerare un nuovo percorso.

Definizione del problema

  • L'obiettivo principale è quello di ridurre il costo totale del percorso e il tempo impiegato per visitare tutte le città, garantendo che ogni città venga visitata solo una volta.

Regole del sistema

  • Le città vengono caricate dalla lista delle città italiane (circa 16k).
  • Viene estratto un campione di 100 città.
  • Ogni tratta viene espressa con un peso che rappresenta la distanza geografica tra i 2 punti.

Implementazione dell'algoritmo

  • E' stato implementato un algoritmo euristico per garantire una buona efficienza su una grande mole di dati.
  • Viene iterato 5 volte il ciclo di ottimizzazione per identificare la soluzione migliore.

Applicazioni reali

  • Copertura geografica delle flotte per assistenze e cantieri.
  • Pianificazione degli itinerari per le consegne.
  • Progettazione di circuiti elettronici.
  • Programmazione della produzione e nella logistica.
  • Identificazione del percorso per la programmazione di un robot.
  • Tutti i problemi di ottimizzazione nella teoria dei grafi.



IMAGE CLASSIFICATION
Implementazione della classificazione delle immagini

Utilizzare il bottone "Sfoglia..." per caricare un'immagine oppure premere i tasti esempio

Definizione del problema

  • Identificare oggetti, animali, persone, etc. da immagini di vario tipo per poi poterle classificare in base agli elementi contenuti.

Regole del sistema

  • Può essere caricata qualunque immagine.
  • Possono essere espresse in formato JPEG o PNG.

Implementazione dell'intelligenza artificiale

  • E' stata utilizzata una Convolutional Neural Network (CNN).
  • Vengono estratti tutti i risultati in base alla probabilità di identificazione.
  • Viene selezionato il migliore tra i risultati ottenuti.

Applicazioni reali

  • Classificazione delle immagini per analisi statistica.
  • Creazione in tempo reale di modalità d'accesso a locali.
  • Sistemi di sicurezza o di sorveglianza proattiva.
  • Sistemi di controllo e analisi.




NER - NATURAL LANGUAGE PROCESSING - NLP
Implementazione del Named Entity Recognition

Inserire un testo personalizzato o premere il bottone
"Sommario casuale da Wikipedia".

Utilizzare il bottone "Calcola NER" per valutare il testo inserito.

Definizione del problema

  • Estrarre una lista di entità (nominate) da frasi espresse in linguaggio naturale per poterle analizzare e classificare in base ai loro attributi.
  • Gli attributi possono essere:
    - PER: persone, anche di fantasi.
    - NORP: nazionalità o gruppi religiosi o politici
    - ORG: aziende, agenzie, istituzioni, ecc
    - GPE: Paesi, città, stati
    - LOC: località non GPE, catene montuose, specchi d'acqua
    - DATE: date o periodi assoluti o relativi
    - MONEY: valori monetari, inclusa l'unità
    - FAC: edifici, aeroporti, autostrade, ponti, ecc.
    - PRODUCT: oggetti, veicoli, alimenti, ecc. (non servizi.)
    - EVENT: uragani nominati, battaglie, guerre, eventi sportivi, ecc.
    - WORK_OF_ART: titoli di libri, canzoni, ecc.
    - LAW: documenti nominativi trasformati in leggi
    - LANGUAGE: qualsiasi lingua denominata
    - TIME: tempi inferiori a un giorno
    - PERCENT: percentuale, incluso "%"
    - QUANTITY: misure, in base al peso o alla distanza
    - ORDINAL: "primo", "secondo", ecc.
    - CARDINAL: numeri che non rientrano in un altro tipo
    - MISC: altro nome

Regole del sistema

  • Il testo è espresso in linguaggio naturale.
  • Il testo può essere scritto in italiano.

Implementazione dell'intelligenza artificiale

  • E' stato utilizzato un approccio ibrido.
  • La soluzione implementa 2 strati diversi tra Machine Learning classico e Deep Learning
  • In base alla bontà dei risultati ottenuti viene generato il risultato finale.

Applicazioni reali

  • Classificazione del testo per analisi statistica.
  • Creazione di una knowledge base condivisa.
  • Suggerimenti e collegamenti tra entità.
  • Riconoscimento di oggetti per la classificazione semantica.




NEURAL NETWORK BLACK JACK
Implementazione personalizzata di una rete neurale

Utilizzare la manopola per modificare il numero di neuroni del livello nascosto.

Utilizzare il bottone "Avanti turno" per eseguire una singola partita.

Definizione del problema

  • Ottenere la migliore percentuale di vittoria e migliorarla nel tempo.

Regole del sistema

  • Il giocatore gioca con una carta casuale, se il giocatore ha più di 21 punti, il giocatore perde.
  • Il Banco - Sta sul soft 17 - Nessun apprendimento implementato.
  • Giocatore - apprende automaticamente in base alla rete neurale.

Implementazione dell'intelligenza artificiale

  • Il giocatore è controllato da una Feedforward neural network.
  • In caso di valore >0,5 [richiede carta], diversamente [si ferma].
  • il numero di neuroni di ingresso è 38 - Punteggio del giocatore (da 2 a 20) e il punteggio del banco (da 2 a 20).
  • Il numero di neuroni nascosti è 6(5 + 1 parziale).
  • L'uscita della rete neurale determina se fermarsi o richiedere la carta.

Applicazioni reali

  • Approvvigionamento di magazzino, sottoscorta e rottura di stock. Individuazione e previsione degli articoli che più facilmente vanno in esaurimento.
  • Riconoscimento e correlazione delle immagini.
  • Problemi di NLP (Natural Language Processing o Elaborazione del Linguaggio Naturale) per comprendere, predire e valutare il testo e le parole. Ricerca e similarità semantica per valutare e proporre correlazioni e suggerimenti tra parole e testi.




GENETIC MINIONS
Implementazione di un algoritmo genetico evolutivo

Utilizzare il campo di modifica testo per sostituire la stringa obiettivo.

Utilizzare il bottone "Epidemia" per limitare il numero dei minions.

Definizione del problema

  • Ottenere il "miglior" esemplare della specie con risorse limitate.
  • E' necessario utilizzare una funzione di verifica dell' "Obiettivo".
  • In questo caso l'obiettivo è quello di ottenere la stringa specificata: "Cocce"

Regole del sistema

  • Gli individui della popolazione si evolvono autonomamente.
  • Il risorsa primaria "Cibo" è limitata.
  • Rimangono in vita gli esemplari che possono usufruire della risorsa primaria.
  • Esiste una durata massima della vita dell'individuo.

Implementazione dell'intelligenza artificiale

  • Il sistema implementa un algoritmo genetico.
  • Gli esemplari al contatto con altri si riproducono fondendo e combinando il loro DNA.
  • Gli individui si muovono casualmente all'interno dell'area definita.
  • Gli individui più forti rimangono in vita.
  • Per garantire l'evoluzione viene effettuata una mutazione casuale.

Applicazioni reali

  • Analisi e mappatura di ampie aree geografiche.
  • Ottimizzazione spaziale di percorsi.
  • In tutti i problemi in cui è possibile quantificare il valore di una soluzione; un algoritmo genetico infatti può eseguire una ricerca diretta all'interno dello spazio della soluzione.




2D CAR STEERING SYSTEM
Applicazione di una rete neurale artificiale evolutiva

Definizione del problema

  • Ottenere un sistema di guida autonoma mediante l'apprendimento automatico dell'intelligenza del sistema di guida.

Regole del sistema

  • Il percorso è fisso e viene prestabilito.
  • L'auto deve percorrere il percorso senza toccare pareti o altri ostacoli.

Implementazione dell'intelligenza artificiale

  • Le auto sono guidate da una Feedforward neural network.
  • I pesi della rete vengono addestrati utilizzando un algoritmo genetico.
  • Un'auto ha cinque sensori frontali che misurano la distanza dagli ostacoli in una determinata direzione.
  • Le letture di questi sensori servono come input della rete neurale dell'auto.
  • L'uscita della rete neurale determina la forza del motore e di svolta.

Applicazioni reali

  • Sistemi di guida autonoma.
  • Mappatura e selezione del miglior percorso.
  • Robot taglia erba e pulizie.
  • Taratura automatica sensori.