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 PRO. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici MAKER e PRO inoltre potrai fare il download (PDF) dell'EOS-Book e di FIRMWARE del mese. 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