+ All Categories
Home > Documents > di Raffaello Oe Masi Le tecniche e i campi di utilizzo di ... · pata dalla Rank in collaborazione...

di Raffaello Oe Masi Le tecniche e i campi di utilizzo di ... · pata dalla Rank in collaborazione...

Date post: 02-May-2019
Category:
Upload: lamnguyet
View: 212 times
Download: 0 times
Share this document with a friend
4
INTELLIGENZA ARTIFICIALE di Raffaello Oe Masi Le tecniche e i campi di utilizzo di un sistema esperto Dopo aver descritto le parti più importanti e la struttura costruttiva e operativa di uno dei più complessi sistemi esperti, Rosie, vediamo in base a quali qualità e meriti esso è divenuto in breve tempo uno dei più efficienti e imitati SE presenti sul mercato. Rosie è stato usato come linguaggio base per implementare applicazioni del tutto diverse l'una dall'altra. A titolo di esempio citeremo solo alcuni dei più interessanti e complessi sistemi esperti generati (e volutamente escluderemo da questa elencazione i SE di medicina, che la fanno da padrone in questo campo, e che non citeremo proprio per non cadere nel luogo comune, piuttosto diffuso, che SE=ambiente di analisi medica) 292 Esempi di applicazione di Rosie sono ArtStat, un modello decisionale applica- to ad ambiente legale (Waterman e Pe- terson, 1981). TATR (Tactical Air Target Recommender, letteralmente consulen- te di attacco aereo tattico) e, cosa mol- to più complessa, la progettazione di Adept, una workstation sperimentale destinata a cooperare con analisti di de- cisioni tattiche in operazioni di combat- timento terrestre. Il primo caso è particolarmente inte- ressante in quanto evidenzia la possibi- lità di usare tecniche di strategia d'uso di regole informali in un campo piutto- sto specializzato e ristretto come quello delle consulenze legali. Nel secondo ca- so TATR, progettato su richiesta e con esigenze specifiche della Tactical Air Force, pianifica l'uso di aerei tattici in una azione d'attacco. Il sistema verifica e determina due scelte principali; esso indica quali aerei utilizzare e quali ber- sagli attaccare in base a parametri ini- ziali e opzioni diverse inseriti dall'opera- tore e permette di prevedere inoltre le perdite e di adottare le migliori strategie per ridurre i danni prodotti dal nemico. La workstation Adept, infine, svilup- pata dalla Rank in collaborazione con il sistema di difesa TRW è stato forse il progetto più ambizioso (e riuscito) per aiutare gli analisti militari e prevedere le attività nemiche, usando rivoluzionar- mente una tecnica d'analisi quanto più possibile vicina a una struttura intelli- gente. Si è adottato, in questo sistema, un avanzato uso di tecniche euristiche, e di basi di conoscenza costruite su di esse. Il progetto, più che realizzare la work- station stessa, aveva lo scopo di verifi- care la fattibilità stessa dell'hardware e del software dedicato, e di dimostrare la utilizzabilità di tecniche di intelligenza artificiale in questo dominio piuttosto atipico. Il progetto, prima della sua rea- lizzazione, mise a punto una dimostra- zione basata su un esempio di lavoro rappresentato da circa 200 regole pro- grammate mediante una accorta com- binazione di tecniche derivate da Rosie e dal linguaggio Lisp. Vantaggi e svantaggi della implementazione di Rosie Rosie, nella sua implementazione ori- ginale, fu sviluppato in un periodo di quattro anni, dall'idea originale alla re- lease 1.0 Tutto questo tempo fu però sufficiente a creare un prodotto ben ar- ticolato, abbastanza libero da errori, ve- loce, soprattutto, ben noto, per quanto attiene ai vantaggi e agli svantaggi del tipo di implementazione stessa. Dei vantaggi del tipo di implementa- zione Rosie, abbiamo parlato più volte; riassumendoli qui essi possono essere così riuniti: leggibilità, flessibilità e faci- lità d'espressione. Il maggior vantaggio, lo abbiamo det- to diverse volte, è rappresentato dalla leggibilità; un ingegnere della cono- scenza può scrivere una applicazione in modo che un utente appena specializ- zato in questa area applicativa può leg- gerla in maniera immediata e facile; questo però, più che un merito del lin- guaggio stesso è frutto anche di uno sforzo del programmatore stesso; è al- trettanto facile scrivere un codice sor- gente del tutto incomprensibile, così co- me lo è in altri linguaggi che godono fa- ma di facilità, comprensibilità e imme- diatezza, come Basic, Pascal o Logo. Dalla facile leggibilità discende in ma- niera pressoché immediata la possibilità di scrivere applicazioni facilmente espandibili, con aggiunte al codice di ba- se dirette e immediate, ben integrate nel corpo principale che rappresenta il codice di struttura su cui innestare le aggiunte necessarie. È appunto merito di un buon ingegnere della conoscenza implementare un codice di base ben scritto, regolare e ben strutturato, cui fare aggiunte non costi più di un piccolo sacrificio in termini di tempo e sforzo applicativo. In altri termini una struttura di base scritta in maniera Rosie è, se ben redatta, elastica tanto da accogliere in maniera estremamente efficiente modifiche diverse, magari applicate a basi di conoscenza differenti. Che la leggibilità e la facile compren- sibilità del codice sorgente sia una delle MCmicrocomputer n. 104 - febbraio 1991
Transcript

INTELLIGENZA ARTIFICIALEdi Raffaello Oe Masi

Le tecniche e i campi di utilizzodi un sistema esperto

Dopo aver descritto le partipiù importanti e la strutturacostruttiva e operativa di unodei più complessi sistemiesperti, Rosie, vediamo inbase a quali qualità e meritiesso è divenuto in brevetempo uno dei più efficienti eimitati SE presenti sulmercato.Rosie è stato usato comelinguaggio base perimplementare applicazioni deltutto diverse l'una dall'altra. Atitolo di esempio citeremosolo alcuni dei piùinteressanti e complessisistemi esperti generati (evolutamente escluderemo daquesta elencazione i SE dimedicina, che la fanno dapadrone in questo campo, eche non citeremo proprio pernon cadere nel luogocomune, piuttosto diffuso,che SE=ambiente di analisimedica)

292

Esempi di applicazione di Rosie sonoArtStat, un modello decisionale applica-to ad ambiente legale (Waterman e Pe-terson, 1981). TATR (Tactical Air TargetRecommender, letteralmente consulen-te di attacco aereo tattico) e, cosa mol-to più complessa, la progettazione diAdept, una workstation sperimentaledestinata a cooperare con analisti di de-cisioni tattiche in operazioni di combat-timento terrestre.

Il primo caso è particolarmente inte-ressante in quanto evidenzia la possibi-lità di usare tecniche di strategia d'usodi regole informali in un campo piutto-sto specializzato e ristretto come quellodelle consulenze legali. Nel secondo ca-so TATR, progettato su richiesta e conesigenze specifiche della Tactical AirForce, pianifica l'uso di aerei tattici inuna azione d'attacco. Il sistema verificae determina due scelte principali; essoindica quali aerei utilizzare e quali ber-sagli attaccare in base a parametri ini-ziali e opzioni diverse inseriti dall'opera-tore e permette di prevedere inoltre leperdite e di adottare le migliori strategieper ridurre i danni prodotti dal nemico.

La workstation Adept, infine, svilup-pata dalla Rank in collaborazione con ilsistema di difesa TRW è stato forse ilprogetto più ambizioso (e riuscito) peraiutare gli analisti militari e prevedere leattività nemiche, usando rivoluzionar-mente una tecnica d'analisi quanto piùpossibile vicina a una struttura intelli-gente.

Si è adottato, in questo sistema, unavanzato uso di tecniche euristiche, e dibasi di conoscenza costruite su di esse.Il progetto, più che realizzare la work-station stessa, aveva lo scopo di verifi-care la fattibilità stessa dell'hardware edel software dedicato, e di dimostrarela utilizzabilità di tecniche di intelligenzaartificiale in questo dominio piuttostoatipico. Il progetto, prima della sua rea-lizzazione, mise a punto una dimostra-zione basata su un esempio di lavororappresentato da circa 200 regole pro-grammate mediante una accorta com-binazione di tecniche derivate da Rosiee dal linguaggio Lisp.

Vantaggi e svantaggi dellaimplementazione di Rosie

Rosie, nella sua implementazione ori-ginale, fu sviluppato in un periodo diquattro anni, dall'idea originale alla re-lease 1.0 Tutto questo tempo fu peròsufficiente a creare un prodotto ben ar-ticolato, abbastanza libero da errori, ve-loce, soprattutto, ben noto, per quantoattiene ai vantaggi e agli svantaggi deltipo di implementazione stessa.

Dei vantaggi del tipo di implementa-zione Rosie, abbiamo parlato più volte;riassumendoli qui essi possono esserecosì riuniti: leggibilità, flessibilità e faci-lità d'espressione.

Il maggior vantaggio, lo abbiamo det-to diverse volte, è rappresentato dallaleggibilità; un ingegnere della cono-scenza può scrivere una applicazione inmodo che un utente appena specializ-zato in questa area applicativa può leg-gerla in maniera immediata e facile;questo però, più che un merito del lin-guaggio stesso è frutto anche di unosforzo del programmatore stesso; è al-trettanto facile scrivere un codice sor-gente del tutto incomprensibile, così co-me lo è in altri linguaggi che godono fa-ma di facilità, comprensibilità e imme-diatezza, come Basic, Pascal o Logo.Dalla facile leggibilità discende in ma-niera pressoché immediata la possibilitàdi scrivere applicazioni facilmenteespandibili, con aggiunte al codice di ba-se dirette e immediate, ben integratenel corpo principale che rappresenta ilcodice di struttura su cui innestare leaggiunte necessarie. È appunto meritodi un buon ingegnere della conoscenzaimplementare un codice di base benscritto, regolare e ben strutturato, cuifare aggiunte non costi più di un piccolosacrificio in termini di tempo e sforzoapplicativo. In altri termini una strutturadi base scritta in maniera Rosie è, seben redatta, elastica tanto da accoglierein maniera estremamente efficientemodifiche diverse, magari applicate abasi di conoscenza differenti.

Che la leggibilità e la facile compren-sibilità del codice sorgente sia una delle

MCmicrocomputer n. 104 - febbraio 1991

INTELLIGENZA ARTIFICIALE

lagenda

flessibititàleggibitità

espressivitò

pregiI

Mu1 Isviuppi I,

supporto distrutture specializzate

caratteristiche più importanti è semprestato un cruccio dei programmatori disistemi esperti. Ogni tool o metodologiache migliora le tecniche di comunicazio-ne tra la struttura di base del program-ma e i domini che esso maneggia rap-presenta lo scopo principale, ben piùche le assurde e talora insulse corse,che si sono viste negli ultimi tempi, sul-la velocità. Una facile leggibilità e unacerta elasticità nel redigere lo schema eil file sorgente attenua molto le diffi-coltà di implementare strutture sintatti-che e algoritmiche molto complesse.Inoltre, l'avere a disposizione un back-ground idiomatico facilmente leggibileanche da un non esperto consente l'ac-cesso, alla redazione del programma, diesperti di diverse branche, appena a co-noscenza di un poco di tecnica e strut-tura programmatoria.

Il secondo vantaggio è la flessibilità; imodelli di rappresentazione tendono aessere usualmente scritti, nei linguaggitradizionali di programmazione, usandostrutture logiche fortemente nidificate estrutture di dati costruite per servirequeste in maniera abbastanza univoca.Tutto questo porta a gravi problemi, rap-presentati essenzialmente da notevolidifficoltà quando si desidera effettuaremodifiche all'algoritmo di base o co-munque alla struttura fondamentale delprogramma della base di dati. AI con-trario Rosie (e tutti i successivi linguaggidestinati alla produzione di sistemiesperti) permette, e anche incoraggia losviluppo di programmi altamente modu-lari che non impediscono una conside-revole flessibilità quando su di essi si in-terviene per consentire una espansioneragionata.

La struttura principale dei programmiscritti in Rosie è rappresentata da unset di regole condizionali (come non po-tevano essere in un sistema esperto ì);la differenza che Rosie determina è rap-presentato da un blocco di poche regolestrutturate a grappolo, più complesseda realizzare, leggere e, eventualmentecorreggere o modificare, e da un'ampiamesse di regole «piatte», composte disemplici fatti o di condizioni poco com-

MCmicrocomputer n. 104 - febbraio 1991

efficienza

+ espressi'vità

Le caratteristiche e le nuove prospettive di Rosie.

plesse. Questo tipo di struttura permet-te di individuare facilmente i punti di in-nesto di nuove regole, destinate ad am-pliare e modificare la struttura di base;il risultato finale è una struttura di basemolto «scheletrica», che permette dimodificare o ridisegnare completamen-te un programma senza «buttar via»nulla, senza, cioè, disperdere lavoro(routine, oggetti, regole, fatti) che pos-sono essere riutilizzati (è un poco il con-cetto della programmazione objectoriented, trattata su altre pagine di que-sta rivista).

L'ultima dote, la capacità espressiva,si basa sulla caratteristica principale diRosie: ricchezza e complessità del lin-guaggio stesso. Di pari passo con lachiarezza, un comando o una serie di re-gole possono essere espressi in mododiverso pur portando allo stesso risulta-to finale. È come dire che è più facile,espressivo e piacevole parlare in linguaumana che non in linguaggio di pro-grammazione; non solo, ma una parti-colare facility presente in Rosie permet-te addirittura di «inventare» nuoveespressioni e modi di dire, del tuttosimmetrici ed equivalenti a quelli imple-mentati come patrimonio di base del lin-guaggio

leg~biità

metastrutture

ottrimizzazlonedella conoscenza

Come per tutte le cose della vita, an-che in Rosie non tutto è rose e fiori;esistono degli svantaggi che gli stessiimplementatori, con grande chiarezza eserietà professionale non mancano dievidenziare: il primo difetto di Rosie èlegato alla sua efficienza, il secondo allasua «scrivibilità».

Rosie è scritto in Interlisp, una vec-chia versione di Lisp piuttosto lenta enon priva di limiti; tutto questo porta arendere difficoltoso e talora virtualmen-te impossibile lo sviluppo e il test di mo-delli complessi. Rosie fu sviluppato, perla verità, all'inizio come un esperimen-to; come tale gli implementatori nontennero in nessun conto la velocità e lagrandezza del codice; il loro principaleobiettivo era quello di creare una «mac-china» per lo sviluppo di sistemi com-piessi. Questa mancanza di attenzioneai due parametri precedentemente evi-denziati portò a modelli il cui sviluppo,debug e messa su strada risultavaestremamente frustrante e tedioso.L'influenza di Interlisp, che già di per séè un sistema esperto, e che qui dovevaa sua volta generare un successivo si-stema esperto e pesante in ogni mo-mento della costruzione del program-ma, dalla costruzione dello scheletro ini-

293

INTELLIGENZA ARTIFICIALE

ziale fino alla stesura del codice finale.Klahr e Waterman, gli autori di Rosie,

consapevoli dei limiti della loro creatura,riscrissero completamente in linguaggioPSL (Portable Standard Lisp). la lorocreatura; e questo fu un bene, non soloin termini di accresciuta facilità d'usodel programma stesso, ma anche per-ché questo linguaggio era ed è moltopiù diffuso dell'altro. Vantaggio non tra-scurabile, alla fine, fu anche un certomiglioramento nella velocità di esecu-zione del programma stesso.

Il secondo difetto è come dicevamo,la ridotta scrivibilità; questo sembrereb-be una contraddizione in termini conquanto detto in precedenza circa la leg-gibilità, ma l'affermazione va considera-ta solo in funzione della difficile ricercanel trovare appropriate forme linguisti-che per alcuni concetti. Forse la sua no-tevole somiglianza con la lingua inglese,

a volte, si trasforma in un difetto; l'u-tente, spinto dalla errata convinzioneche tutto, sotto forma di frasi simili allalingua parlata, gli è permesso, è spintoa lasciar andare un poco le briglie dellestrutture linguistiche, con il pericolo ditrovarsi con frasi che Rosie non capi-sce. Alcune regole presentate dal lin-guaggio stesso e facili da ricordare sonostate introdotte per limitare questa ec-cessiva ,<libertà» di espressione nellaprogrammazione, questo ha portato allafine a rendere un poco più rigido il pro-blema, che se da una parte hanno limi-tato un poco l'espressività del linguag-gio stesso, hanno dall'altra imposto unacerta rigidità, e conseguente necessitàd'ordine, che non ha affatto nuociuto al-la leggibilità del sorgente, ma ha miglio-rato di molto le tecniche di scrittura delprogramma stesso.

I futuri sviluppi di RosieDopo la prima release, accolta con in-

teresse e successo nel mondo dell'A.1.

Rosie è stato oggetto di una serie di mi-gliori e upgrading di notevole qualità elivello. Gli sforzi espressi dagli imple-mentatori sono stati orientati versoquattro categorie: ancora espressività,supporto di strutture specializzate, me-tacomandi (metalinguistici, metastruttu-rali e di metacontrollo), e ottimizzazionedella conoscenza di base.

Riguardo alla espressività si trattavadi portare avanti lo sforzo già realizzatoin parte; si trattava infatti di rendere perquanto più possibile, accettabili le for-me della lingua inglese, sintattiche egrammaticali. Ovviamente nessun lin-guaggio informatico può coprire tutta lalingua parlata. Così alcune forme lingui-stiche, come i verbi passivi, sono esclu-si dal vocabolario e dalla comprensionedel linguaggio Rosie. Si tratta quindi dicostruire forme accessorie che, senzaadottare la forma passiva, siano facil-mente comprensibili da Rosie stesso, enon modifichino il significato iniziale del-l'ordine o della frase. Inoltre frasi nonesprimenti concetti certi, come "A po-

Sulla debolezza della mente umanaChi usa correntemente il Macintosh si

sarà sicuramente chiesto come fanno pro-grammi come Draw, MiniCad, o meglioClaris Cad a contenere, in un file di pochiK, una messe anche estesa di figure com-piesse. la deduzione più logica è che nelfile sia rappresentata tutta la pagina, puntoper punto, dell'intero foglio di lavoro (cosìcome, in effetti fa, uno scanner quandolegge una pagina di scritto o di disegno);ma poi ci viene un dubbio; riapriamo il do-cumento e sbattiamo un elemento del di-segno stesso in quarta pagina; secondo lalogica, se il programma non fa che registra-re tutti i punti del documento, lo stesso di-segno dovrebbe occupare quattro voltespazio; con lo stesso ragionamento, un fo-glio pieno di figure e uno contenente unasola, magari occupante la intera pagina, do-vrebbero avere la stessa grandezza, o me-glio, lo stesso «peso».

Invece non è così, per nostra fortuna.D'altro canto, se casi fosse, non saremmopiù nella possibilità di modificare e sposta-re oggetti sulla pagina alla riapertura del filestesso. Ci deve quindi essere una differen-te forma di cofidica.

Il lettore ci perdoni questa digressione,che forse gli sembra banale (e magariorientata a uso e consumo del mio amatoMac). ma volevo solo evidenziare che unamacchina, quando salva un file di tal fatta,non lo fa certo per pixel; usa invece unacodifica, uno schema di memorizzazione,che sia nel contempo meno dispendioso intermini di memoria e molto più efficiente.la macchina usa (ed è una delle rare volte)una forma di codifica e rappresentazionemolto simile a quella di un cervello umano.

l'uomo memorizza la forma degli oggettisenza tener conto della loro effettiva di-

294

mensione fisica ma applicando se casi sipuò dire, tecniche di data base agli oggettiche sta analizzando; il cervello umanoquando guarda un oggetto o una figura, siaessa un semplice quadrato, o MozzafiatoMahoney che segue Dick Tracy, riempieuna serie di campi in una scheda immagi-naria (un record) che automaticamente sicrea in mente; così un record «Ferrari»sarà rappresentato dal campo modello (chepoi comprenderà altri record, come posizio-ne dei fanali, numero delle porte, dimen-sione delle ruote, ecc), colore, accessori(magari compresa Mozzafiatol). e così via.Un semplice rettangolo sulla carta, al con-trario sarà rappresentato dalla disposizionedella figura (Tl, BR, per usare una notazio-ne cara ai linguaggi di programmazione) edalla forma; il resto è inutile e forse so-vrabbondante. È così che i vari oggetti so-no conservati nel file MacDraw; efficienza,rapidità e scarse possibilità d'errore.

la forma con cui l'informazione visivaviene memorizzata dall'uomo è tutto fuor-ché la semplice immagine stampata sullaretina; ogni oggetto presente nella nostramente è il risultato di un lavoro di codificaistantaneo ancorché immediato, che vieneeseguito talora inconsciamente. A dimo-strare tutto questo concorre un esperimen-to eseguito da Jean Hayes (casi come ri-ferito da Michie e Johnston, opera diversevolte citata) su una classe di un asilo in-fantile.

Hayes mostrò a una bambina di tre annie mezzo un quadrato, orientato a 45° echiese alla bambina di ridisegnarlo. Questadisegnò, la prima volta, qualcosa di similealla figura al, ma dopo qualche minuto, aduna anloga richiestra, tracciò il disegno difigura a2; alla richiesta del motivo per cui

avesse disegnato questa nuova forma, labambina si giustificò dicendo testualmentedi aver dimenticato, nel primo disegno, dimettere «le cose dure», le «cose che van-no su e giù» e i pezzettini verticali.

Sono rimasto estremamente affascinatodall'esperimento e ho provato a fare lostesso con mio nipote Francesco, dellastessa età; devo dire di essere stato im-pressionato dalla somiglianza dei risultati(anche se owiamente non ha usato le stes-se parole per chiamare i lati e gli spigoli).Anche lui, al terzo tentativo del disegno(sono giustificato dal fatto che non sapevoquanto tempo era intercorso, nell'esperi-mento originale, tra il primo e il secondodisegno). dopo circa due ore, ha tracciato ildisegno di figura b3, che, con le dovute ap-prossimazioni, può essere ritenuto simile aquello del test di Hayes

Per tutto ciò Hayes fornisce una spiega-zione del tutto plausibile, rna che dimostracome certi schemi rappresentativi e strut-turali siano del tutto innati nella menteumana; egli racconta che il bambino, sol-lecitato a giustificare il motivo della suarappresentazione abbia lasciato stranamen-te intendere come il suo disegno sia la rap-presentazione schematica. del disegno intermini dei suoi elementi costitutivi, nonsolo sotto il punto di vista fisico, ma ancheper così dire semantico; così «le cose chevanno su e giù», secondo la ricostruzionedi Hayes, sono i lati, le «cose dure» sonogli angoli e i «pezzettini laterali» sono i lati.Nel disegno di Checço il risultato è lo stes-so, se si tien conto dello scopo che ognipezzo del disegno ha nel contesto genera-le. Fatto sta che quando ho parlato con miofratello delle analogie tra il mio Mac e suofiglio, mi ha guardato con fare strano, dan-

MCmicrocomputer n. 104 - febbraio 1991

Conclusioni

Termina qui il nostro discorso su Ro-sie, un linguaggio da sistema espertonon nuovo, ma che tuttora rappresentaun punto di riferimento per chi si avven-tura sulla ardua strada dei sistemi esper-ti. Abbiamo visto come i suoi punti diforza siano una struttura linguistica mol-to simile alla lingua inglese, che permet-te di costruire prototipi e ambienti di svi-luppo di grande potenza ed efficienza.Merito di Rosie è stato quello di mostra-re come le tecniche di analisi sintatticapossano permettere di «umanizzare» lin-guaggi di programmazione anche estre-mamente specializzati. Con questo si-stema anche argomenti non semplici di-vengono alla portata di chi possiede basiaddirittura non specialistiche. Infine ilmaggior difetto di Rosie, la sua lentezza,pur rimanendo il suo vero punto debole,è stato affrontato in diverse occasioni, e,oggi, il problema è parzialmente risolto,in parte migliorando la struttura stessadel linguaggio, in parte ricorrendo a toolprogrammatori più sofisticati e potenti.

Abbiamo così concluso il nostro iter inuno dei più vecchi ma ancora efficientilinguaggi-ambiente per Sistemi Esperti.Ancora oggi Rosie rappresenta un puntodi riferimento per chi desidera affrontarela programmazione e la costruzione di unsistema esperto.

La prossima volta parleremo di un al-tro linguaggio, tanto più specialisticoquanto più Rosie era generale; «Ross»,un ambiente fatto apposta per maneg-giare simulazioni. r;:;rs

INTELLIGENZA ARTIFICIALE

ma in PSI (che, al contrario del classicoL1SP, è un linguaggio compilato). Un'al-tra tecnica, quella della valutazione sim-bolica, permette di articolare e trasfor-mare le chiamate a funzioni che hannoalmeno una chiamata a un argomentocostante in una equivalente chiamata auna nuova funzione, che non ha più bi-sogno dell'argomento costante. Questoprocesso, noto appunto come valutazio-ne simbolica, genera un codice esegui-bile molto più rapidamente, anche setalvolta a danno di una maggior quantitàdi memoria occupata. Tutto sta, quindiad adottare un uso giudizioso in questatecnica, incrementando la velocità diesecuzione senza sacrificare molto la di-sponibilità di memoria.

La sola valutazione simbolica non puòpermettere, da sola, grandi vantaggi intermini di velocità; può invece farlo seabbinata in maniera efficiente con letecniche precedentemente descritte(primi tra tutti i metacomandi). Ma quinon interviene più la potenza di linguag-gio, ma solo le potenzialità e l'abilità delprogrammatore.

Figura b - Sequenza didisegno eseguita suun esperimento del-l'autore; il terzo dise-gno è stato tracciatodopo circa due ore dalprimo.

T

.•• Figura a - Rappresen-tazione di un quadrato(da Haynes e Piaget).

terzo di segno

Pezzettini laterali"(lati orizzonta lì)

l'autoriferimento. I costrutti metalingui-stici permettono, appunto l'autoriferi-mento ... Il risultato finale di questa filo-sofia è la possibilità di disporre di lin-guaggi autoconfigurantisi e automodifi-cantisi. AI limite, un buon metalinguag-gio permette all'utente di scrivere nuovimonitor e di controllare motori inferen-ziali sulla base di un set di regole pre-costitu ite.

L'ultima area di sviluppo potrebbe es-sere la ottimizzazione delle basi di co-noscenza, eterna croce dei sistemiesperti. Rosie, in certe applicazioni cheadottano basi di dati piuttosto estese,rallenta in maniera esasperante; l'ado-zione di metacomandi aggiunge nuovopeso, rallentando ancora di più l'anda-tura, già certamente non veloce del car-rozzone. Per correggere questo difetto,Waterman & C. hanno adottato la tec-nica di sviluppare metodi che non soloottimizzano il codice interno (in terminidi velocità ed efficienza del costrutto),ma anche il codice che l'ambiente ge-nera quando Rosie compila un program-

ingegneri della conoscenza nei loro sistemiesperti (ricordate le forme elementari di cuidicemmo negli articoli "See, per vede-re?"); ma quali sono le aree del cervellodeputate alla schematizzazione e alla con-servazione di queste informazioni? lo ve-dremo la prossima volta.

a2

secondo disegno

"Con che V.lnnosu (> giù" (lati VI

Spie-gaz;one data d~lla bambina

secondo disegno

cose dure(angoli)

al

pri ma di segno

pri ma di segno

do chiari segni di non essere molto soddi-sfatto.

Somiglianza della macchina all'uomo?Sembrerebbe di sì se, da come vediamo,sembra emergere che il cervello memoriz-za secondo schemi e modelli estremamen-te simili a quelli con cui giocherellano gli

trebbe amare B» o futuri, come «Aamerà B» non sono facilmente Imple-mentabili in ambiente Rosie.

Per quanto invece attiene alle strut-ture specializzate, il primo scopo perse-guito nelle successive release di Rosieè stato e sarà quello di comprenderestrutture specifiche di diverse discipli-ne, che possano essere agevolmenteadottate e utilizzate dal linguaggio. Unnotevole sforzo è stato adottato, adesempio, per permettere la utilizzabilitàdi tabelle decisionali, o di implementaresituazioni in termini di oggetti (vedi pun-tate del giugno e luglio '90), proprio perpermettere di raggiungere quella com-pattezza di codice che come abbiamodetto, Rosie, fin dall'inizio, non si èpreoccupato di avere.

Una terza area di sviluppo è senzadubbio quella dei metaoggetti, strutturemetalinguistiche che permettono di mi-gliorare l'efficienza e, talora, la espres-sività del codice. Inoltre i costrutti me-talinguistici permettono di disporre diun potente tool di programmazione,

MCmicrocomputer n. 104 - febbraio 1991 295


Recommended