EOS

Il linguaggio Prolog e Calcolo Resistenze

Utilizziamo il linguaggio Prolog per trovare un qualsiasi valore resistivo, combinando più resistenze. Un articolo sperimentale per introdurre il "pensiero meccanizzato" al servizio dell’elettronica. Esso è un linguaggio per l’intelligenza artificiale che consente di trovare un obiettivo, dichiarando dei fatti, definire le regole e porre domande al sistema. Lungi dalla trattazione del Prolog come linguaggio, il presente articolo presuppone una conoscenza superficiale di questo, al fine di comprendere meglio i concetti trattati. I termini adottati sono, infatti, consoni all’argomento in oggetto. Per chi invece non lo conoscesse, l’occasione è buona per intraprendere lo studio in questo affascinante mondo che consente di ottenere risultati veramente impressionanti.

 

Il Prolog e differenze con altri linguaggi

Il Prolog, a differenza dei normali linguaggi procedurali (come il Basic o C), non utilizza alcun algoritmo. Non esistono, infatti, cicli, condizioni, funzioni, almeno così come essi sono normalmente considerati. Il Prolog è molto di più: il suo funzionamento, molto profondo, permette di determinare fatti e regole attraverso una base di conoscenza, che il linguaggio trasforma in nozioni, attraverso i predicati. Un po' come fa il nostro cervello...

logo

Solo a titolo di esempio, proponiamo un brevissimo programma in Prolog, per fare conoscenza con esso. Il lettore è poi invitato ad approfondire l’argomento attraverso i numerosi siti e link presenti su Internet.

Guardiamo il programma proposto nel listato 1. Esso crea semplicemente una base di conoscenza, attraverso alcune "relazioni". Così, con lessico italiano, si afferma che a Giuseppe piace l’elettronica, a Giovanni piace l’elettronica, a Marco piace il calcio, a Renato piace il calcio e a Giovanni piace il calcio. Come si vede, per memorizzare questa conoscenza non sono state utilizzate variabili, array o altri elementi di sorta ma si è semplicemente comunicato al sistema una relazione tra i fatti e gli oggetti.

 

Listato 1
piace(giuseppe,elettronica).
piace(giovanni,elettronica).
piace(marco,calcio).
piace(renato,calcio).
piace(giovanni,calcio).

 

Se a questo punto volessimo sapere a chi piace il calcio, basterà impostare la seguente domanda al sistema:

 

piace(X,calcio).

 

Il compilatore risponderà subito con:

 

X = marco
X = renato
X = giovanni

 

Se volessimo sapere invece cosa piace a Giovanni basterà scrivere:

 

piace(giovanni,X)

 

ed il compilatore risponderà con:

 

X = elettronica
X = calcio

Questo criterio di sostituzione permette di interrogare il database alla ricerca dei risultati desiderati. Ovviamente è possibile fare molto di più.

 

La Ricorsione

Uno dei punti di forza del linguaggio Prolog è certamente la ricorsione, con la quale una funzione può richiamare se stessa, permettendo una creazione algoritmica sicuramente più compatta, logica ed elegante, ma a discapito di una maggiore occupazione [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2775 parole ed è riservato agli abbonati PLATINUM. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici MAKER e PLATINUM e potrai fare il download (PDF) di tutti gli EOS-Book, Firmware e degli speciali MONOTEMATICI. ABBONATI ORA, è semplice e sicuro.

Abbonati alle riviste di elettronica

3 Commenti

  1. Andrea Tazio Giusti 20 novembre 2015
  2. Maurizio Di Paolo Emilio Maurizio 22 novembre 2015
  3. Giovanni Di Maria Giovanni Di Maria 23 novembre 2015

Scrivi un commento

EOS