Stato dell’arte sull'Intelligenza Artificiale e le...
Transcript of Stato dell’arte sull'Intelligenza Artificiale e le...
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 1
Università degli Studi della Tuscia di ViterboFacoltà di Economia
Corso di Organizzazione dei sistemi informativi aziendali
Prof. Tommaso Federici
A.A. 2000/01
Stato dell’arte
sull'Intelligenza Artificiale
e le applicazioni in azienda
Ricerca svolta da: Massimiliano Ferlicca e Sandro Siracusa
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 2
INDICE
CAPITOLO PRIMO
DEFINIZIONE DI INTELLIGENZA ARTIFICIALE
1.1 Nascita dell'intelligenza artificiale…………………………….1
1.2 Evoluzione dell'intelligenza artificiale………………………...3
CAPITOLO SECONDO
SISTEMI DI INTELLIGENZA ARTIFICIALE
2.1 Premessa………………………………………………………..5
2.2 I Sistemi Esperti………………………………………………..6
2.3 Le Reti Neurali………………………………………….…….13
2.3.1 Il funzionamento………………………………………..16
2.3.2 L'apprendimento………………………………….……..18
2.3.3 I punti di forza…………………………………………..20
2.4 Algoritmi genetici e tecniche Fuzzy………….. ……………...21
CAPITOLO TERZO
LE APPLICAZIONE DELL'INTELLIGENZA ARTIFICIALE
3.1 I diversi campi di applicazione………………………………..25
3.1.1 Esempi di applicazioni………………………….……...26
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 3
3.2 Le applicazioni in ambito aziendale…………………………..29
3.2.1 Il Data Mining…………………………………………..30
3.2.1.1 L'attuale livello di diffusione e i futuri sviluppi...32
3.2.2 Previsione finanziarie…………………………………..33
3.2.2.1 Applicazioni pratiche di sistemi previsionali…...34
3.2.3 Selezione del personale………………………………...36
3.2.3.1 I vantaggi………………………………………..38
3.3 Considerazioni conclusive…………………………………….39
Bibliografia………………………………………………………………41
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 4
CAPITOLO PRIMO
DEFINIZIONE DI INTELLIGENZA ARTIFICIALE
1.1 Nascita dell'intelligenza artificiale
Con il termine intelligenza artificiale (IA) vengono identificate tutte
le utilizzazioni dei sistemi di elaborazione che possono essere
assimilabili all’intelligenza umana, con particolare interesse alla
capacità umana di affrontare problemi mediante vari approcci e di
imparare dagli errori.
L’intelligenza artificiale ha lo scopo di asservire alle necessità
umane o quantomeno di assistere e facilitare innumerevoli attività.
Pertanto l’IA aumenta la possibilità di utilizzo degli elaboratori a
supporto della ricerca di soluzioni a problemi non strutturati o
problemi troppo complessi per altri metodi.Tali sistemi favoriscono
un ulteriore stadio di automazione dei meccanismi operativi
aziendali, finalizzati al miglioramento della competitività aziendale
che coinvolge i processi decisionali, la qualità del lavoro, la cultura
organizzativa e altre variabili strutturali del sistema organizzativo.
Si riferisce, dunque, a tutto quell’insieme di attività, di studi, di
progetti che mirano a far sì che il sistema automatico di
elaborazione sia in grado di simulare quei processi assimilabili a
quelli dell’intelligenza umana.
Il termine Intelligenza Artificiale (IA) fu coniato nel 1956 in
occasione di una conferenza presso il Dartmouth College, in
Inghilterra, da un gruppo di ricercatori americani tra i quali Minsky
che la definì come quella branca dell’informatica che studia la
metodologia e le tecniche di base per il progetto e la costruzione di
sistemi elettronici capaci di fornire prestazioni generalmente
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 5
considerate caratteristiche ed esclusive dell’intelligenza umana.Un
altro fautore della materia, Jean-Gabriel Ganascia, la definisce
invece come quella scienza che consente di dotare le macchine di
intelligenza, allo scopo di padroneggiarle meglio; per questo le
macchine non sostituiranno mai l’uomo.
Precedentemente alla data di battesimo, troviamo uno dei
personaggi che più contribuirono all’evoluzione dell’IA: Alan
Turing il quale cercò di descrivere l’attività delle macchine a stati
discreti (ossia ammettono un numero finito di configurazioni)
dimostrando la loro equivalenza ad una macchina ideale, la
macchina universale dotata di quattro istruzioni elementari sulla
quale, in teoria, tutti i programmi potessero funzionare. In seguito i
suoi studi vennero dirottati dalla guerra verso la decifrazione dei
messaggi nemici.Terminata la guerra tornò a dedicarsi alla teoria
delle macchine. Forte dell’esperienza accumulata elaborò una
nuova teoria “è intelligente una macchina che appare diversa da ciò
che è e che appare intelligente agli occhi degli uomini”. Non si
tratta dunque di sapere se una macchina è effettivamente
intelligente, ma solo se essa ci appare tale.
La questione principale verteva quindi sul come operare per
costruire una macchina che potesse sembrare intelligente.
Alcune nozioni fondamentali furono introdotte dai sistemi
simbolici. Partendo da assiomi (verità non dimostrabili)
costruiscono teoremi tramite le regole di derivazione, procedure
univoche per mezzo delle quali i teoremi vengono generati
automaticamente. Per esemplificare i processi dei sistemi simbolici
si porterà ad esempio il gioco degli scacchi (che ha riguardato le
prime sperimentazioni di IA). Un elaboratore per la sua realtà fisica,
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 6
non potrebbe mai enumerare tutte le partite possibili (circa 10^56).
Intervengono ora i sistemi simbolici e l’euristica, che a rischio di
omettere alcune soluzioni orientano la macchina verso le scelte più
opportune. L’euristica è un metodo di ausilio alla scoperta, permette
di individuare tra tutte le derivazioni le più probabili al successo
mediante la formulazione di ipotesi e l’utilizzazione dell’intuito
propri dell’elemento umano.
1.2 Evoluzione dell’intelligenza artificiale
Dopo l’anno della sua nascita all’IA furono attribuite facoltà in
grado di rivoluzionare il mondo in un decennio. Tuttavia l’avvento
della guerra fredda monopolizzò le sovvenzioni destinate ai
laboratori in favore di un progetto di traduzione automatica, per
velocizzare ed economizzare la traduzione del Russo.Il progetto
ebbe risultati molto limitati e la disciplina soffrì ingentemente delle
reputazioni creatasi.
Fu con Minsky che l’IA conobbe un nuovo stimolo. Egli concepì
una nuova organizzazione della conoscenza nelle macchine. Ora
l’IA veniva limitata a domini di sapere strettamente circoscritti
portando così alla nozione, siamo negli anni’ 70, di sistema esperto.
Questi sistemi suscitarono un enorme interesse in molti
campi.Primo fra tutti il sistema Mycen che formulava diagnosi
mediche nel dominio delle malattie infettive con un successo
superiore a quello ottenuto da medici generici.L’origine di questo
sistema ha luogo alla Medical School di Stanford, in seguito ad una
diagnosi errata da parte dei medici stessi.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 7
Gli ottimi risultati attirarono investitori ed i mass-media portando
l’IA al centro dell’attenzione mondiale (il sistema prospector scoprì
un giacimento di manganese).
Questi programmi sono altamente specifici e sono in grado di
arrivare ad una soluzione in base alla correlazione delle loro
conoscenze. Pur essendo programmi ristretti sono dotati di
strumenti (shell o gusci di sistema) vale a dire quella parte dei
sistemi esperti vuoti, in cui non è contenuta nessuna conoscenza
specifica, ma dotati di strumenti specifici per inserirla. Le shell
consentono di ottenere un sistema esperto con il minimo sforzo, in
quanto è richiesto soltanto di inserire della conoscenza pura, mentre
tutti i meccanismi di ragionamento e di deduzione sono già presenti.
Nel corso degli anni quaranta un coordinamento di sforzi tra
biologi, fisici ed elettronici scaturì in un progetto ambizioso: la
creazione di un modello del sistema nervoso. A capo di questo
progetto si impose Bernard Windrow della Stanford University.
Nel modello i neuroni formali (piccoli automi riceventi segnali da
altri automi mediante sinapsi) simulavano i processi dei neuroni
della corteccia cerebrale. Essi venivano realizzati tramite automi
elementari collegati tra loro mediante sinapsi formali (collegamenti
tra automi, identificati da un parametro, il peso sinaptico che
modula la trasmissione) che permettevano il passaggio di un
segnale più o meno intenso.
Simulando il processo di apprendimento, le connessioni erano
capaci di modificarsi dinamicamente.
Attraverso l’osservazione di questo fenomeno si cercava la chiave
interpretativa dei processi cognitivi (linguaggio, memoria,
ragionamento). Una nuova realtà si affacciò sul finire degli anni
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 8
ottanta: il modello informatico per raggiungere risultati apprezzabili
doveva distaccarsi sempre più dalla realtà biologica.
I riferimenti col passare degli anni diventarono sempre più una
semplice immagine metaforica. Le reti neurali fanno ormai parte
dell’IA, distaccandosi dalle neurobiologia. Applicazioni delle reti
neurali si possono trovare nella percezione visiva o uditiva di vari
macchinari.
Allo stato attuale molti sforzi vengono fatti nel campo della
progettazione di elaboratori a reti neurali, ma i neuroni simulati
sono da 100 a 1000, con interconnessioni possibili tra di essi,
dell’ordine dalle migliaia ai milioni, molto poche se paragonate al
cervello umano, nel quale vi sono miliardi di neuroni per migliaia
di miliardi di connessioni.
CAPITOLO SECONDO
SISTEMI DI INTELLIGENZA ARTIFICIALE
2.1 Premessa
Agli inizi il settore dell’IA ha deluso, in quanto i problemi da
affrontare sono risultati più difficili del previsto mentre, negli ultimi
anni, si è evoluto e potenziato ed ha trovato applicazioni in vari
settori, come la produzione industriale, i prodotti di consumo, la
finanza, la gestione e la medicina.
L’IA viene vista come alternativa alle metodologie tradizionali per
la sua maggiore flessibilità nell’elaborazione dei parametri; il suo
sviluppo è segnato anche dalla disciplina legata al concetto di robot,
inteso come sistema capace di interagire con il mondo.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 9
L’Italia è uno dei paesi più all’avanguardia in questo settore; esiste
infatti una associazione che raccoglie ricercatori provenienti dalle
varie istituzioni.
L’IA inoltre, è legata ad altri settori e precisamente:
- ai sistemi esperti
- alle reti neurali
- agli algoritmi genetici ed alle tecniche fuzzy
2.2 I Sistemi Esperti: cosa sono e come funzionano
Un sistema esperto è un sistema che si presta a trattare problemi
strutturalmente molto complessi, anche con dati viziati da un certo
margine di incertezza o incompleti.Vengono utilizzati proprio nelle
aree in cui le attività sono semi-strutturate o non completamente
formalizzate,mentre nelle aree in cui la conoscenza relativa a un
determinato dominio (campo di applicazione) è già strutturata,
solitamente esistono dei pacchetti software che automatizzano quel
tipo di procedure. Esso non è altro che un sofisticato programma
per computer progettato per fornire sia la conoscenza che il modo di
ragionare degli esperti umani in un dato campo.Il sistema esperto
sfrutta l’insieme delle tecniche e delle metodologie utilizzate per
risolvere il problema di come rappresentare le conoscenze umane in
un dato settore applicativo, in forma adatta per essere elaborata
automaticamente da un calcolatore, simulando il comportamento
intelligente di un esperto umano.
I sistemi esperti contengono una expertise, cioè una conoscenza e
una strategia di utilizzo di tale conoscenza per risolvere il problema
dell’utente.La conoscenza viene inserita da un esperto umano.In
linea generale un sistema esperto non impara da solo, ma si limita
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 10
ad immagazzinare ed utilizzare una conoscenza inserita a mano.
Questa viene memorizzata nella base di conoscenza, che è una
particolare struttura di dati, atta a contenere le conoscenze espresse
in un particolare linguaggio.
Lo scopo di un sistema esperto è quello di fornire all’utente un certo
risultato, vale a dire la soluzione di un determinato problema.Tale
risultato viene ottenuto attraverso una ricerca euristica (metodo di
ricerca della verità basato sulla documentazione dei fatti). La
ricerca euristica,in contrapposizione a quella algoritmica, consiste
nel trovare una soluzione ipotizzando tutte le possibili soluzioni
verosimili e cercando di verificarle attraverso una documentazione
di cause e fonti. I metodi algoritmici sono più sicuri, in quanto
effettuano una ricerca esaustiva senza venire influenzati da
informazioni fuorvianti.
Un sistema esperto si definisce trasparente quando gli utenti
possono vedere il suo funzionamento e si capisce perché ha
prodotto un certo risultato.Agli occhi dell’utente finale un sistema
esperto appare come un programma che dialoga, nel caso in cui il
dialogo sia solo con l’utente si parla di sistema esperto consultativo,
nel caso in cui dialoghi con un programma si parla di sistema
embedded, nel caso in cui dialoghi sia con programmi che con
utenti si parla di sistema ibrido. La cosa che caratterizza un sistema
esperto è il fatto che l’ordine con cui vengono poste le domande
non è predeterminato, ma, di volta in volta, la domanda successiva
dipende dalle risposte precedenti.
Una base di conoscenza contiene generalmente pochi dati ma molto
intercorrelati. In alcuni casi i collegamenti possono assumere la
forma di correlazioni , ossia di reti semantiche (strutture di dati) ;
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 11
ma quasi tutti i sistemi esperti sono basati su regole. A differenza di
un programma tradizionale che è definito passo passo in modo
deterministico e la sua abilità risiede nei codici, nei sistemi esperti
invece l’esperienza non è espressa con dei codici ma memorizzata
in forma simbolica nella base di conoscenza, una struttura di dati
facilmente dominabile e modificabile. La conoscenza dell’esperto
viene, in pratica, riformulata come una serie di regole. Facciamo
adesso un esempio per rendere l’idea di come funzioni un sistema
di questo tipo. In un sistema medico molto semplice, per esempio la
regola potrebbe essere: se il paziente ha mal di gola e starnutisce,
allora ha il raffreddore. I sistemi basati su regole possono cercare
una combinazione tra le informazioni immesse dall’utente (mal di
gola) e le regole che contengono quel pezzetto di dati oppure può
chiedere informazioni per confermare o confutare un’ipotesi che
l’utente ha formulato, del tipo: penso che il paziente abbia il
raffreddore.
I sistemi esperti sono il frutto degli studi dell’IA ed in molte aree
raggiungono un livello di prestazioni uguale a quello degli esperti
umani. Questi sistemi, modellati per clonare gli esperti umani e
poter quindi aiutare gli utenti finali in tutte quelle attività che
richiedono la capacità di giudizio e l’esperienza di un esperto,
fanno uso di tecniche sofisticate e di vaste fonti di conoscenza. I
sistemi esperti infatti hanno introdotto quello che potremmo
chiamare il principio della conoscenza secondo cui alla conoscenza
specifica va associata un’intelligenza altrettanto specifica; esso è
costituito da:
- conoscenza superficiale o compilata, che consiste nella ricerca di
una soluzione specifica ad ogni specifico problema;
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 12
- conoscenza profonda, costituita dai principi primi, cioè dai
modelli strutturali, comportamentali e dalle leggi fondamentali della
natura.
Un sistema esperto basato solo sulla conoscenza superficiale
tenderebbe a dare spiegazioni troppo superficiali e ciò che è peggio
non sarebbe in grado di far fronte a situazioni nuove.
Le facoltà della ragione, che le persone usano regolarmente e con
facilità, comporta però una enorme quantità di informazioni e la
loro correlazione, nonché una notevole dose di buon senso. Per
dotare un computer di questa facoltà, tutti i dati devono essere
strutturati e immagazzinati nella sua memoria in modo da poterli
manipolare rapidamente per ottenere deduzioni valide o risposte a
domande specifiche. Uno dei metodi di memorizzazione più
efficienti è proprio la rete semantica, cioè una struttura di dati
formata da:
- nodi, che rappresentano oggetti-concetti e che, nel computer,
corrispondono a registri o ad allocazioni di memoria;
- anelli, che servono da connettori tra i nodi e che, nel computer,
corrispondono a puntatori, cioè codici di indirizzo che trasmettono
il programma a quelle allocazioni di memoria.
Le reti semantiche possono essere:
- rigorosamente gerarchiche, dove le informazioni riguardanti una
super categoria (ad esempio quella animale) vengono messe a
disposizione di sotto-categorie sempre più specifiche (ad esempio
uccello ed anatra), mediante anelli i quali permettono ai nodi
inferiori di ereditare le proprietà descrittive dei nodi superiori
imparentati. Percorrendo il sentiero in salita, un programma può
dedurre che un anatra è un animale;
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 13
- meno rigorosamente gerarchiche, che utilizzano un certo numero
di anelli per collegare oggetti oppure concetti l’uno all’altro ed
anche a varie caratteristiche.
Il meccanismo ereditario descritto, determina la potenza delle reti
semantiche e inoltre permette un risparmio di spazio di memoria
occupata e rende possibile una forma di ragionamento deduttivo. Il
problema che ancora impegna i ricercatori è come le reti possano
manipolare le eccezioni alle regole.
Un sistema esperto non da sempre dei vantaggi all’impresa che lo
utilizza che si tramuta poi in un valore aggiunto per la stessa, non è
sempre così.
Infatti prima di adottare un sistema esperto bisogna valutare due
punti fondamentali:
- esaminare nuove tecniche di ricerca e capire come possono essere
applicate alle problematiche commerciali;
- addestrare lo staff aziendale sulle tecnologie dei sistemi esperti.
Un sistema esperto può definirsi realizzato con successo e, quindi,
risultare effettivamente utile, solo se utilizzato per risolvere
problemi giornalieri, riducendo così i costi ed il dispendio
energetico.
In generale l’architettura di un sistema esperto è formata da quattro
elementi:
- la base della conoscenza
- i fatti noti
- il motore inferenziale
- l’interfaccia utente
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 14
Fig.1 – Architettura di un sistema esperto
La base di conoscenza contiene l’esperienza del sistema esperto; è
un’area di memoria in cui sono immagazzinate le frasi che
costituiscono la conoscenza del campo di applicazione. Il motore
inferenziale è un algoritmo che scandisce in ordine opportuno la
base di conoscenza al fine di reperire documentazione, selezionare
ipotesi e costruire la soluzione del problema. La selezione di una
regola dalla base avviene in seguito ad una analisi dei fatti noti e a
un colloquio con l’utente. In sostanza il motore inferenziale è quella
parte di programma che, utilizzando l’esperienza contenuta nella
base di conoscenza, effettua delle riduzioni e rende possibile un
colloquio senz’altro pertinente. Ciò significa che le domande
vengono poste all’utente solo se correlate ai fatti che fino a quel
momento sono noti.Per riempire una base di conoscenza infatti è
sufficiente inserire regole sparse, preoccupandosi solo del fatto che
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 15
abbiano un senso compiuto di per se e un significato nell’ambito del
programma in questione. Il motore inferenziale , scandendo in
modo opportuno tale base, darà all’utente l’impressione di dialogare
con un sistema estremamente ordinato, in cui si segue un filo
logico e ogni domanda è pertinente. In un sistema così fatto è
possibile modificare una regola o aggiungerne altre senza dover
conoscere le restanti, poiché le regole sono indipendenti l’una
dall’altra e questo è un enorme vantaggio, soprattutto quando il
numero di regole è elevato.
L’interazione tra l’utente e il sistema esperto avviene tramite un
dialogo. Tale dialogo viene reso possibile con l’impiego di display
grafici che sono in grado di mostrare immagini di varia natura,
grafica sonora o linguaggio naturale. Il sistema consente all’utente
di chiedere il “perché” dei quesiti che gli vengono proposti al
terminale ed , a conclusione della sessione di lavoro, “come” questa
è stata ricavata da parte del sistema. Deve inoltre prevedere le
funzioni di salvataggio, stampa ecc…
Nell’ambito di tali sistemi la shell viene utilizzata per indicare il
rivestimento della base di conoscenza, cioè tutto ciò che si trova tra
quest’ultima e l’utente. La shell quindi è quella componente del
sistema esperto priva di conoscenza, perché ha una conoscenza
vuota. Essa è il programma privo di dati, e di conseguenza non
eseguibile. La shell è uno strumento molto appetibile
commercialmente perché mette in grado un utente di costruirsi il
proprio sistema esperto con pochissimo sforzo. La maggior parte
delle shell in commercio è corredata di strumenti ausiliari,
compilatori interfacce, atti a tradurre le regole in un formato
interno, al fine di facilitare lo sviluppo e la manutenzione delle basi
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 16
di conoscenza , definendo un linguaggio di sviluppo che permette di
esprimere le regole in maniera facilmente comprensibile e offra
all’utente dei comandi per la gestione della base di conoscenza.
Nonostante l’esistenza di questi strumenti, lo sviluppo di una base
di conoscenza rimane sempre il punto critico per la buona riuscita
del sistema esperto.
Non bisogna comunque perdere di vista, nonostante i suoi successi,
i limiti di un sistema esperto; essendo infatti il fondamento su cui
esso si basa una conoscenza fornitagli dall’uomo, tutto ciò che può
fare, può essere fatto da un uomo, anche se è instancabile e sempre
disposto a dare spiegazioni.
2.3 Le reti neurali
Come dice il nome, una rete neurale artificiale è uno strumento
informatico che imita il funzionamento di un cervello biologico nel
memorizzare e nell’utilizzare le informazioni ricevute. Così come il
cervello in natura memorizza le informazioni in modo distribuito, in
una rete composta da innumerevoli neuroni connessi tra di loro da
sinapsi più o meno dotate di conduttività elettrica, una rete neurale
artificiale è costituita da tante unità elaborative che, a differenza di
quanto avviene nei programmi software tradizionali, agiscono in
parallelo e non in serie, collegate l’una all’altra da connessioni. Tali
connessioni sono caratterizzate da un valore, il cosiddetto peso, che
definisce la forza, l’importanza da attribuire al collegamento stesso.
Da un punto di vista “fisico” la rete neurale artificiale è un
programma software di dimensioni estremamente ridotte, un
insieme di formule (le unità elaborative o “neuroni”) e variabili (i
pesi delle connessioni) che può essere scritto utilizzando un
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 17
qualsiasi linguaggio di programmazione. Le reti neurali sono quindi
costituite da software in grado di produrre esempi di comportamenti
mantenuti in passato dalle variabili indagate. Per questo si dice che
“imparano” dagli esempi che vengono loro forniti.
Uno degli aspetti importanti riguarda il trattamento delle eccezioni.
Infatti, nel momento in cui impara dagli esempi, la rete deve poter
essere in grado di riconoscere le eccezioni e non farsi influenzare da
queste per definire un comportamento che abbia, invece, validità
più generale.
Tra le caratteristiche delle reti neurali rientra l’aspetto relativo alla
loro adattabilità e flessibilità nei confronti dell’analisi di situazioni
complesse o di difficile interpretazione. Con la tecnica delle reti
neurali si sta tentando infatti di automatizzare quei domini di
difficile comprensione per l’esperto. Le reti neurali infatti vengono
adottate laddove lo stesso esperto non riesce ad individuare le
regole che collegano gli input con gli output.
Si comportano come un sistema esperto che modifica in
continuazione le regole sulla base delle quali vengono prese le
decisioni, in relazione alle variazioni che si verificano nel contesto
ambientale in cui esse vengono inserite.
Le condizioni adatte all’applicabilità delle reti neurali sono:
- grande numero di variabili che devono essere tenute in
considerazione contemporaneamente;
- non è chiaramente definita la struttura delle relazioni del modello
sottostante il dominio;
- le variabili o il modello non sono stabili nel tempo a causa di
mutamenti nell’ambiente;
- i costi associati a previsioni errate sono alti.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 18
Fig.2 – Le tecnologie adottabili in relazione al grado di strutturazione del
problema
Da questo punto di vista, esse sono come “scatole nere” e non
forniscono alcuna trasparenza del ragionamento seguito per arrivare
alla risposta finale. È proprio per tale motivo che le aspettative
future riguardano la possibilità di integrare i sistemi basati sulla
conoscenza (sistemi esperti) con le reti neurali.
Dal punto di vista concettuale le aree di lavoro sulle quali la ricerca
sta attualmente procedendo sono due:
- nella prima di queste aree si stanno tentando di sviluppare dei
processi elaborativi che permettano di documentare, e soprattutto di
creare, la conoscenza presente nell’ambito di un certo dominio. In
tale contesto, per risolvere un dato problema, prima viene utilizzata
la rete neurale e successivamente il sistema esperto. In questo senso
si verifica quasi una forma di concorrenzialità tra le due tecnologie;
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 19
Fig.3 – I due approcci, reti neurali e sistemi esperti, utilizzati in
modo alternativo
- nella seconda area, invece, si parla di integrazione vera e propria
tra la tecnologia dei sistemi esperti e quella delle reti neurali
soprattutto nel campo delle previsioni finanziarie. È evidente che in
tale contesto le reti neurali vengono impiegate come operatori
statistici (in modo più flessibile e con un più facile approccio). La
soluzione del problema richiede l’impiego prima delle rete neurale
e successivamente del sistema esperto.
2.3.1 Il funzionamento
Una rete neurale raccoglie diversi input , li mette in connessione tra
loro, li “pesa” in base alla loro importanza, e infine ne crea una
specie di media ponderata che costituisce l’output della rete, cioè
l’esito previsto per il fenomeno studiato. Come si può intuire, una
scelta ottimale degli input con cui alimentare la rete (cioè le
variabili che si ritiene determinino il fenomeno studiato) è
essenziale per un funzionamento soddisfacente della rete creata. In
pratica gli scienziati hanno pensato di assimilare questo fenomeno
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 20
ad una somma dei segnali di ingresso. Se questa somma supera un
certo livello viene emesso un segnale.
In effetti ogni segnale in ingresso ha un peso diverso e quindi una
influenza diversa sul risultato della somma. Cambiando i pesi si
possono quindi cambiare i modi di funzionare dei neuroni. Il
problema è però nel come può avvenire un cambiamento
automatico dei pesi affinché possiamo ottenere la funzione voluta.
Nel caso di un semplice neurone questo risultato è stato ottenuto
negli anni sessanta dal Minsky. Il metodo utilizzato prevede di
confrontare il risultato sbagliato con quello corretto e modifica i
pesi in funzione dell’errore effettuato dal neurone. Per arrivare però
a realizzare funzioni utili occorre mettere più neuroni in cascata uno
dietro l’altro. Si vedrà che bastano due strati per ottenere una
qualsiasi funzione. Il problema di ottenere un cambiamento
automatico dei pesi in una rete a due strati è stato risolto nel 1984
da Rummelhart e McLelland con un algoritmo di back propagation.
In questo algoritmo l’errore compiuto dagli strati finali della rete di
neuroni viene usato come mezzo per cambiare i pesi dei neuroni
finali ma anche, sommato a tutti gli errori provocati su altri neuroni
finali, per cambiare i pesi dei neuroni intermedi. In pratica in questo
modo è possibile far imparare in automatico a una rete neurale una
qualsiasi funzione.
Fig.4 – Struttura di una rete neurale
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 21
Quello che sembra l’utilizzo più proficuo di una rete neurale è
quello dell’acquisizione automatica della conoscenza da un sistema
complesso superando i limiti dei sistemi esperti.
2.3.2 L’apprendimento
Una rete neurale artificiale è progettata in modo tale da essere in
grado di apprendere le caratteristiche del fenomeno sottopostole, e
tale apprendimento avviene mediante la modifica dei pesi attribuiti
alle connessioni (i pesi prima dell’apprendimento vengono
inizializzati con valori casuali compresi solitamente tra zero e uno).
Secondo Gardin la chiave di volta dell’approccio neuronale è
costituito dalla realizzazione di algoritmi generali di
apprendimento, i quali a partire da correlazioni sperimentali, dati-
soluzioni, sintetizzano automaticamente la corrispondente funzione-
soluzione. Sebbene vi sia una grande varietà di modelli neuronali,
una classe interessante è rappresentata da quelli che sono
programmati attraverso un ciclo di insegnamento basato su esempi,
dove un esempio è l’associazione tra i dati che descrivono il
problema e la soluzione corrispondente. In questo modo non è
richiesta la programmazione in senso tradizionale in quanto la rete
modifica i propri parametri in modo automatico e sarà così in grado
di trovare la soluzione anche partendo da nuove classi di dati.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 22
Fig.5 – Reti neurali di apprendimento
Facciamo adesso un esempio per chiarire meglio il concetto
prendendo in esame il funzionamento di uno degli algoritmi più
utilizzati il Back Popagation. Una rete durante l’apprendimento si
autocorregge sulla base della differenza realizzatasi tra quanto
riteneva dovesse accadere e quanto in realtà è avvenuto in
manifestazioni passate del fenomeno studiato.Una rete utilizzata per
prevedere l’andamento della borsa valori svolge il suo
apprendimento esaminando l’andamento passato della borsa in
corrispondenza di determinati valori realizzatisi per gli input (ad
esempio il costo del lavoro, la quantità di moneta, il PIL ecc…); in
pratica la rete prende i valori assunti dagli input in un certo periodo
e calcola l’esito corrispondente, cioè quale dovrebbe essere secondo
lei il valore raggiunto dall’indice di borsa dati quegli input. Dato
che si tratta di valori riferiti al passato, sappiamo anche dire alla
rete l’esito corretto che poi si è verificato, cioè come in effetti è
andata la borsa in realtà. A questo punto la rete confronta la sua
“opinione” con l’esito corretto, e calcola l’errore che ha
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 23
compiuto.Utilizzando l’algoritmo di apprendimento la rete modifica
i propri pesi in modo tale che, in futuro, qualora le venissero
sottoposti gli stessi valori per gli input, l’errore da essa compiuto
risulterebbe più contenuto. In questo modo la rete neurale mette in
atto un assorbimento graduale delle regole che legano l’input
all’output, per arrivare a fine apprendimento, a errori molto ridotti
per ogni manifestazione del fenomeno studiato.Per “istruire”
adeguatamente la rete è indispensabile un insieme di esempi che
descriva in modo completo (come un nutrito campione statistico) il
comportamento del fenomeno stesso. Nel nostro caso , ad esempio,
il set di dati utilizzati nell’apprendimento deve contenere esempi
relativi a tutti i movimenti possibili dell’indice di borsa, e cioè a
periodi di rialzo, di ribasso, di stagnazione ecc…Al termine
dell’apprendimento i pesi della rete dovrebbero essere “tarati” in
modo tale da permettere alla rete stessa di fornire l’esito corretto
per ogni manifestazione del fenomeno.
2.3.3 I punti di forza
L’innovazione introdotta dalle reti neurali rispetto all’informatica
tradizionale e rispetto anche a strumenti derivati dalle generazioni
passate dell’intelligenza artificiale come i sistemi esperti, consiste
nel fatto che si tratta dei primi strumenti informatici adattivi , nel
senso che tendono a “modellarsi”sul fenomeno studiato; il loro
obiettivo è ridurre al minimo possibile l’incertezza della variabile
analizzata cercando di intuire l’andamento del maggior numero
possibile di componenti della stessa. Il risultato fornito non
pretende di essere corretto al 100%, ma garantisce che l’errore
associato al valore ottenuto è quello minimo possibile.In più un
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 24
programma basato su reti neurali non si blocca di fronte ad un
errore, ma anzi utilizza l’errore per migliorare le sue prestazioni. In
definitiva si tratta del migliore approccio per affrontare problemi di
“ottimizzazione dell’approssimazione” come l’interpretazione dei
comandi vocali, interpretazione della scrittura o le previsioni nei più
svariati campi (meteorologia, economia …).
2.4 Algoritmi genetici e tecniche Fuzzy
Negli anni più recenti, l’interesse si è focalizzato anche nei
confronti di nuovi approcci, che ad esempio, oltre alle reti neurali
artificiali comprendono il ragionamento basato su casi, gli algoritmi
genetici e i sistemi di fuzzy logic.
L’attenzione è quindi andata gradualmente spostandosi da una
tecnologia, che richiede la presenza di un esperto che esprima in
modo chiaro e formalizzato la conoscenza su un determinato
dominio (sistemi esperti), ad un’altra, all’interno della quale
l’accento è posto sulle tecniche di “creazione” o di “estrazione”
della conoscenza partendo dai dati storici. Nel mondo
dell’informatica questa attività di ricerca è denominata data mining.
Questa ricerca si propone l’obiettivo di utilizzare ambienti di
calcolo di tipo parallelo e ad elevate prestazioni per applicare
tecniche di data mining per l’estrazione di correlazioni tra dati di
tipo economico e finanziario a partire da dati “grezzi” costituiti da
serie storiche di andamenti di indici, valori di titoli e così via, e per
sviluppare modelli di analisi e predizione economica e finanziaria.
La tecnica degli algoritmi genetici può essere utilizzata per la
ricerca di soluzioni a problemi di ottimizzazione, di riconoscimento
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 25
di forme, di classificazione, adottando metodologie che imitano il
processo di evoluzione e selezione naturale caratteristico degli
organismi viventi. John Holland, nel 1975, pensò di incorporare le
strutture di questi processi in algoritmi matematici. Ogni organismo
vivente è composto da “mattoni” elementari che a loro volta
possiedono piccolissimi frammenti, i cromosomi, che contengono,
codificate, le informazioni necessarie per la costruzione di ogni
parte dell’organismo stesso. Si può pertanto affermare che ogni
essere vivente è parzialmente creato mediante un processo di
decodifica dei cromosomi.
L’idea di Holland si basò pertanto sull’opportunità di utilizzare
programmi su computer per risolvere problemi molto complessi,
attraverso processi evolutivi come si verifica in natura. La teoria di
Holland si fonda quindi sui seguenti presupposti:
- il riferimento fondamentale della selezione naturale è il fenomeno
che consente, come avviene in natura, agli algoritmi genetici di
creare una popolazione di cromosomi sempre migliori,
manipolando quelli della generazione precedente;
- gli algoritmi non conoscono nessuna caratteristica del problema
finale che devono risolvere;
- l’unica informazione importante è la valutazione della bontà di
ogni cromosoma della popolazione. Gli algoritmi genetici utilizzano
questa valutazione per far riprodurre i cromosomi che hanno
ottenuto le migliori valutazioni e per eliminare quelli che invece
presentano le valutazioni più basse. La bontà di un cromosoma, in
natura, dipende dall’interazione che l’essere ha con l’ambiente
circostante: se tale interazione è positiva, tenderà a riprodursi con
più probabilità di un altro essere in difficoltà. I cromosomi più
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 26
validi sono così in grado di riprodursi più spesso e tramanderanno il
loro “buon” patrimonio genetico ai rispettivi figli, di generazione in
generazione. Secondo questa prospettiva, più l’evoluzione continua,
migliore diventa il livello di bontà dell’intera popolazione. Si può
per questo affermare che gli algoritmi genetici sono dei semplici
manipolatori di cromosomi, in grado di generare popolazioni di
cromosomi migliori di quelle da cui provengono. In termini
informatici si tratta di sviluppare degli algoritmi capaci di
manipolare sequenze composte da 0 e 1. Con l’aiuto del computer si
crea una popolazione iniziale di cromosomi e, attraverso
meccanismi di riproduzione, si affrontano problemi molto
complessi.
Con questa tecnica si possono inventare situazioni nuove anche con
l’integrazione delle reti neurali purchè, la situazione nuova che si è
venuta a determinare, sia assimilabile a qualche cosa che la rete
neurale aveva già in precedenza riconosciuto ed imparato.
Proseguendo quindi nell’analisi, per operare con gli algoritmi
genetici è necessario effettuare due operazioni preliminari. Prima di
tutto si deve rappresentare la soluzione del problema mediante una
sequenza codificata di dati , in secondo luogo si costruisce una
funzione di valutazione in grado di misurare il livello di
corrispondenza tra le sequenze codificate dei dati e la soluzione del
problema. Su ogni cromosoma di questa popolazione agiscono
successivamente tre operatori che sono in grado di modificare, sulla
base di regole prestabilite, il valore di ogni singolo elemento, per
ottenere alla fine una popolazione di elementi completamente
rinnovati che sono mediamente un po’ più vicini all’obiettivo da
raggiungere, rispetto all’obiettivo raggiunto dai predecessori.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 27
Quanto descritto viene definito processo di generazione di una
nuova popolazione e viene ripetuto numerose volte, finché i risultati
non sono coincidenti con l’obiettivo da raggiungere.
I sistemi di fuzzy logic o logica sfumata sono nati invece con lo
scopo di consentire l’adozione, nell’ambito dei processi decisionali,
di meccanismi in grado di gestire informazioni caratterizzate da un
basso grado di precisione. Ne consegue pertanto che non può essere
un algoritmo, né una categoria di algoritmi. La funzione principale
è di facilitare la definizione degli ambiti in cui si svolgono processi
decisionali, soprattutto nella fase di interazione del programma col
mondo esterno. Per questo la logica sfumata è spesso considerata
come strumento flessibile attraverso il quale un sistema può
ricevere allo stesso tempo istruzioni e dare spiegazioni all’utente
sulle azioni intraprese.
Gli esseri umani ragionano anche sulla base di concetti imprecisi
come, ad esempio, “abbastanza piccolo”, “piuttosto grande” ecc…Il
sistema fuzzy rappresenta un tentativo per fare in modo che anche
gli elaboratori elettronici possano operare giustificando le proprie
azioni in modo altrettanto flessibile.
La tradizionale logica booeleana non consente l’appartenenza non
totale a un determinato insieme,mentre la logica sfumata permette
un’appartenenza parziale, consentendo la definizione di
“ragionamenti” automatizzati più raffinati rispetto a prima. Essa
utilizza insiemi caratterizzati da confini flessibili, mentre la logica
convenzionale è basata su insiemi che hanno confini rigidi. Processi
decisionali che utilizzano quest’ultimo tipo di confini di definizione
dell’insieme (o soglie di appartenenza) devono essere in grado di
gestire rapidi cambiamenti di stato, nel momento in cui cambia il
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 28
valore di un dato che si trova vicino alla soglia. Tale modo di
procedere tuttavia potrebbe rivelarsi non corretto se si devono
realizzare modelli rappresentativi del mondo reale. Per mezzo
dell’applicazione della logica sfumata viene eliminato il concetto di
soglia rigida, per favorire l’utilizzo delle cosiddette funzioni di
appartenenza.
Queste funzioni specificano il grado di appartenenza a un insieme
sfumato, restituendo un valore che può variare da 0 a 1, dove 0
indica un appartenenza nulla, 1 un’appartenenza totale.
Sono comunque presenti numerosi problemi ancora da superare
come, ad esempio, il processo di definizione delle funzioni di
appartenenza.Tale processo, infatti, nella pratica si manifesta
eccessivamente lento e quindi dispendioso in termini di tempo
necessario per la sua messa a punto.
CAPITOLO TERZO
LE APPLICAZIONI DELL'INTELLIGENZA ARTIFICIALE
3.1 I diversi campi di applicazione
L'intelligenza artificiale, come definita nel primo capitolo, ha la
capacità di aumentare la possibilità di utilizzo degli elaboratori a
supporto della ricerca di soluzioni a problemi non strutturati o
troppo complessi per altri metodi. Quindi è ben comprensibile come
possa essere di valido aiuto in tutti quei casi in cui l'esperienza del
passato è l'elemento determinate per arrivare ad una corretta
soluzione .
L'intelligenza artificiale trova applicazioni nei seguenti campi:
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 29
- medico;
- economico-aziendale;
- giuridico;
- e in tutti quei casi nei quali necessita fare delle previsioni.
Ad esempio le reti neurali applicate in campo medico possono
servire a prevedere i risultati sulla base di un trattamento
farmacologico, in borsa trovano larga applicazione proprio perché
le variabili in gioco e gli imprevisti nel mondo della finanza sono
moltissimi, ma attraverso l'analisi operata dalle reti neurali è
possibile tentare di prevedere l'andamento dei titoli con un ridotto
margine di errore. Il marketing può trarre vantaggio da una
classificazione del profilo dei clienti operata sulla base di un
sistema di reti neurali: conoscere il cliente, fidelizzarlo e
consolidare le relazioni nell'arco del suo ciclo di vita. Può essere
utilizzata per selezionare personale dipendente attraverso la
determinazione di un profilo ideale. Anche le frodi bancarie
possono essere ridotte se gli agenti neurali gestiscono i sistemi delle
banche. Esistono software in grado di riconoscere gli assegni falsi e
di intervenire bloccando i versamenti.
3.1.1 Esempi di applicazioni
In materia giuridica un applicazione pratica è quella attuata dalla
corte di Appello di Roma che ha adottato una sistema esperto
chiamato S.E.L. progettato con l'obiettivo di rendere più rapide
alcune fasi del processo. E' un prototipo di sistema esperto per
l'automazione del processo civile, un sistema in grado di fornire
consulenza al giudice al fine di stabilire la correttezza formale e
sostanziale della fase preliminare del processo. Il sistema è stato
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 30
sviluppato in PROLOG - Programmazione Logica - lavora su
cinquanta articoli del Codice di procedura civile ed è capace di
dedurre se questi articoli sono stati applicati nel modo corretto.
Normalmente il giudice al momento della stesura della sentenza
deve verificare la sussistenza di alcuni requisiti previsti dal Codice
per la validità degli atti, deve controllare la ritualità della notifica
dell'atto di citazione, il rispetto dei termini a comparire; queste ed
altre incombenze comportano una enorme perdita di tempo. Con il
S.E.L. vengono immediatamente rilevate le irregolarità formali
contenute nell'atto introduttivo del giudizio e le eventuali altre
violazioni agli articoli del codice costituente la base di conoscenza
del sistema.
Il "Mycin", un sistema esperto realizzato negli anni '80
nell'università di Stanford, assiste il medico nelle decisioni
riguardanti la scelta della terapia appropriata nella cura delle
malattie infettive che richiedono l'impiego di una terapia con
antibiotici. La base di conoscenza del Mycin è formata da
cinquecento regole di produzione dotate di fattore di certezza. Il
motore inferenziale è di tipo backward chaining ed ha capacità di
ragionamento approssimato. Un altro esempio in campo medico fu
il progetto "Lives", che venne usato per individuare la diagnosi, la
prognosi e le terapie.
Sempre negli anni '80 venne realizzato il "Maintex", un sistema
esperto in grado di prevedere il verificarsi di guasti negli impianti e
nei macchinari industriali complessi. Rappresentò, per quei tempi,
uno strumento innovativo che oltre a ridurre i costi di
manutenzione, incrementava in modo significativo l'efficienza e la
qualità di funzionamento dei processi produttivi, migliorando la
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 31
bontà del prodotto finale, salvaguardando ed accrescendo nel tempo
l'esperienza ed il know-how tecnologico specifico dell'azienda.
Sempre di quegli anni è l'adozione da parte delle Ferrovie dello
Stato di un sistema esperto con lo scopo di regolare la marcia dei
treni.
Il "Prospector", invece, assiste il geologo nel valutare la
potenzialità di un'area quale possibile sede di un giacimento
minerario. L'aspetto più spettacolare è costituito dalle capacità
grafiche che giungono al punto di fornire la mappa geografica della
più probabile dislocazione di nuovi filoni. La base di conoscenza è
composta da una rete inferenziale, la cui struttura non differisce
molto dalle regole di produzione; è inoltre corredata da una
descrizione tassonomica dei dati. E' il sistema esperto che ha dato
finora i risultati più sensazionali, localizzando un giacimento di
molibdeno del valore di molti milioni di dollari, di cui i geologi non
sospettavano nemmeno l'esistenza.
La "Synaptics", società di ricerca e produzione di reti neurali, ha
creato un sistema per il riconoscimento della scrittura cinese, che
sarà presente sul mercato a giugno 2001, la peculiarità di questo
prodotto è la sua capacità di riconoscere i caratteri prima che siano
finiti.
In Inghilterra un singolare uso delle reti neurali è stato fatto da
Scotland Yard: ha raccolto in grandi database milioni di
informazioni sul crimine e con un sistema di intelligenza artificiale
è in grado di cercare informazioni fra diverse tipologie di crimine,
di identificare analogie nascoste e trovare crimini con uno stesso
mandante.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 32
Negli USA, in Giappone e in Gran Bretagna diversi sono i sistemi
basati su reti neurali regolarmente utilizzati, con successo per le
previsioni finanziarie (Prediction Company, USA), per la
classificazione della clientela delle banche (ADSS di Neuralwork,
USA), per il riconoscimento vocale (IBM), per il riconoscimento di
immagini (M.I.T. di Boston, USA), per la ripulitura dei segnali
nelle telecomunicazioni (AT&T), per il riconoscimento di scrittura,
per l'ottimizzazione della computer graphic, per le previsioni meteo,
per motori di ricerca in Internet e per le ricerche di dati in database
di notevoli dimensioni (Data Mining, data base marketing).
3.2 Le applicazioni in ambito aziendale
I problemi economico-finanziari hanno sempre rappresentato un
importante banco di prova per i sistemi informatici in quanto il
progetto e la risoluzione di modelli descrittivi e predittivi
risultavano estremamente complessi e difficilmente trattabili
attraverso i tradizionali approcci computazionali. La recente
diffusione di sistemi di intelligenza artificiale, l'estensione del loro
utilizzo da applicazioni di calcolo scientifico a domini applicativi
più generali, consente oggi di affrontare in maniera più appropriata
anche i problemi del settore economico-finanziaro ed aziendale in
genere. L'utilizzo di sistemi esperti, reti neurali e delle altre
tecniche di I.A. consente di passare ad un ulteriore stadio di
automazione di meccanismi operativi aziendali, finalizzati al
miglioramento della competitività aziendale che coinvolge i
processi decisionali, la qualità del lavoro, la cultura organizzativa e
altre variabili strutturali del sistema informativo. Le applicazioni
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 33
più frequenti riguardano la selezione del personale, le previsioni
finanziarie e le applicazioni di Marketing per il profiling.
3.2.1 Il Data Mining
Nell'ultimo decennio si è avuta una crescita delle capacità sia di
generare che di collezionare dati. I dispositivi di
immagazzinamento delle informazioni sempre più veloci, più
economici e di maggiori potenzialità, il miglioramento dei sistemi
di gestione di database (DBMS)e la tecnologia dei Data Warehouse,
hanno permesso di trasformare questa gran quantità di dati in
potenziali informazioni memorizzate nei database. La disponibilità
di tale quantità di dati ha fatto pensare alla possibilità di poter
effettuare delle analisi differenti da quelle tradizionali, che non
consentissero la semplice produzione di report informativi ma
l'individuazione e l'estrazione di conoscenze utili. Per tale scopo
sono necessari nuovi strumenti e tecniche capaci di supportare in
modo automatico ed intelligente la ricerca di informazioni
all'interno di questa enorme quantità di dati. Uno strumento adatto a
tale scopo è il Data Mining.
Per Data Mining (DM) si intende l'estrazione di informazioni
nascoste in grandi banche dati; costituisce una nuova tecnologia che
offre enormi potenzialità alle aziende. Gli strumenti di Data Mining
sono in grado di predire gli andamenti futuri e i comportamenti
fornendo ai decision makers aziendali informazioni utili a guidare il
processo decisionale. Il processo automatico di ricerca adottato
dalle metodologie di Data Mining va al di là dell'analisi di serie
storiche offerta dagli attuali strumenti di supporto alle decisioni. Le
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 34
banche dati vengono analizzate per la ricerca di informazioni che
gli esperti non sono in grado di individuare nell'enorme mole di dati
da elaborare.
Le tecniche di Data Mining possono essere implementate sulle
attuali piattaforme hardware e software esistenti e, inoltre, possono
essere integrate all'interno di nuovi prodotti e sistemi. Le predizioni
possono essere notevolmente migliorate se si dispone di grandi
database. Se implementati su sistemi client/server ad elevate
prestazioni o su sistemi paralleli, gli strumenti di Data Mining sono
in grado di analizzare enormi database aventi capacità di Gbytes o
di Tetrabytes.
Le tecniche di Data Mining sono il risultato di un lungo processo di
ricerca e sviluppo di metodi e prodotti. Questa evoluzione,
cominciata nel momento in cui fu possibile memorizzare i dati
aziendali nei computer, continua oggi, grazie alla progressiva
riduzione dei tempi di accesso ai dati e al notevole aumento delle
capacità di memorizzare dei supporti hardware. Solo recentemente,
però, sono apparse tecnologie in grado di navigare in tempo reale
nei dati aziendali. La diffusione del Data Mining nel mondo
commerciale e finanziario è oggi resa possibile grazie all'esistenza
di metodi e tecnologie in grado di: memorizzare enormi quantità di
dati e di accedervi velocemente; elaborare in parallelo; usare
sofisticati algoritmi per il Data Mining. Gli algoritmi per il Data
Mining si basano su tecniche apparse almeno una decina di anni fa
ma, solo recentemente, sono stati implementati metodi affidabili e
realmente utilizzabili anche da un utente finale esperto del settore
aziendale che si intende analizzare. Le prestazioni di tali algoritmi
sono in grado di superare quelle dei tradizionali metodi statistici.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 35
Generalmente per il Data Mining si utilizzano tecniche quali le reti
neurali e gli algortmi genetici.
3.2.1.1 L'attuale livello di diffusione e i futuri sviluppi
Da uno studio statistico svolto dall'"IDC" la diffusione di strumenti
di Data Mining risulta ancora contenuta in rapporto agli strumenti
di tipo On-line Analytic Processing (OLAP). Negli Stati Uniti solo
il 6.5% delle imprese utilizza applicazioni di Data Mining, mentre il
33% si serve di applicazioni OLAP. Ciò è fortemente influenzato
dalle dimensioni dell'azienda: le imprese più grandi sono quelle che
possono permettersi maggiori investimenti e che, avendo un
ambiente più complesso da gestire e una forte spinta alla
competitività, trovano negli strumenti di Data Mining un valido
supporto strategico. Ad ogni modo si registra un interesse crescente,
in particolare nei settori finanziari, mentre notevoli incrementi si
prevedono sia nel campo della grande distribuzione che in quello
delle telecomunicazioni e della produzione industriale.
In Europa si prevede che entro il 2002 il 16% delle imprese adotterà
applicazioni di Data Mining. In Italia si registra una crescita
nell'impiego di
DM contenuta rispetto agli altri paesi europei; ciò è dovuto sia alla
complessità di utilizzo degli strumenti, sia alla minore propensione
italiana agli investimenti nella ricerca. Solo le aziende più
competitive e attente al mercato si stanno orientando verso
l'adozione di queste tecniche di frontiera, strategiche per
l'incremento del proprio business.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 36
3.2.2 Previsioni finanziarie
Un interessante campo di ricerca e di sviluppo nella scienza che
studia le reti neurali, è quello delle applicazioni finanziarie, ed in
particolar modo la costruzione di sistemi di previsione
sull'andamento futuro di strumenti finanziari quali azioni, tassi di
interesse, indice di borsa, valute.
Le reti neurali, a differenza dei precedenti sistemi previsionali
statistici, che si basavano su regole e su modelli finanziari definiti a
priori, modellano il sistema matematico che deve poi simulare
l'andamento del titolo in questione, trovando in modo quasi naturale
le connessioni e le correlazioni esistenti sull'insieme di dati del
passato, cioè analizzando serie storiche di dati relative ad alcune
variabili di cui si vuole cercare la collaborazione. Queste relazioni
esistenti sui dati del passato, confrontate con il comportamento
successivo del titolo, vengono trovate attraverso un processo
matematico che lega tra loro l'importanza e l'influenza di ciascuna
variabile al fine di generare una previsione finale la più corretta
possibile.
3.2.2.1 Applicazioni pratiche di sistemi previsionali
Borsaservice, una società italiana di consulenza con sede a Brescia,
utilizzando un sofisticato programma americano per la
realizzazione, il training e l'ottimizzazione di reti neurali ha creato
dei sistemi previsionali che riguardano i seguenti strumenti:
- indice Comit, Cac 40;
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 37
- future Btp, Bund e Fib 30;
- blue-chips del mercato italiano;
- valute (eurodollaro e dollaro/yen).
Ogni sistema di previsione è realizzato da quattro reti neurali che
agiscono contemporaneamente con diversi tempi di previsione
(3,5,8,13 e 21 giorni lavorativi) e gli output delle reti vengono
opportunamente mediati al fine di realizzare una previsione
consecutiva per tutti i 21 giorni successivi. I dati utilizzati da queste
reti neurali riguardano, oltre l'andamento passato del titolo stesso e
di alcuni suoi indicatori, la dinamica dei tassi di interesse, a breve e
medio termine, il valore del dollaro contro il marco, l'andamento
del Btp etc… Questi sistemi lavorano su una serie (fino a 1000)
storica di insieme di dati, composti ognuno da circa 90-100 input
diversi per ogni giorno che descrivono l'andamento del titolo
studiato. Si tratta quindi di trovare la correlazione esistente nel
passato, tra decine di migliaia di dati. Ogni giorno che passa
subentrano nuove previsioni che si vanno a mediare con quelle
realizzate nei giorni precedenti, riaggiustando continuamente la
previsione con il passare dei giorni. Il risultato finale è quindi una
serie di valori futuri del titolo studiato, e relative percentuali di
variazione rispetto all'ultimo dato acquisito al fine di identificare il
trend, la sua ampiezza ed eventuali giorni di svolta (min/max). Di
fatto, individuando i presunti punti di min/max, si vanno ad
anticipare i segnali classici dell'analisi tecnica, che sopraggiungono
di solito a trend già avviato.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 38
Il sistema ovviamente non è perfetto. Durante la fase di
apprendimento, ad esempio, lo scopo è quello di realizzare un 80%
di previsioni corrette su un campione di eventi, con una tolleranza
massima di errore prefissata che si cerca di minimizzare, mentre il
sistema sta imparando e costruendo il modello matematico su un
secondo campione di eventi, molto più ampio, relativo
all'andamento passato del titolo. Una previsione viene considerata
corretta se si discosta dall'andamento reale successivo del titolo di
un errore inferiore alla tolleranza inizialmente fissata. Questo
significa quindi anche che, per ben generalizzare e prevedere
correttamente l'80% del campione, avremo una percentuale del 20%
circa di previsioni errate. Un modello matematico non può infatti
prevedere correttamente tutto il campione, in quanto quest'ultimo
conterrà una piccola parte di casi in cui il titolo ha avuto andamenti
eccezionali, dovuto a cause particolari, che è inutile cercare di
prevedere dall'andamento precedente del titolo perché non c'è
correlazione. La rete neurale, dopo aver imparato a generalizzare e
a prevedere in modo corretto, inizierebbe invece a memorizzare
questa casistica particolare, cioè ha memorizzare quanto già
successo anche per eventi eccezionali. Pertanto la fase di
apprendimento viene terminata nel punto in cui la previsione
corretta su un campione di eventi mai visti, è massima. La
tolleranza d'errore può anche essere del 4-5% su un titolo molto
volatile. Concludendo: se un sistema neurale prevede un forte rialzo
progressivo, ad esempio del 10%, pur sapendo che l'errore medio
delle previsioni è attorno al 3-4%, risulterà chiaramente probabile
che il titolo sviluppi effettivamente un movimento al rialzo (6-
14%). Inoltre in futuro, possono subentrare elementi nuovi e
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 39
sconosciuti in passato al sistema, per cui il modello matematico
costruito non è più adeguato per prevedere correttamente all'80%.
Comunque, ogni 30 giorni circa, per ogni titolo viene rieseguito il
training del sistema, comprendendo tutti i dati recenti acquisiti sul
titolo. Il sistema di norma interpreta correttamente l'andamento a
breve del titolo, ed aiuta moltissimo a ipotizzare la tenuta o meno di
supporto/resistenza del titolo in questione.
Il servizio operato da Borsaservice ha le caratteristiche di una
newsletter, ed offre un prodotto identico per forma e contenuto a
tutti gli abbonati escludendo qualsiasi forma di consulenza
personalizzata.
Ovviamente Borsaservice non è l'unica. Nel giugno del 2000 è stato
creato un sito Internet dedicato alla finanza: nf.finance.com
http://www.nfpoint.com/. Si occupa di fornire previsioni finanziarie
quotidianamente aggiornate attraverso l'uso di reti neurali
autogenerative con un algoritmo sviluppato dalla Neural Financial
Point. Ogni giorno il servizio propone la previsione di titoli, indici,
valute dei 5 giorni successivi del loro andamento sui mercati
finanziari.
Attualmente sembra che l'applicazione di reti neurali nel campo
delle previsioni finanziarie stia dando buoni risultati, dato che i
gestori dei più importanti fondi di investimento britannici
affermano che in un futuro non troppo lontano gli strumenti adattivi
per le previsioni finanziarie diventeranno dotazione d'obbligo per
tutti gli operatori professionali.
3.2.3 Selezione del personale
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 40
Un'ulteriore applicazione aziendalistica dell'intelligenza artificiale è
quella della selezione del personale: utilizzando strumenti che si
avvalgono di reti neurali è possibile determinare il profilo ideale di
chi dovrà assumere un determinato ruolo all'interno dell'azienda,
così da poter operare una selezione, la più corretta possibile.
Un'applicazione pratica è quella operata dal "SAM srl", società che
si occupa dell'applicazione di tecnologia informatica avanzata
nell'automazione dei processi e nel supporto alle decisione, con "N
Profile".
"N Profile" è un sistema neurale esperto per la valutazione delle
caratteristiche del lavoratore. Ha come obiettivo la valutazione delle
abilità sociali. E' costituito da un'architettura complessa di reti
neurali, alcune delle quali sono organizzate in modo sequenziale e
alcune in parallelo, si avvale della logica Fuzzy quale motore
inferenziale per produrre la narrativa e i valori dei parametri
lavorativi che si ricavano nel rapporto individuale. Le reti neurali
sono utilizzate nelle prime fasi di analisi delle risposte fornite dal
soggetto, in particolare è neurale la stima dell'accuratezza nella
risposta e la stima del livello di simulazione oltre che la sua
correzione.
In pratica "N Profile" è uno strumento in grado di fornire una
misura del livello dei parametri relativi all'area delle abilità sociali,
per ogni soggetto. Esprimendo in percentuale il rapporto tra livello
reale e profilo ideale relativamente ai parametri di ogni candidato,
si ottiene il grado di copertura al ruolo, per ogni collaboratore
rispetto alla mansione considerata. Tale gradi di copertura,
esprimendo la coincidenza tra le caratteristiche richieste per
ricoprire una data mansione e quelle possedute dai vari candidati,
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 41
consente di individuare il loro potenziale individuale rispetto alle
capacità e ai compiti che caratterizzano la mansione, fornendo così
il grado di idoneità di ogni candidato verso una data mansione.
3.2.3.1 I vantaggi
I vantaggi derivanti dall'utilizzo di tecniche di intelligenza
artificiale nella selezione del personale si possono dividere in due
tipi: vantaggi per l'azienda e vantaggi per il dipendente.
I principali vantaggi per l'azienda sono:
- la possibilità di effettuare un alto numero di colloqui con tempi
notevolmente ridotti rispetto a quelli necessari con le tecniche
tradizionali, il che comporta la possibilità di esaminare un
maggior numero di candidati con la conseguenza di veder
aumentata la probabilità di trovare lavoratori adeguati;
- la possibilità di ottenere un profilo dei candidati unico e fornito
in tempo reale anche quando l'azienda è organizzata in filiali;
- la possibilità di utilizzare in modo completo e fin dall'inizio le
capacità del lavoratore dato che con la determinazione del profilo
del candidato l'azienda ne conosce immediatamente le
potenzialità.
Mentre per il lavoratore il principale vantaggio deriva dalla capacità
del sistema esperto neurale di misurare con precisione il livello di
numerose abilità sociali importanti per lo svolgimento dell'attività
lavorativa. Cioè consente di determinare i punti di forza e le
attitudini di ogni lavoratore in tempi estremamente contenuti. Il
valore aggiunto, per il lavoratore, consiste nel fatto che il sistema
esperto è un potente ed efficace strumento di orientamento.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 42
Disponendo di una descrizione dettagliata delle caratteristiche reali
del lavoratore, si moltiplicano le possibilità di accedere a
opportunità di impiego in senso generale; avendo definito con il
medesimo strumento le caratteristiche ideali richieste per coprire
una determinata posizione, aumenta anche, per il lavoratore, la
probabilità di accedere a impieghi adeguati alle sue caratteristiche
personali.
3.3 Considerazioni conclusive
Al termine di questo studio è opportuno sottolineare quella che è la
grande novità apportata dalle tecniche di intelligenza artificiale,
ovvero la possibilità di utilizzare la macchina anche in processi non
integralmente modellizzabili. Questo è il grande vantaggio che si
ottiene rispetto all'utilizzo delle tradizionali tecniche di software
applicabili solamente in processi strutturati, dove sono note a priori
le attività da compiere e la sequenza nella quale devono essere
eseguite.
Naturalmente le attuali tecniche di intelligenza artificiale non sono
ancora in grado di sostituire l'uomo, ma progressivamente stanno
diventando un valido supporto al decisore umano in sempre
maggiori situazioni. Quindi la grande scommessa per il futuro è
quella di riuscire ad amplificare la capacità dell'intelligenza
dell'elaboratore attraverso un legame con l'intelligenza umana.
Le caratteristiche dell'intelligenza umana sono:
- creatività
- capacità di giudizio
- intuito.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 43
La forza di un sistema di elaborazione è data da:
- velocità
- accuratezza
- attenzione al dettaglio.
Ben si comprende quindi che riuscendo a creare un sistema che
abbia sia le capacità umane che le capacità di un sistema di
elaborazione si possa ottenere un prodotto utilizzabile in qualsiasi
tipo di processo e in grado di dare una certa garanzia di risultato.
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 44
Bibliografia
• Anna Cavallo, Sergio de Carlo: Appunti di Sistemi Informatica
raccolti dalle lezioni del prof. Francesco Maria Stilo - Edizioni
Kappa.
• Cecilia Rossignoli: Organizzazione e sistemi informativi -
Franco Angeli, Milano.
• http://www.acseweb.com
• http://www.bioinfovet.it
• http://www.borsanalisi.com
• http://www.galileimirandola.it
• http://www.infoday.it
• http://www.mediamente.rai.it
• http://www.marcolunardi.com
• http://www.spss.it
• http://www.studiocondello.it
• http://www.teoresi.it
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 45
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 46
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 47
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 48
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 49
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 50
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 51
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 52
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 53
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 54
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 55
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 56
S.Siracusa e M. Ferlicca Tesina sull’Intelligenza Artificiale 57