+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | data: 19/03/04 | Discorso sulle fondamenta di una Intelligenza Artificiale | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Chi si prefigge di costruire una intelligenza artificiale o � un pazzo o un filosofo, da queste due categorie nessuno di noi pu� sfuggirne. Non esistono programmatori e matematici al mondo che non abbiano provato, tentato, ipotizzato una possibile programmazione di una intelligenza artificiale. Ma La maggior parte a livelllo pratico sono caduti nel comunissimo tranello di limitarsi a programmare una macchina che con un determinato database e che con un tot di frasi registrate risponda in un certo modo. Esempio alla scritta "ciao" immessa nella casella di testo 1, il programma far� il classico ragionamento if-then-elseif-endif: If testo1= ciao then testorisposta = ciao come stai? elseif = CiAo then testorisposta = ciao anche a te end if Non me ne vogliate male se da programmatore quale credo di essere, ho scritto "sommariamente" le linee di un sistema logico basato sui "se, se"... ma non � questo lo scopo di questo saggio... Alcuni programmatori (tra i quali io in passato) hanno strutturato una falsa logicit� della macchina basandosi sopra un metodo random o causale. Cio� per ogni frase scritta dall'interlocuture la macchina aveva 2 o 3 risposte da immettere differenziatamente in base a una scelta random o tipo basata sull'ora e\o in base alla stanchezza o altro. Una vecchio mio programma, in base all'ora del computer, rispondeva con un saluto del tipo: buongiorno, buonasera ecc.. Ma ripeto questo modo di programmare l'intelligenza artificiale non � quello giusto, come nell'articolo di alan mathison turing, in questo vi spiegher� in modo alquanto sintentico la progettazione a livello teorico di una Intelligenza Artificiale e non di una simulazione di una intelligenza umana. L'intelligenza Artificiale ragiona da sola. La simulazione di una I.A. da delle risposte stupide registrate in un database. ? Intelligenza Artificiale prefazione. Lasciando da parte tutte le visioni tecnoapocalittiche e catastrofiche dei filosofi quali Joy, Moravec e Kurzweil, che, peraltro, tutti questi pensieri filosofici li ho ritrovati descritti egregiamente in un librettino che ho comprato non molto tempo fa e che si intitola "Storia dell'Intelligenza Artificiale" della Garzanti, il quale vi consiglio vivamente di comprare. Io verter� il saggio basandomi su un tipo di filsofia pi� scientifica, cari lettori vi sembrer� pazzo e molti me lo dicono, ma secondo il mio personalissimo modo di vedere le cose i principi alla base di una macchina pensante si possono ritrovare nel pensiero di uomo del V sec a.c., Aristotele. Miei studi prima costrittivi per questioni scolastiche e poi piacevoli per ragioni che credo anche a voi saranno ovvie, mi hanno portato nel corso del tempo a pensare che i principi di logica aristotelica, che poi rispecchiano in modo meccanico i principi di logica umana, possano realmente essere applicati alle macchine e sinceramente mi stupisco che nessuno mai ci abbia pensato prima. Tutt'ora ci tengo a sottolineare per scarsa quantit� di tempo sono riuscito per meno della met� a render fede al mio progetto. Ed in sostanza vi assicuro che non faccio poca fatica a scrivere quello che sto per scrivervi pensando che poi qualcuno possa rubarmi l'idea. Quindi prima di incominciare pregherei che i programmatori che si vogliono cimentare in questo progetto citino come fonte di provenienza del loro iter di sviluppo il mio nome, secondo i patti stretti e consolidati dalle direttive della Licenza pubblica generica (GPL) del progetto GNU. ? Intelligenza Artificiale e Aristotele. Una intelligenza artificiale, come strumento di espressione usa la parola e in questo vi invito a leggere Oscar Bettelli ripreso nella sezione di bioinformatica nell'articolo "Un viaggio tra mente umana e macchina" da cyberdude. Aristotele ha basato e creduto ovvio che l'espressione di intelligenza umana e quindi io di conseguenza di quella meccanica, provenga dal linguaggio espressivo, la parola, il logos o come la volete chiamare. Come pu� un corpo dotato di logica formulare concetti? Beh questo � il secondo problema inerente alla IA, il primo problema per questioni di continuit� del discorso lo vedremo per ultimo. ? Struttura di un concetto Secondo Aristotele gli oggetti del nostro discorso, cio� i concetti, possono venir disposti entro una scala di maggiore o minore universalit� e classificati mediante un rapporto di genere e specie. Per semplificare al massimo prendiamo come esempio la trota che andiamo a pescare nei giorni festivi per diletto.. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| || Specie ---> Genere || || || || Animale Pesce Trota || || || ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| Il concetto di Specie Animale � di maggiore universalit� rispetto al concetto "Pesce" ma � di minore universalit� rispetto al concetto di Trota. Di conseguenza si ha un rapporto inversamente proporzionale tra la Comprensione e estensione dei concetti. Pi� le note o le qualit� caratteristiche di un oggetto (Comprensione) sono maggiori, pi� il numero degli oggetti al quale fanno riferimento le note e le qualit� caratteristiche di un oggetto (Estensione) diminuisce. In sostanza � diverso dire: "un uomo che corre" (Massimo Esternsione concetto minimo Comprensione concetto) da un "uomo nero con la giacca bianca e le orecchie a sventola corre verso sinistra" (Minimo Estensione concetto Massimo Comprensione concetto) E' importantissimo che capiate a fondo questi principi di specificazione perch� i problemi arriverano nella progettazione di AI ancora prima di fargli formulare dei concetti... infatti il primo problema � inerenti per prima cosa alla comprensione dei concetti e poi solo in un secondo momento alla formulazione di concetti artificiali. Ora la domanda di Aristotele era: "ma al Massimo estremo della estensione di un concetto cosa troviamo?" Il filosofo rispose chiramente dando dieci generalissimi modi in cui l'essere si predica delle cose nelle proposizioni, le Categorie. Per Aristotele le Categorie sono 10: 01. La sostanza 02. La qualit� 03. La quantit� 04. La relazione 05. L'agire 06. Il Subire 07. Il dove (Il luogo) 08. Il Quando (Il tempo) 09. Lo stato (es: Porta le scarpe) 10. L'essere (es: Sta Seduto) ? Il Centro Chiave della logica umana e artificiale "Il Quadrangolo degli opposti". E' di fondamentale importanza capire che una intelligenza artificiale per rispondere alle domande deve capirle per capirle deve usare la logica... per usare la logica deve capire i concetti basiliari dopo che � stata programmata a dovere e deve saper confrontare i concetti che gli sono stati immessi; per fare ci� si deve servire del quadrangolo degli Opposti. A <------ CONTRARIE -------> E | \ /| | \ / | | \ / | | \ / | | \ / | s c c s u o o u b n n b - t t - a r r a l a a l t d d t e d d e r i i r n t n e t t e | o o | | r r | | i i | | e e | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ | I <------ Sub- Contrarie ----> O Vi chiederete ma in cosa consiste il quadrato aristotelico... beh � molto semplice elaborando per i principi sopra elencati e usando il ragionamento per esclusione la macchina veramente potrebbe ragionare... come? Se notate le prime due lettere del quadrato a primo acchitto potrete pensare che le ho messe a testa ma hanno una loro spiegazione a destra si trovano le affermazioni quindi il primo angolo a destra prende come lettera la prima vocale della parola latina Admitto mentre la sua sub alterna (I) la seconda vocale... a snx invece ci sono le negazioni dalla parola latina nego messe sempre con lo stesso procedimento nEgO. La A contiene le Universali Affermative esempio "Tutti gli uomini sono Bianchi", la E contiene le Universali Negative esempio "Nessun uomo � Bianco" La I contiene le Particolari Affermative esempio "Alcuni uomini sono Bianchi" La O contiene le Particolari Negative esempio "Alcuni uomini non sono Bianchi" Queste affermazioni di per loro hanno un loro senso logico universale (cio� che vale per tutti) oppure Particolare (cio� che vale per la minoranza delle cose) ma se noi le mettiamo nel quadrato con le lettere che vi ho assegnato vedrete ad asempio che la A e la I possono andare d'accordo la E e la O pure, la A e la O, la E e la I no perch� sono contraddittorie mentre la A e la E e la I e la O sono contrarie. Ma mentre la I e la O potrebbero essere tutte e 2 vere ma non false a A e la E possono essere tutte e due false ma non vere. Il Quadrangolo degli Opposti contiene 8 considerazioni differenti come 8 sono i nostri modi di concepire una cosa e quindi di trarre le conclusioni... ricordiamo che il quadrangolo applicato ad una macchina � molto importante perch� se il computer riese a capire la struttura di un concetto e riesce ad applicare concetti differenti nel quadrangolo aristotelico significa che il computer "capisce" cio� ragiona realmente... ? La natura del ragionamento "Il Sillogismo" Un computer dopo aver capito cosa gli � stato detto deve essere capace di fare dei confronti, ergo dei ragionamenti. Il Sillogismo � precisamente il ragionamento per eccellenza, ovvero un ragionamento in cui poste talune cose (premesse) segue necessariamente qualcos'altro (la fatidica conclusione) per il semplice fatto che quelle sono state poste. Premessa Maggiore OGNI ANIMALE E' MORTALE (Termine Medio) (Termine Maggiore) Premessa Minore OGNI UOMO E' ANIMALE (Termine Minore) (Termine Medio) Conclusione OGNI UOMO E' MORTALE (Termine Minore) (Termine Maggiore) Inutile che mi addentri in questi procedimenti logici anche perch� se comprate un qualsiesi libro sulla logica aristotelica vi sar� quello che vi ho detto. Il computer capito le premesse che gli sono state indotte in base alle precedenti induzioni pu� tranquillamente confrontare quello che viene detto... e quindi rispondere ad una frase del tipo: Lodeguns: Ma ogni uomo � mortale? AI : Cos'� l'uomo? Lodeguns: L'uomo � un animale AI : Cos'� un animale? Lodeguns: Ogni animale � mortale AI : Ogni uomo � mortale lodeguns. Lodeguns: Grazie AI : Prego ? L'oggettivita e la impossibile Soggettivit� delle domande e risposte della macchina E' inutile che cerchiate programmare un computer che risponda a domande del tipo come stai? perch� il computer non � un essere sensibile... Una intelligenza artificiale non potr� mai dirvi: <>. Il rapporto intelligenza umana � artificiale � sovvarcata da un profondissimo valico, mentre l'intelligenza umana � condizionata da fattori esterni (tipo un mal di testa) l'intelligenza artificiale � prettamente incondizionabile se non da quello che dite voi... Le domande che vi far� prima o dopo saranno domande del tipo cos'� questo? Perch� � cos�? e cos� via... il suoi discorsi saranno prettamente aridi.. la macchina non balbetter� mai perch� ha paura oppure canter� una canzone mentre sta bella e buona... non pu�.. tutto ci� che deriva da un animo sensibile cozza col razionale e condiziona il razione.. la macchina pu� avere solo un animo razionale. Quindi le qualit� soggettive quali bellezza, bruttezza e altro... la macchina non potr� concepirle. La macchina risponder� e far� esclusivamente domande OGGETTIVE, sar� una semplice calcolatrice un p� pi� complessa, ma niente di pi�... ci tengo che questo sia assolutamente chiaro. ? Educazione e Falsi Ragionamenti. La soggettivit� d'altro canto pu� essere creata artificialmente attraverso dei pickUp tipo all'analisi della parola Grazie pu� rispondere Prego, Di niete e cos� via... ma questa formalit�, che vi � indotta dalla societ� in cui vi trovate, � una cosa che prettamente memorizzate.. non fate un ragionamento nel dire prego alla parola grazie... Come non fate un ragionamento nel rispondere alla parola ciao con un altro ciao... Fate un falso ragionamento, perch� derivante da una esperienza sensibile, cio� le vista, quando alla parola Buongiorno il computer risponde BuonGiorno... Il fattore temporale quindi � educabile e soggetto quindi a un falso ragionamento... Ad esempio se aprirete AI di sera lei potrebbe dirvi buona sera analizzando l'orologio di sistema... Ma l'esperienza temporale pu� anche passare ai fattori stagionali e mensili.. facciamo un esempio di un possibile discorso di una AI educata al fattore temporale: L'orologio di sistema � sistemato alle 8.00 pm dell'11 Agosto AI : Buongiorno Lodeguns. Lodeguns : Ciao AI AI : Ciao Lodeguns : Oggi fa freddo AI : Oggi fa caldo Lodeguns : Perch� oggi fa caldo? AI : Oggi fa caldo perch� � il 11 Agosto 2004 ? Conclusione parte prima.. Logicamente nel programmare una intelligenza artificiale un p� pi� umana si sprofonda sicuramente nel programmare non pi� un sistema logico e basta, ma un sistema logico pieno di eccezioni che richiedono anni di studio. Credo che ho finito, anche perch� domani esce la zine e non ho pi� tempo da dedicare per questo mese a questo argomento, se qualcuno � interessato a questo argomento pubblicher� anche la seconda parte dell'articolo... in cambio chiedo che mi segnaliate i vostri pareri a unrelated@libero.it se non ricever� tot di mail logicamente sar� per me evidente che non vi frega molto di quello che dico... e sar� inutile per me continuare questo lavoro. Francesco Bardozzo aka unrelated ps: Non incendiate le macchine dei vostri professori andate nei guai per stronzate inique.