INTELLIGENZA ARTIFICIALE DEFINIZIONE DI I.A. • I.A. è la scienza che studia tecniche computazionali in grado di emulare l’intelligenza umana • Non necessariamente i metodi usati devono ricalcare i metodi biologicamente osservabili DEFINIZIONE DI I.A. • L’intelligenza è la capacità di raggiungere determinati obiettivi • Non siamo però in grado di caratterizzare quali tipi di procedure computazionali siano da chiamarsi intelligenti • Comprendiamo certi meccanismi dell’intelligenza ma non altri DEFINIZIONE DI I.A. • La ricerca nel campo I.A. Ha scoperto come far raggiungere ai computer determinati obiettivi ma non altri • In alcuni compiti legati a memoria e velocità i computer superano le prestazioni umane, in altri obiettivi i computer sono inferiori ai bambini di pochi mesi. I.A. DEBOLE E I.A. FORTE • La ricerca nel campo I.A. si può far risalire al matematico inglese Alan Turing che ne parlò per primo nel 1947. • In un articolo del 1950 Turing propose il test omonimo per stabilire se una macchina possa essere o meno considerata intelligente. I.A. DEBOLE E I.A. FORTE • Un uomo deve indovinare dalle risposte ricevute via telescrivente se nell’altra stanza c’è un uomo o un computer. • Il computer deve dare risposte convincenti. • Se l’interrogante non è in grado di operare alcuna distinzione, si può affermare che la macchina è in grado di pensare. I.A. DEBOLE E I.A. FORTE • L’obiezione più famosa al Test di Turing è quella di John Searle con il paradigma della “stanza cinese”. • In una stanza chiusa un uomo che non conosce il cinese può tradurre meccanicamente dal cinese senza per questo capirlo. I.A. DEBOLE E I.A. FORTE • Si pone il problema di capire che cosa sia la vera “comprensione”. • I ricercatori si dividono fra sostenitori dell’I.A. debole e sostenitori dell’I.A. forte. • La tesi di Turing-Church afferma che ogni processo intuitivamente computabile è computabile con una macchina di Turing I.A. DEBOLE E I.A. FORTE • Questa tesi esprime la posizione dell’A.I. forte, ossia di fatto che i computer possono essere equivalenti al cervello umano. • I seguaci dell’A.I. debole sostengono che i computer possono solo avere alcune caratteristiche simili a quelle del cervello umano. I.A. DEBOLE E I.A. FORTE • L’obiezione più nota all’I.A. forte è che i computer non possono rispondere a domande contenenti proposizioni indecidibili • Il teorema di Goedel afferma che qualsiasi logica non contradditoria dell’aritmetica è incompleta, ossia contiene proposizioni vere ma indimostrabili. TIPI DI A.I. • L’I.A. si può suddividere in due filoni principali: I.A. simbolica e I.A. subsimbolica. • L’I.A. simbolica è quella tradizionale e si basa su procedure costruite con metodi formali TIPI DI A.I. • L’ I.A. subsimbolica utilizza metodiche che raggiungono risultati a partire da dati imprecisi o spuri e cui non si può risalire in modo procedurale • Questa definizione si sovrappone a quella di SOFTCOMPUTING, che comprende reti neurali, algoritmi genetici, logica fuzzy e tecniche che utilizzano insieme queste metodiche TIPI DI A.I. • Le branche dell’A.I. si possono suddividere in: – Programmazione automatica – Reti Bayesiane e probabilistiche – Natural Language Processing (NLP) – Knowledge Representation TIPI DI A.I. – Planning – Constraint satisfaction in problemi NP-completi – Machine learning – Pattern recognition – Speech recognition …… APPLICAZIONI DELLA I.A. – Riconoscimento vocale – Sistemi esperti – Applicazioni di case-based reasoning – Traduzione automatica – Giochi (es. Deep Blue) – Controllori fuzzy in elettrodomestici – Robotica industriale – Knowledge Discovery in Databases o Data Mining – …. (poco di più) LINGUAGGI PER LA I.A. – LISP ( List Processing ) – Rivelatosi utile per la protipizzazione e per l’elaborazione del linguaggio naturale, richiede macchine dedicate per grandi moli di conoscenza. – PROLOG ( Logic Programming) – Utilizza un motore inferenziale che scandisce una base di conoscenza scritta in forma di proposizioni logiche. CAMPI DI APPLICAZIONE – Medicina (sistemi esperti, sistemi di supporto alla decisione, robotica) – Finanza (sistemi esperti, sistemi di supporto alla decisione) – Processi industriali (controllers, robotica) – Ricerca (utilizzo di metodi di analisi non standard) – …. LINGUAGGI PER LA I.A. –Linguaggio C : si adatta ad ogni tipo di problema ed è molto veloce e compatto. –Java : ultimamente viene utilizzato per motivi di portabilità.