Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Informatica, computazione, Sintesi del corso di Informatica

compitazione informatica, informatica

Tipologia: Sintesi del corso

2025/2026

Caricato il 22/03/2026

salvatore-gennaro
salvatore-gennaro 🇮🇹

1 documento

1 / 26

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Anteprima parziale del testo

Scarica Informatica, computazione e più Sintesi del corso in PDF di Informatica solo su Docsity!

Intelligenza artificiale e reti neurali IMPARERAI... Che cos'è l'intelligenza artificiale Li r Quali sono le aree di applicazione dell'intelligenza artificiale esperti 1 Checos’èl’intelligenza artificiale Cosa sono i sistemi r Cosa sono i sistemi neurali Prima di affrontare l'affascinante tematica dell'intelligenza artificiale, ci sembra doveroso partire da un necessario chiarimento: cos'è l'intelligenza? In filosofia, per intelletto si intende quella facoltà mentale che ha ogni essere umano di com- prendere la realtà e di farsi delle idee, la quale comporta a sua volta la capacità di scegliere, discernere, confrontare, comparare, dissociare, associare, sintetizzare. L'insieme di queste funzioni viene chiamato capacità intellettuale. In psicologia, l'intelligenza è l'insieme delle funzioni conoscitive, adattative e immaginati- ve, generate dall'attività cerebrale dell’uomo e di alcuni animali. È anche definibile come la capacità di ragionare, apprendere, risolvere problemi, comprendere a fondo la realtà, le idee e il linguaggio. Sebbene molti considerino il concetto di intelligenza in un ambito più ampio, molte scuole di psicologia considerano l'intelligenza come distinta da tratti della personali- tà come il carattere, la creatività o la saggezza. L'intelligenza artificiale (d’ora in poi IA) è una moderna discipli- na che negli anni recenti ha fornito un importante contributo al progresso dell'informatica, Ricopre un chiaro interesse per coloro che sono interessati alla valutazione delle potenzialità dell'informatica e degli effetti che il progresso di questa disci- plina ha nei confronti dell’uomo. LIA è stata influenzata da numerose discipline, fra le quali, oltre ovviamente all'informatica, la filosofia, la matematica, l'econo- mia, le neuroscienze, la psicologia, la cibernetica, le scienze co- gnitive e anche la linguistica. Ma di cosa si occupa specificamente l’IA? L'IA si occupa della comprensione e della riproduzione del comportamento intel- ligente. È difficile fornire definizioni precise di IA, sia perché si In genere, si intende per intelligenza la capacità di completare compiti e risolvere problemi nuovi (problem solving), nonché la capacità di adattarsi all'ambiente e ai suoi mutamenti. Aggiungiamo a questa definizione anche la capacità della comprensione della realtà (qualunque cosa sia), includendovi anche la comprensione del linguaggio. Oggi si tende a superare questa forma di intelligenza orientata alla parte intellettuale, e si parla anche di altre tipologie di intelligenza, come quella emotiva, quella relazionale e altre. Intelligenza artificiale e reti neurali BS 211 212 tratta di una materia in forte evoluzione, sia perché è una disciplina di frontiera in cui s'incon- trano le numerose discipline che abbiamo precedentemente elencato. Pertanto, piuttosto che delimitare e fornire una rigorosa definizione, preferiamo elencare e descrivere le sue caratteri- stiche fondamentali e le sue principali aree d'applicazione. tomazione delle attività che associamo «Lo studio delle facoltà mentali attraverso al pensiero umano, come il processo decisionale, l'uso di modelli computazionali» la risoluzione di problemi, l'apprendimento...» [Charniak, McDermott, 1985] [Bellman, 1978] «L'arte di creare macchine che svolgono funzioni «Il ramo della scienza dei calcolatori che si occupa che richiedono intelligenza quando svolte da esseri | dell'automazione del comportamento intelligente» umani» [Luger-Stubblefield, 1993] [Kurzweil, 1990] «L'impresa di costruire artifatti intelligenti» [Ginsberg, 1993] L'intelligenza artificiale classica Le varie declinazio comprovata necessità di elaborare l'informazione che sta alla base dei processi cerebrali (rappresentata da simboli discreti) at- traverso dei programmi informatici: questo è il punto di partenza della cosiddetta intelligenza artificiale classica, per la quale ri- portiamo la definizione fornita da Marco Somalvico, ingegnere italiano specializzato nel campo dell’intelligenza artificiale. i di IA convogliano le proprie teorie nella L'intelligenza artificiale è quella disciplina, appartenente all'informatica, che studia i fondamenti teorici, le metodologie e le tecniche che permettono di progettare sistemi hardware e sistemi software capaci di fornire al computer delle prestazioni che, a un osservatore comune, sembrerebbero essere di perti- nenza esclusiva dell'intelligenza umana. È questa la definizione, accettata a livello internazionale, di un'area scientifica di notevole im- portanza strategica che si propone di superare, in alcune zone, le attuali frontiere dell'infor- matica, ponendosi come obiettivo scientifico quello di migliorare ed estendere le prestazioni offerte dal computer. L'obiettivo di questa disciplina, pertanto, è quello di riprodurre o emulare l'intelligenza uma- na, in quanto non vi sono motivi alla base che impediscano che talune prestazioni (ma non tutte!) dell’intelligenza umana (per esempio, la capacità di risolvere problemi risolubili con procedimenti inferenziali, ossia deduttivi e induttivi) possano anche essere fornite da una macchina (non tutti la pensano allo stesso modo: per taluni scienziati l’IA non è ammissibile per motivi epistemologici, laddove venga postulata una distinzione tra la realtà ela conoscen- za della realtà). Emulare le facoltà umane significa ottenere delle prestazioni intelligenti conseguibili utiliz- zando dei meccanismi propri della macchina, semmai differenti da quelli previsti per l'uomo, ma tali da fornire prestazioni qualitativamente equivalenti e quantitativamente superiori a quelle umane. Sezione B Teoria della computazione NFOGRAF L'INTELLIGENZA ARTIFICIALE: le ORIGINI LA STORIA DELL'INTELLIGENZA ARTIFICIALE Il 1956 è l'anno che sancisce l'inizio degli studi sull'intelligenza artificiale: nello storico convegno tenutosi nel Dartmouth College di Hanover (New Hampshire), John McCarthy (informatico statunitense, vincitore del Premio Turing 1971, noto peri suoi contributi nel campo dell'intelligenza artificiale) introdusse per la prima volta l'espressione Artificial Intelligence nella proposta della conferenza, fornendo così l'input per l'istituzione della nuova disciplina. In questa occasione, vennero raccolti i contributi sviluppati negli anni precedenti per orientarne gli sviluppi in direzione delle potenzialità future. Sebbene questo convegno rappresenti la nascita ufficiale di questa disciplina, lo studio dell'intelligenza artificiale affonda le sue radici in alcune teorie del passato che riassumeremo in questa pagina. I secolo d.C.: Erone di Alessandria Già nella mitologia greca possiamo vedere alcuni esempi di autoimitazione dell'uomo, ma è con Erone di Alessandria che troviamo i primi approcci alla robotica e all'intelligenza artificiale. Questo meccanico alessandrino vissuto nel | secolo d.C., infatti, costruì i primi automi semoventi basati su meccanismi idraulici e pneumatici. xa - XIII secolo d.C.: Raimondo Lullo Filosofo e teologo catalano, Raimondo Lullo intuisce i fondamenti per tentare di imitare le facoltà di pensiero. Prendendo spunto da una specie di macchina pensante rigine araba, Lullo progetta l'ars magna: secondo le descrizioni pervenute, questo marchingegno sarebbe stato composto da cerchi concentrici realizzati con dischi di metallo o gesso, all'interno dei quali venivano simboleggiati i vari concetti in segni geometrici o algebrici. La loro reciproca combinazione in tutti i modi possibili permetteva di ottenere una specie di \ mappa o di catasto universale dei concetti. 214 Sezione B Teoria della computazione XXI secolo: le reti neurali Nel 1943, Warren McCulloch e Walter Pitts propongono il primo modello di neuroni artificiali: l'idea alla base di questo progetto cibernetico è quella di studiare i meccanismi dell'autoregolazione e del controllo presenti sia negli organismi viventi sia nelle macchine con retroazione (in grado cioè di rispondere in modo adattativo alle sollecitazioni dell'ambiente, modificando il proprio comportamento). Prendendo spunto da questa teoria, nel 1949 Donald Hebb dimostra come una semplice regola di aggiornamento per modificare le forze di connessione fra i neuroni possa dare luogo a processi di apprendimento. Nonostante questi significativi successi iniziali, dopo solo pochi anni le risorse sono ormai quasi completamente convogliate sull'intelligenza artificiale: l'interesse per le reti \etom si ridesterà verso la metà degli anni 80 dello scorso secolo con il riemergere di questo a, nell'ambito dell'intelligenza artificiale. XIX - XX secolo d.C.: Norbert Wiener Nel tratteggiare la storia dell'intelligenza artificiale è importante soppesare l'eredità ricevuta da altre discipline, in particolare dalla filosofia (i risultati relativi al dibattito sulla natura dell'intelligenza e sulle relazioni fra conoscenza e azione), dalla matematica (l'approccio formale basato sulla logica) e dalla psicologia (le relazioni fra conoscenza e azioni). Ma è con la cibernetica e con l'informatica che queste influenze si fanno più manifeste e aprono la strada alla vera e propria nascita ufficiale dell'IA. Il termine "cibernetica" fu coniato dal matematico Norbert Wiener, che lo derivò da una parola greca che significa “pilota”. La cibernetica studia i meccanismi con cui uomini, animali e macchine comunicano con l'ambiente esterno e lo controllano. Si tratta di una scienza multidisciplinare che ha forti interazioni con molte altre discipline e aree tecnologiche: filosofia, psicologia, matematica, biologia, fisica, intelligenza artificiale, teoria dei controlli, teoria delle comunicazioni, robotica. La cibernetica ha origine dallo studio dei meccanismi dotati di retroazione, ovvero in grado di adattarsi alle condizioni esterne. La cibernetica studia dunque i meccanismi di comunicazione e di interazione negli esseri viventi, sia allo scopo di aumentare le conoscenze di tali meccanismi, sia per derivarne modelli che possono essere riprodotti artificialmente. Negli ultimi tempi, il termine cibernetica viene usato meno frequentemente per indicare la disciplina scientifica e spesso si preferisce utilizzare termini più specifici quali teoria dei sistemi, teoria dei controlli, J intelligenza artificiale e via dicendo. XVII - XVIII secolo d.C.: Gottfried Wilhelm Leibniz Questa ricerca di un modo meccanico per determinare la verità si osserva chiaramente anche nel pensiero di Leibniz. L'ars combinatoria leibniziana viene concepita inizialmente come “lingua universale”, ma con un'evidente accentuazione dei caratteri logici: si tratta di un linguaggio matematizzato modellato sulla stessa struttura del pensiero, che dovrebbe poter ridurre ogni disputa filosofica a un semplice calcolo del valore di verità di un enunciato L'obiettivo è dimostrare le verità acquisite, ma anche scoprirne di nuove. Secondo Leibniz, la logica, in quanto sistematizzazione del ragionamento, dev'essere padroneggiata e poi meccanizzata per comporre il calculus ratiocinator, in grado di ridurre il ragionamento a una sorta di algebra del pensiero. L'immagazzinamento di tutta la conoscenza in un adeguato linguaggio We possibile trattare meccanicamente le dispute intellettuali di qualsiasi natura, secondo l'invito espresso da Leibniz di “prendere le penne e calcolare”. Intelligenza artificiale e reti neurali B5 215 L'intelligenza artificiale debole AIVTA forte si contrappone l’IA debole, L'intelligenza artificiale debole sostiene che un computer non sarà mai in grado di essere equivalente a una mente umana, ma potrà solo arrivare a simulare alcuni processi cognitivi umani senza riuscire a riprodurli nella loro totale complessità. Si tratta quindi di un'IA che agisce come se pensasse e avesse una mente. I sostenitori dell'intelligenza artificiale debole non si pongono più l’obiettivo di realizzare in- telligenze simili a quelle umane, ma piuttosto di realizzare software che possano sostituire alcune funzioni umane, come per esempio la traduzione automatica di testi, o la previsione di atti criminali, che sono senza dubbio funzioni complesse non immediatamente riconducibili a sistemi formali, ma la cui soluzione non potrà far dire che “nuove intelligenze” vivono tra noi. L'importante è che il software agisca come un soggetto intelligente, non che lo sia davvero. Se un navigatore satellitare ci consente di arrivare a destinazione, fornendoci informazioni con una voce sintetica suadente, magari addirittura confrontandosi con il traffico reale sulle strade, a chi segue IA debole non importerà il modo in cui ci arriva, mentre un seguace dell'IA forte potrà obiettare che non è così che le persone ragionano. * Obiettivo: costruzione di entità dotate di razionalità * Metodo: codifica del pensiero. razionale; comportamento razionale * Criterio di successo: l'importante è risolvere i problemi che richiedono intelligenza Intelligenza artificiale e reti neurali B5 217 NE EI ® Aree di applicazione dell'INTELLIGENZA ARTIFICIALE COS'È L’INTELLIGENZA ARTIFICIALE L'intelligenza artificiale è quella disciplina, appartenente all'informatica, che studia i fondamenti teorici, le metodologie e le tecniche che permettono di progettare sistemi hardware e sistemi software capaci di fornire al computer delle prestazioni che, a un osservatore comune, sembrerebbero essere di pertinenza esclusiva dell'intelligenza umana. Le sue applicazioni sono potenzialmente infinite, ma finora i contesti in cui è stata impiegata con più successo sono quelli che vedi schematizzati in queste due pagine. [Sistemi esperti N . | sistemi esperti non rispondono Robotica più all'esigenza di realizzare algoritmi risolutivi di problemi applicativi, ma richiedono solamente di rappresentare conoscenza: la macchina algoritmica utilizza poi questa conoscenza per costruire inferenzialmente la soluzione dei problemi applicativi posti (purché riguardanti le informazioni possedute dal sistema). Per esempio, questo tipo di IA potrebbe essere usato in futuro per affiancare il medico nella \_ formulazione di diagnosi. L'area della robotica intelligente (cioè l'area della robotica di interesse per l'IA) si articola nelle sottoaree della manipolazione e della navigazione. In termini molto generali, queste due particolari sottoaree si occupano dei problemi geometrici e di movimento connessi con la realizzazione di robot intelligenti e hanno raggiunto da tempo risultati concreti e rilevanti anche dal punto di vista applicativo. 218 Sezione B Teoria della computazione 3 IlcontributodiTuring Il successo dell’IA è legato alla disponibilità di un sistema artificiale all’interno del quale riprodurre, attraverso un processo di emulazione, i fenomeni dell’intel- ligenza. Fin dall'inizio, il candidato ad assumere questo ruolo è stato il compu- ter. Come abbiamo visto nelle precedenti Unità, alla base dell'invenzione di que- sto meraviglioso strumento c'è il concetto di macchina universale di Turing. Oltre a questa invenzione, il genio matematico Alan Turing fornì una soluzione concreta e operativa al problema dell'espressione dell’intelligenza in una mac- china: il test di Turing. Il test di Turing Il test di Turing è un metodo di verifica dell'intelligenza artificiale. È stato ideato da Alan Turing negli anni '50. Ancora oggi, è considerato uno dei principali criteri di verifica dell’intel- ligenza artificiale. Il test di Turing è molto semplice. Una persona scrive su dei bigliettini delle domande da inviare a due soggetti diversi in un'altra stanza. In una delle stanze è situata una macchina, nell'altra si trova invece una persona. Entrambi i soggetti rispondono alla domanda dell'esaminatore stampando su un biglietto una risposta. Ibiglietti vengono infine riconsegnati all'esaminatore. Al termine del ciclo di domande, l’esaminatore deve scoprire in quale delle due stanze si trova la macchina. L'esperimento viene poi ripetuto sostituendo la macchina con una persona a cui viene affidato il compito di mentire alle domande. L'esaminatore deve cercare di capire quale delle due persone sta mentendo e quale invece sta rispondendo sinceramente alle domande. Il test di Turing è considerato superato soltanto se il numero di volte in cui l’esami- natore individua la macchina è pari al numero di volte in cui l’esaminatore scopre la persona che mente (al momento nessuna macchina è mai riuscita a superare il test di Turing sull’intel- ligenza artificiale). Le domande possono essere di qualsiasi tipo, e riguardare conoscenze enciclopediche (per es.: dimmi qual è il fiume che attraversa la Pianura Padana), capacità di calcolo (per es.: quanto fa 5 alla quarta?), esperienze emotive (per es.: come ti senti quando osservi un tramonto?), doman- de con co-referenza (per es.: ti piace il lago di cui abbiamo già parlato?) e qualsiasi altra cosa venga în mente all'esaminatore. Non sempre rispondere correttamente indurrà nell’esaminato l'idea che l’altro sia una persona. Per giungere alla comprensione, il computer dovrebbe saper: + interpretare il linguaggio naturale, per comunicare con l’esaminatore nel suo lin- guaggio umano; * rappresentare le conoscen- ze, per memorizzare quello che sa o sente; «+ ragionare automaticamen- te, per utilizzare la conoscen- za memorizzata in modo da rispondere alle domande e trarre nuove conclusioni; + apprendere, per adattarsi a nuove circostanze, individua- re ed estrapolare pattern. L'umano è AoB? 220 Sezione B Teoria della computazione SEI UN UMANO? PROVALO! Ormai ci viene automatico è non ci facciamo più caso: molto spesso ci viene chiesto, al momento della registrazione 0 dell'accesso a un sito o a un backoffice online, di digitare caratteri alfanumerici copiandoli da un'immagine, oppure di scegliere tra le immagini di un set quelle che possiedano alcune caratteristiche specifiche. Lettere e numeri possono essere casuali o avere un senso compiuto ma, ei in tutti i casi, non somigliano ai caratteri che di solito vengono riprodotti Pluaza saleciali ie phalca which shows batteri da un qualsiasi word-processor. Le lettere sono distorte e spesso sono - nane presenti linee e colori fatti apposta per ostacolame la lettura. Di norma, non è necessario più di qualche secondo per riuscire a riconoscerle comettamente 0 per individuare le immagini giuste. Quello che stiamo 9 facendo è un vero e proprio test. Nella fattispecie, è una forma di test di Turing, immaginato appunto da Turing: CAPTCHA, Completely Automated R ù Li sa ri test di Turing (ovvero, formalmente, non sanno pensare), un test di Turing è un buon metodo per distinguere una macchina da un essere umano. peak gota naaiagibia by ita pinnse it non Un essere umano, infatti, lo passa, mentre una macchina, al momento, Elia no. Questo ostacola quegli spambot che scandagliano autonomamente Test di Turing completamente pubblico e automatico per distinguere esseri umani e computer). Si tratta di una delle più familiari procedure ‘antispam, che sfrutta una delle peculiarità propre del cervello umano, ‘ovvero quella di riconoscere istantaneamente simboli e immagini. Se, infatti, nessuno di noi ha particolari difficoltà a leggere o analizzare immagini da qualunque supporto (cartaceo o virtuale che sia), la stessa cosa non vale per un computer che, per farlo, ha bisogno di un software DCR. Considerando che al momento le macchine non sanno risolvere un Publîc Turing test to tell Computers and Humans Apart (letteralmente, la Rete alla ricerca di moduli di immissione. Verify your real existence Drag the sticks to he drum &@/240 Usi Reset Powered by sumestiapicha Bisogna dare credito a Turing di aver concepito un test che è rimasto significativo a distanza di sessant'anni. Sono state fatte delle estensioni al test per introdurre elementi multimediali, ma fondamentalmente il test ancora oggi è considerato piuttosto valido. 4 Ilcontributodi Searle Un tentativo di superare la posizione del test di Turing è stato rea- lizzato da John Rogers Searle, nato nel 1932, professore di filoso- fia a Berkeley, Università della California, noto per i suoi contributi di alla filosofia del linguaggio e alla filosofia della mente. Searle, attraverso il suo esperimento mentale chiamato stanza ci- nese, ipotizza l'esistenza di una stanza dove è possibile introdurre dei testi scritti in una lingua e da dove verranno emessi dei testi tradotti in un'altra lingua. Un osservatore potrà pensare che chi sta facendo le traduzioni, sia esso una persona o un automa, sia un soggetto intelligente. Secondo Searle, invece, questa operazione potrebbe essere eseguita in modo del tutto automatico e mecca- ca Slo nico, utilizzando per esempio un libro di regole o un dizionario. Intelligenza artificiale e reti neurali B5 221 Con la robotica, invece, l'uomo concepisce la realizzazione di una macchina, il robot (l’in- terelaboratore) che, in maniera piuttosto gros- solana, riproduce sia talune facoltà dell'in- telligenza dell'uomo che riflette sul reale, sia talune facoltà dell'interazione dell'uomo che agisce e percepisce (cioè interagisce) nel reale. Computer e robot operano nell'ambito dell’in- formazione. È fondamentale, però, analizzare la natura dell’elaborazione dell'informazione, sia nel computer sia nel robot. L'informazione, intesa come l'entità oggetto di attività di ela- borazione svolta dal computer e dal robot, è interpretata come la classe di modelli del reale caratterizzati dalla proprietà di essere sot- toposti alle attività di elaborazione e di interelaborazione svolte dalle macchine (computer nell’informatica e robot nella robotica). Nello specifico caso dell'elaborazione dell’informazione, si possono sinteticamente riconosce- re tre tipi d'informazione: * l'algoritmo - ildato - ilproblema. Logicamente, si possono identificare, sempre in maniera sintetica, anche tre tipi di elaborazio- ne dell'informazione: «l'esecuzione di algoritmi (computer esecutorio); «la gestione di dati (scrittura, memorizzazione, aggiornamento e lettura - computer ge- stionale); - larisoluzione di problemi (computer risolutorio); una dizione equivalente a risoluzione di un problema è quella di inferenza sulla conoscenza (si può parlare in tal caso di elabo- ratore inferenziale). La robotica intelligente Nel caso della robotica, cioè nel caso dell’interelaborazione dell’informazione, occorre ag- giungere ai tre precedenti tipi di informazione (algoritmo, dato, problema) coinvolti nei corri- spondenti tre tipi di elaborazione (esecutoria, gestionale, risolutoria o inferenziale), due altri tipi di informazione: «il modello dei fenomeni prodotti dal robot; «il modello dei fenomeni percepiti dal robot. Di conseguenza, si possono identificare due tipi di interazione con il mondo: * la produzione di fenomeni conformi a un loro appropriato modello (l'informazione) posse- duto e controllato dal robot, che compie questa attività attraverso il sistema degli attuato- ri (cioè un'interfaccia di interazione in uscita dal robot verso il mondo); + la percezione di fenomeni descritti da un loro appropriato modello (l'informazione) formu- lato dal robot, che compie questa attività attraverso il sistema dei sensori (cioè un'interfac- cia di interazione in entrata nel robot dal mondo). Intelligenza artificiale e reti neurali B5 223 224 Detto questo, risulta possibile affermare che: LIA studia i computer (gli elaboratori) e i robot (gli interelaboratori) nei quali viene svolta elaborazione risolutoria o inferenziale. La parte della robotica che è oggetto di interesse per l’IA prende il nome di robotica intelli- gente. Al giorno d'oggi, siamo soliti riferirci al computer o al robot parlando di sistema in- telligente. Secondo Bertrand Russell, filosofo e logico matematico gallese vissuto nel ‘900, le proprietà che si associano a un agente intelligente sono quelle relative alla sua capacità di svolgere alcune attività intellettive tipicamente umane, all’offrire delle prestazioni di livello umano, allo svolgere attività inferenziali e all'agire razionalmente. INFORMATICA E ROBOTICA PERCEZIONE ATTRAVERSO | SENSORI ELABORAZIONE ATTRAVERSO il computer (L'ELABORATORE) PRODUZIONE ATTRAVERSO gli ATTUATORI & INFORMATICA ROBOTICA 6 Risoluzione automatica dei problemi La nozione di problema è stata posta in risalto dall'A attraverso l’affiancamento di questo concetto alla nozione di algoritmo e studiando le attività e le modalità per la sua modellizza- zione, Questa attività prende il nome di rappresentazione del problema o rappresentazione della conoscenza. Sotto lo specifico punto di vista della rappresentazione della conoscenza, peculiare importanza ha acquistato il caratteristico aspetto della risoluzione automatica dei problemi. Risolvere automaticamente un problema significa porsi l’obiettivo di corredare il com- puter (l’elaboratore) di metodi generali e di programmi efficienti che possano permettergli, attraverso processi completamente automatici o interattivi, di costruire l'algoritmo risolutivo di un problema, ottenendo così la soluzione automatizzata del problema stesso. L'approccio classico dell'informatica è quello che prevede che l’uomo costruisca, attraverso l'algoritmo, la soluzione di un problema, Questa nuova concezione di zzo dell'elaboratore Sezione B Teoria della computazione 226 7 Isistemiesperti Definiamo sistema esperto un programma in grado di risolvere problemi complessi che ri- entrano in un particolare dominio, con un'efficienza paragonabile a quella di uno specialista umano di quel settore. Un sistema esperto potrebbe, per esempio, essere capace di elaborare diagnosi mediche esa- minando le cartelle cliniche (opportunamente formalizzate) di un paziente: o potrebbe va- lutare tutti i fattori di rischio e le prospettive di guadagno di un determinato investimento finanziario. Tutti i sistemi esperti presentano i seguenti elementi costitutivi: * una base di conoscenza » un motore inferenziale + un'interfaccia utente. 8 Labase di conoscenza specialistica su un determinato dominio, rappresenta il sapere ne- cessario ad affrontare e risolvere problemi in quel campo. Tale base dovrà, ovviamente, es- sere efficacemente rappresentata nella memoria del computer. Rappresenta il repository dove sono memorizzate le informazioni e le regole che permettono al sistema di porre in essere un ragionamento. w Ilmotore inferenziale è in grado di dedurre, a partire dalla base di conoscenza, le conclu- sioni che costituiscono la soluzione a un dato problema che rientra nel dominio. Il motore inferenziale, che è il vero cuore del programma, funziona applicando alla base di cono- scenza una serie di procedure euristiche (ossia, un approccio alla soluzione dei problemi che si affida all’intuito e allo stato temporaneo delle circostanze) simili a quelle sviluppate nell'ambito del problem solving. Tuttavia, nella maggior parte dei casi, alle euristiche ge- nerali si affiancano delle euristiche specifiche per l'argomento di cui il sistema si occupa. Infatti, in ogni campo specialistico un esperto umano è in grado di escludere immediata- mente, e senza valutarle, una serie di opzioni che sono manifestamente improduttive. m L'interfaccia utente è rappresentata dal software che permette all'utente di sfruttare il motore inferenziale; di solito è un'interfaccia web, a volte molto semplificata (una pagina dove l'utente digita una domanda e riceve a video la risposta elaborata dal sistema esperto), a volte più strutturata (oggi integrabile anche con altri sistemi basati sull'intelligenza arti- ficiale come il riconoscimento e la comprensione del linguaggio naturale). In sintesi, i principali attributi che si rico- noscono a questi sistemi esperti sono: * la trasparenza, ovvero la possibilità di fornire spiegazioni circa le linee di ragionamento seguite per raggiunge- re la o le conclusioni; * l’euristica, cioè l'adozione di strategie tipiche degli esperti umani; «la flessibilità, ovvero la capacità di seguire, senza grosse difficoltà, modi- ficazioni alle loro basi di conoscenza, cioè alla loro riserva di conoscenza. Sezione B Teoria della computazione Le prime applicazioni dell’IA ai sistemi esperti risalgono agli anni '60 e furono sperimentate negli ambienti di ricerca delle Università statunitensi, Il primo sistema esperto degno di questo nome fu MACSYMA, un sistema esperto completo di matematica simbolica ideato, tra gli altri, da Joel Moses (matematico israeliano-americano, informatico e professore emerito del Massachusetts Institute of Technology). Il sistema MAC- SYMA era ancora basato su algoritmi tradizionali e venne seguito da DENDRAL, il primo clas- sico esempio di “generate and test”, ovvero di procedura euristica, destinato alla ricerca nel settore chimico. I primi studi sulla comprensione e l'elaborazione del linguaggio naturale portarono alla na- scita di HEARSAY, un programma concepito da un'equipe di ricercatori della Carnegie Mel- lon University per consentire il colloquio fra esperti tramite una lavagna astratta costituita appunto dal computer. In seguito, lo sviluppo di sistemi esperti si è concentrato in particolar modo sulla soluzione di problemi medici. In questo settore, una vera e propria pietra miliare è costituita da MYCIN, che prese avvio come progetto nel 1972 all’Università di Stanford, MYCIN permetteva di identificare i batteri che causano infezioni gravi, come la batteriemia e la meningite, e di raccomandare antibiotici nella dose adatta al peso corporeo del paziente. Il nome del sistema deriva proprio dagli antibiotici stessi: molti antibiotici, infatti, hanno il suffisso -mycin. Il sistema MYCIN è stato utilizzato anche per la diagnosi di malattie di coagu- lazione del sangue. Da questo modello presero spunto altri sottosistemi destinati all'ampliamento degli studi sulla spiegazione (GUIDON), sull'acquisizione della conoscenza (TEIRESIAS) e sul motore inferen- ziale (EMYCIN). EMYCIN fu, nel 1979, il primo sistema inteso come strumento generale (tool) per lo sviluppo specialistico di ulteriori programmi. Sul suo modello presero forma programmi destinati a dia- gnosticare malattie polmonari (PUFF e CENTAUR), per il cancro (ONCOCIN) e anche per la diagnosi dei guasti industriali (DART). Sempre per il settore medico fu realizzato, nei primi anni ‘70, CASNET, caratterizzato dalla presenza al suo interno di uno schema generale (EXPERT) utilizzabile anche in sistemi con diversa specializzazione; mentre con ben diversa specializzazione furono PROSPECTOR, rea- lizzato nel 1979 da Peter Hart e Richard Duda per la ricerca petrolifera, XCON, rinominato RI, realizzato nel 1980 da John McDermott per progettare la configurazione hardware dei grandi computer, e PLANT, realizzato nel 1981 da Ryszard Michalski dell’Università dell'Illinois per diagnosticare le malattie nelle coltivazioni di soia. Sia presso le Università, sia nelle aziende specializzate, l’ambiente in cui in un primo tempo sera coltivata la programmazione avanzata è andato trasformandosi in ambiente di sviluppo per sistemi esperti. 8 Leretineurali: generalità Funzionamento del cervello umano Allo stato attuale delle conoscenze circa il funzionamento del cervello, risulta arduo indivi- duare al suo interno un qualche meccanismo che possa essere considerato equivalente a una macchina formale automatica a stati discreti e sequenziali. Per quanto si è potuto verificare, nel cervello hanno luogo miliardi di processi contemporanei (o paralleli) e caratterizzati da variazioni di stato continue. Esistono, poi, delle capacità cognitive come la percezione (visio- ne, udito, tatto) che ragionevolmente non sembrano riconducibili a processi computazionali simbolici. Infine, abbiamo visto come, nonostante ricerche e sperimentazioni, l’IA classica non sia ancora riuscita a costruire dei modelli computazionali delle varie facoltà cognitive umane Intelligenza artificiale e reti neurali BS 227 Nel cervello non esiste un controllo centralizzato, nel senso che le varie zone del cervello fun- si nano insieme, influenzandosi reciprocamente e contribuendo alla realizzazione di uno spe- cifico compito. Infine, il cervello è fault tolerant, cioè se un neurone o una delle sue connessioni sono danneg- giati, il cervello continua a funzionare, anche se con prestazioni leggermente degradate. Dopo questa doverosa premessa, risulta maggiormente evidente che per riprodurre artificial mente il cervello umano è necessario realizzare una rete di elementi molto semplici che sia una struttura distribuita, parallela, capace di apprendere e quindi di generalizzare (cioè di produr- re uscite in corrispondenza di ingressi non incontrati durante l'addestramento). I componenti di una rete neurale artificiale Una rete neurale è costituita da un insieme di nodi collegati. Per ogni nodo vi sono dei col- legamenti di input (da cui arrivano segnali) e dei collegamenti di output (attraverso cui la rete emette segnali). I nodi possono assumere due stati: stato di riposo e stato di attivazione. Quando un nodo è in stato di attivazione, esso invia dei segnali ai nodi con cui è collegato. Un importante aspetto della microfisiologia cerebrale che viene emulato dalle reti neurali è il sistema di eccitazione. Infatti, i collegamenti tra i nodi di una rete neurale sono di due tipi: collegamenti eccitatori e collegamenti inibitori. Ogni collegamento tra un nodo della rete e un altro, strato di output inoltre, è dotato di un peso: il peso del collegamento assegna diversi valori ai segnali che li attraversano. pesi Ogni nodo diventa attivo e dunque manda un segnale IN ai nodi a esso connessi, solo se i messaggi che gli arri- vano (nel computo tra segnali inibitori e segnali ecci- tatori) lo portano oltre una certa soglia di attivazione collegamenti (misurata mediante una scala numerica). Visto nel suo complesso, il comportamento di una s=uanodi rete neurale può essere descritto così: Un processo in cui, una volta fornita in ingresso alla rete una configurazione di segnali-stimolo (me- diante l'attivazione di alcuni suoi nodi, detti nodi in input), la rete rilascia in uscita un'altra configu- razione di segnali. strato di input Le reti neurali come “scatole nere” Le reti neurali si caratterizzano per la loro flessibilità e adattabilità riguardo all'analisi di situazioni difficili da interpretare o caratterizzate da notevole complessità. Le reti neurali, in- fatti, vengono adottate nei casi in cui l'esperto non riesce a individuare le regole che collegano gli input con gli output. Si comportano come un sistema esperto: vengono, pertanto, modifica- te costantemente le regole in base ai secondi con cui si prendono le decisioni, in relazione alle variazioni che avvengono nel contesto ambientale all’interno del quale sono inserite. Le condizioni idonee all’applicabilità delle reti neurali sono: + ampio numero di variabili da tenere simultaneamente in considerazione; «struttura delle relazioni del modello sottostante il dominio non chiaramente definita; Intelligenza artificiale e reti neurali BS 229 230 + variabili non stabili nel tempo a causa di mutamenti nell'ambiente; + costialti associati a previsioni errate. Così inquadrate, le reti neurali sono ritenute delle scatole nere poiché non forniscono alcuna trasparenza del ragionamento adottato per giungere alla risposta finale. In base a ciò, le aspet- tative future riguardano la possibilità di integrare i sistemi basati sui sistemi esperti (quindi sulla conoscenza) con le reti neurali. Le aree di lavoro sulle quali la ricerca sta procedendo sono le seguenti: ® l'area in cui si cercano di sviluppare i processi elaborativi che consentono di documen- tare e di creare la conoscenza che caratterizza uno specifico dominio. Nella risoluzione di un problema, viene dapprima utilizzata la rete neurale e in seguito il sistema esperto, realizzando quasi una forma di concorrenzialità tra le due tecnologie; w l'area che si sta occupando dell'integrazione tra i sistemi esperti e le reti neurali, in parti- colar modo nell’ambito delle previsioni finanziarie, dove le reti neurali vengono utilizzate come operatori statistici. Con questo tipo di approccio, la soluzione del problema richiede inizialmente l'impiego della rete neurale e, solo in seguito, del sistema esperto. Dati di input DE COS Ricerca [Feto . neurale CA delle regole «di interpretazione . dei fenomeni su . . A I È” «| Rappresentazione della conoscenza Dati di output 9 Leretineurali:l’approccio operativo Il funzionamento di una rete neurale può essere sintetizzato nel seguente modo: La rete neurale, una volta raccolti gli input necessari, li pone tra loro in relazione pesandoli in funzione della loro influenza. Al termine effettua una sorta di media ponderata che rap- presenta l'output ossia l'esito previsto per il fenomeno studiato. Si intuisce facilmente che una scelta attenta e oculata delle variabili (gli input), le quali defi- niscono il problema oggetto di studio e alimentano la rete, è di fondamentale importanza, Gli scienziati hanno pensato di ricondurre questo fenomeno a una somma dei segnali di ingresso: se la somma supera un certo livello, viene emesso un segnale. Ciò in base al fatto che ogni se- gnale in ingresso ha un peso diverso e, di conseguenza, un'influenza diversa sul risultato della somma. Cambiare i pesi significa poter cambiare i modi di far funzionare i neuroni. Il proble- ma che ci si pone, però, è il seguente: come può avvenire un cambiamento automatico dei pesi affinché possiamo ottenere la funzione voluta? Marvin Minsky, un informatico e scienziato americano specializzato în IA, negli anni '60 rie- sce a dare una risposta partendo dal caso di un semplice neurone. Minsky utilizza un metodo Sezione B Teoria della computazione