libertas.sm logo news informazioni san marino rimini romagna
libertas romagna san marino applicazioni mobile apple android
h 11:19 giovedì 24 maggio 2012/1711 d.F.R. english version

Informatica nella didattica utilizzando il linguaggio prolog (Marino Cecchetti)

Condividi:

 UN APPROCCIO INFORMATICO ATTRAVERSO L'ITALIANO

.(Scuola viva, n.4, marzo 1992, Società Editrice Internazionale, Torino)

 

Si può introdurre l'informatica attraverso l'italiano? Riandiamo al significato del termine: trattazione automatica delle informazioni. Di informazioni si parla nell'insegna­mento di italiano, precisamente  all'interno del  tema, più generale, della comunicazione. Alla comunicazione le gramma­tiche dedicano largo spazio dopo l'ultima stesura dei programmi: è una conseguenza delle nuove teorie linguistiche, al cui sviluppo hanno concorso anche centri di ricerca in informatica. In varie forme nelle grammatiche  viene proposto lo schema di Roman Jako­bson che  descrive, come è noto, rapporti comunicativi non soltanto del tipo uomo uomo.           Ma in informatica in pratica che si fa? Si trasmettono informazioni a una macchina, gliele si fa lavorare (elaborare) e dalla macchina si riceve il prodotto finito, cioè ancora informazioni.

     Non è possibile comunicare con una macchina in lingua naturale. Occorre neces­sariamente ridurne la complessità e la ricchezza vincolandola alle condizioni di un qualche linguaggio artifi­ciale. Il PROLOG è uno di questi: rispetto ad altri costringe, a nostro avviso, ad adatta­menti meno forzo­si, cioè non ci obbliga ad allontanarci troppo dagli  schemi cui siamo più abituati. Vediamo. Noi, nei nostri rapporti comunicativi ordinari, per trasmettere conoscenze elementari prodotte dalla nostra mente adoperiamo frasi del tipo

                          * il ferro è pesante

per indicare le proprietà delle cose (e cioè per dividerle in categorie),  ed adoperiamo frasi del tipo

                          * la ruggine corrode il ferro

per stabilire un legame fra le cose.

 

In ciascun caso è il verbo che regge tutto: o come predicato nominale o come predicato verbale. Ebbene? Per tradurre in PROLOG basta isolare il verbo e poi elencare le cose. Proprio così:

                            è_pesante(ferro).

                            corrode(ruggine,ferro).

Ecco due frasi PROLOG. E' facile esprimere conoscenze in PROLOG. Il computer le riceve attraverso la tastiera, le sistema in un magazzino o archi­vio ed è pronto a lavorarci su.

Poiché in tutte le materie scolastiche si trattano conoscen­ze, e poiché in ogni insegnamento si lavora in italiano (la lingua naturale è il codice di riferimento per tutti gli altri codici), ecco che allora tutti ed in tutte le discipline possono adoperare il computer. Il risvolto interdisci­plinare è più profondo (transdisciplinarità?) di quanto non appaia a prima vista. Lo vedre­mo più avanti.     

     Adesso è arrivato il momento di fare una ammissione. Nella nostra scuola, non siamo arrivati all'in­formatica per la strada or ora esposta, ma, come tanti del resto, abbiamo cominciato ad occuparci di informatica nei primi anni '80, con l'esplodere della  computermania ed anche... dei corsi detti di alfabe­tizzazione informatica. Ci interessava  non assecondare la moda quanto sfruttarne  gli stimoli per le finalità proprie della scuola, cioè per obiet­tivi formativi:

- privilegiare gli aspetti culturali su quelli tecnici;

- coinvolgere gli insegnanti di tutte le discipline;

- mettere da subito i ragazzi in grado di svolgere un ruolo     attivo nei confronti della macchina.

E' possibile soddisfare tutte queste condizioni se si uti­lizzano i   linguaggi informatici più consueti, quelli pro­cedurali, quali il BASIC, il PASCAL...? Ci abbiamo provato. Non ci siamo riusciti. Questi linguaggi si presentano come dei maci­na numeri:  non è facile collegare, già alle prime battute, l'informatica   al suo significato primo: trattamento automatico delle in­formazioni.

     Il PROLOG è un linguaggio dichiarativo, consente di trattare conoscenze da subito: tutti gli insegnanti sono posti sullo stesso piano. Inoltre, nella riflessione sulla logica che questa scelta comporta, si ritrovano sia gli inse­gnanti che provengono da una formazione scientifica che coloro che provengono da una formazione umanistica. E viene subito in  evidenza che l'informatica non è un prodotto spurio della nostra cultura: ne rappre­senta anzi un frutto naturale, una naturale evoluzione. Infatti chi adopera la macchina computer che parla PROLOG, ritrova la logica,  la stessa logica che ha mosso i primi passi con Aristotele, è cresciuta nel medioevo, ha avuto un enorme  sviluppo negli ultimi due secoli, come logica matematica. 

     Da subito si può usare  il computer ed in modo  signi­ficativo (ed utile), cioè mettendolo al  nostro servizio a lavorare nostre conoscenze e secondo le nostre specifiche  esigenze. Seguiamo questo esempio.  Siamo a scuola. Abbiamo inse­gnanti, ragazzi, materie e  classi. Descriviamo la si­tua­zione degli insegnanti con semplici frasi del tipo: Ricci insegna inglese in 2A, Giorgi insegna matematica in 1B ecc. Mentre per i ragazzi: Giorgio frequenta la 1B, Maria fre­quenta la 2A ecc. Queste frasi possono essere tradotte in PROLOG così:

     insegna(ricci,inglese,2A).

     insegna(giorgi,matematica,1B).

     insegna(rippi,italiano,1B).

     frequenta(giorgio,1B).

     frequenta(maria,2A).

     frequenta(mirco,1B).

Queste (secche) affermazioni  che descrivono un AMBIENTE vengo­no chiamate FATTI e costituiscono la BASE DI CONOSCENZA su cui il computer può lavorare (da notare che non si sono adoperate le maiuscole per una que­stione puramente tecnica di cui vedremo dopo il motivo). Adesso il computer è in grado di lavorare per noi, di soddisfare le nostre esigenze che esprimeremo attraverso frasi-domande, adoperando predicati che già il computer conosce. Qualche esempio. Cominciamo con una domanda di verifica: Maria frequenta la 2A? Basta tradurre la domanda in una frase PROLOG:  frequenta(maria,2A) ed ecco che il computer risponde: VERO. Il computer è in grado di rispon­dere anche a domande  di ricerca di un nome. Esempio: Chi insegna matema­tica in 1B? Basta scrivere la domanda  così: insegna(Chi, matematica, 1B) ed ecco che abbiamo di ritorno: Chi = giorgi (bisogna solo adoperare questa avvertenza: nel posto del nome che si va a cercare si deve met­tere una lettera maiuscola o una parola che cominci con una lettera maiuscola). Da notare che per formulare una domanda si adoperano comunque predicati che fanno parte della BASE DI CONOSCENZA.

     Chiaramente il tutto diventa assai più interessante se gli insegnanti, gli alunni ecc. sono tanti, anche centinaia, anche migliaia: allora sì che il computer può dimostrare quanto è veloce e preciso. Ecco perchè si era detto che anche i ragazzi possono da subito svolgere un ruolo attivo nei confronti della macchina. Nel senso che sono in grado ben presto di immettere conoscenze e interrogare la macchi­na. Questo noi intendiamo per uso si­gnificativo e corretto.

     Ma un altro aspetto qui ci preme mettere in rilievo: inse­gnare al computer a ricavare conoscenze da conoscenze. Cominciamo col familiarizzare con un'altra frase PRO­LOG. Una particolare frase  con più di un predicato, ci consentirà di tradurre anche  periodi del tipo:

         se la mamma sta in casa, Marco studia la lezione.

E' un periodo ipotetico, detto del primo tipo o della realtà: l'evento espresso dalla proposizione reggente (Marco studia la lezione) si verifica nell'ipotesi che si verifichi l'e­vento espresso dalla dipendente (la mamma sta in casa). Ecco come si può tradurre in PROLOG:

       studia(marco,lezione) SE sta_in(mamma,casa).

Che leggiamo letteralmente così: Marco studia la lezione se la mamma sta in casa.  Questo tipo di frase PROLOG viene chiamato REGOLA. Il computer è in grado di interpretarla. Ma a cosa ci serve in pratica? Ritorniamo al nostro esempio di alunni, classi e professori. Supponiamo di voler sapere se il Prof. Rippi è insegnante di Mirco oppure no. La domanda si potrebbe formalizzare così: è_insegnante_di(rippi,mirco). Ma il computer non l'accetta così formulata perchè nella BASE DI CONOSCENZA non c'è il predicato  è_insegnante_di. Allora? Si può introdurre questo predicato spiegando al computer con una REGOLA che cosa vuol dire "essere insegnante di" e spiegandoglielo adoperando predicati già presenti nella BASE DI CONOSCENZA. In altre parole occorre esprimere la nuova conoscenza in termini di vecchia conoscenza. In italiano  si potrebbe dire: un professore è insegnante di un ragazzo se insegna nella classe frequentata da quel ragazzo. O anche: un professore è insegnante di un ragazzo se quel professore insegna in una classe e il ragazzo frequenta quella (stessa) classe. Traducendo direttamente in PROLOG si ha: è_insegnante_di(Professore,Ragazzo) SE insegna(Profes­sore,*,Classe)  E frequenta(Ragazzo,Classe).

Il segno "*" sta per "qualsiasi" materia. Adesso se arric­chiamo la precedente BASE DI CONOSCENZA  con l'aggiunta di questa REGOLA, il computer è in grado di rispondere alla domanda: è_insegnante_di(rippi,mirco). Avremo come risposta: VERO.  Il computer ora è anche in grado di fornirci ad esempio tutti gli alunni di un certo professore (domanda: è_insegn­ante_di(ricci,Alunno)) o gli insegnanti di un certo alunno (domanda:è_insegnante_di(Professore,maria)). Analoga­mente si potrebbe definire la REGOLA "compagni di classe".           In pratica non esiste un limite alla varietà e al numero di REGOLE che si possono introdurre su una BASE DI CONOSCENZA. Non possiamo trattarne più diffusamente, in questa sede. Qui ci siamo limitati a mostrare alcuni esempi di applicazione del PROLOG per descrivere ed elaborare conoscenze: l'AMBIEN­TE è un frammento di conoscenza, espresso mediante entità e relazioni.

     Concludendo. Lavorando col computer che parla PROLOG il ragazzo impara, ed impara ad apprendere, istruendo e interrogando il computer, quindi svolgendo un ruolo attivo nei confronti della macchina. E si esercita a lavorare con criteri logici anche in ambito non necessariamente matematico. Sul piano operativo procediamo così. Non facciamo dell'informatica un insegnamento specialistico, non ci avvalia­mo di insegnanti specializzati: fanno informatica gli insegnan­ti ordinari, nello spazio orario  del loro insegna­mento. Così l'informatica può assumere la connotazione di costante culturale che attraversa tutte le discipline, ad uso e beneficio di tutte le discipline. Obiettivo  minimo: far toccare con mano che il computer è una macchina né da demonizzare né da mitizzare, ma da dominare come le altre macchine costruite dall'uomo, a servizio e  beneficio dell'uomo.  

     In pratica noi procediamo così. Prima media: il com­puter come macchina per scrivere, utilizzando l'editor della par­tico­lare versione di PROLOG da noi scelta; l'insegna­men­to di riferimento è l'ed. tecnica. Seconda media: trattamento delle conoscenze "nozionistiche"; le lezioni introduttive del linguaggio informatico sono svolte dall'in­segnante di italiano; seguono lezioni in compresenza: ed. tecnica, italiano e matematica per introdurre i primisssimi programmi PROLOG. Terza media: la regola PROLOG. Insegna­mento di riferimento: matematica.

     L'informatica, in questo modo, sia pure in questa forma minima, può rientrare nella programmazione ordinaria.

     Nel nostro approccio il computer non è utilizzato (come usualmente avviene nel caso di linguaggi informatici di altro tipo)  quale strumento rigido che guida l'apprendimen­to lungo percorsi precostituiti  secondo la tecnica dell'i­struzione programmata, tecnica che in genere gli insegnanti rifiutano perchè basata su teorie dell'apprendimento ormai superate. Il computer diventa invece, nel nostro caso, un mezzo che contribuisce a creare un ambiente che stimola la ricerca, l'approfondimento e quindi la creatività.

 

INSERTO LOGICA

In pratica il computer che parla PROLOG si presenta come una macchi­na che sembra in grado di risolvere questioni del tipo: date delle afferma­zioni, veri­ficare se una certa altra afferma­zione (cioè la domanda) è "logicamente deduci­bile" dalle precedenti. Questioni di questa natura sono e sono state oggetto di vivo interesse fin dall'antichità. Già Aristotele aveva individuato un certo numero di forme di ragiona­men­to cor­rette, dette sillogismi. Prendiamo in esame un esempio del tipo più ricorrente: tutti gli uomini sono mortali (I ipotesi), Socrate è un uomo (II ipotesi), Socrate è mortale (conclusione). Ne diamo in parallelo una rappresentazione schematica e una traduzione in PROLOG fissando l'attenzione solo sulla forma delle proposizioni (esulando quindi dai significati) e mettendo quindi in luce l'ossatura del ragionamento:

Tutti gli  U  sono  M            è_mortale(P) SE è_uomo(P).

S è un U                              è_uomo(socrate).

_____________________             _____________________

S è un M

In pratica dalle forme delle due ipotesi (proposizioni sopra la riga) si ricava automaticamente la forma della conclusione (proposizione sotto la riga), con un procedimento indipendente dal signi­ficato delle proposizioni. Quindi il sillogismo costituisce una regola sintattica per la connessione dimostrativa delle proposizioni, senza riguardo del loro significato: è  una regola di deduzione o inferenza.

Ebbene anche in PROLOG, come nel sillogismo, abbiamo:

  * le premesse: sono le frasi  PROLOG che costituiscono           l'AMBIEN­TE cioè il programma;

  * la conclusione: è la domanda;

  * la regola di deduzione: è una  regola già  presente nel     computer (che parla PROLOG), detta REGOLA DI RISOLUZIONE.

D'altra parte in PROLOG le proposizioni, rispetto a quelle del sillo­gismo, presentano una maggiore varietà di forme; il numero delle premesse è (teoricamente) illimitato; le premesse possono essere o affermazioni di base (FATTI) o affermazioni sotto condizione (REGOLE). Quindi il computer si presenta come una macchina in grado di verifi­care se una certa proposizione è "logicamente deducibile" da un gruppo iniziale di proposizioni: esso utilizza, come nel sillogismo, una regola di deduzione di natura sintattica ma è in grado di  operare anche in ambiti più articolati e complessi di quelli del sillogismo.

Singolare è il fatto che noi, nell'introdurre le entità e le relazioni, possiamo continuare a "pensare in modo ordinario", cioè tenendo d'occhio e la correttezza sintattica e la correttezza semantica: il computer, che manipolerà tali relazioni operando esclusivamente sul piano sintattico, darà risposte che risultano essere corrette (come abbiamo già avuto modo di vedere) anche rispetto alla semantica.

   Ebbene, se poniamo al computer la domanda: è_mortale(Chi)

si ha la risposta: Chi=socrate.


Cerca nel sito

Cerca tra news, articoli e comunicati!


nel sito news e comunicati
Sponsor
Sponsor
Sponsor
Sponsor
Sponsor
Libertas.sm © 2012 by Belcom - testata di informazioni e news sulla Repubblica di San Marino