Corso di Logica ed Automi

Introduzione al corso di Logica ed Automi

 

Benvenuti al corso di logica e di automi su Software Planet!
Non ho idea se voi siate venuti a leggere questo articolo per semplice curiosità o perché vi interessa particolarmente, ma una cosa è certa: questo corso vi sarà realmente utile sia che vuoi dobbiate scrivere un banalissimo programmino o abbiate a che fare, magari nel vostro corso di studi, con questi argomenti.

Ma partiamo dal principio.

Innanzitutto cerchiamo di definire la logica e spiegare a cosa mai ci potrà servire. Si potrebbe dire che fa parte di un ramo della matematica, l’algebra, ed è nata e si è sviluppata nell’ambito della teoria degli insiemi. Sicuramente tutti voi avete sentito parlare di variabili o espressioni Booleane, questo nome discende proprio da tal signor Boole che per primo “inventò” l’algebra booleana, per l’appunto. Da questo momento in poi la logica, soprattutto con l’avvento dei computer, ha assunto un ruolo sempre più importante in ambito matematico per dilagare successivamente in altri campi applicativi. Noi ovviamente parleremo di quello che più ci interessa, i computer e la programmazione.

Per una curiosa coincidenza la logica si basa tutta su “variabili”, per ora le chiamiamo così, che sono o vere o false, non ci sono vie di mezzo, e si indicano anche con 0 (zero) e 1 (uno!) e guarda caso i computer sanno lavorare esclusivamente su Zeri e Uni!! Questo dovrebbe farvi già intuire l’importanza che ha assunto la logica in ambito informatico, ma non si ferma solo qui! Essendo una disciplina matematica è esatta e quindi priva di errori o incertezze (gli unici che possono commetterle siamo noi umani) e questo ci da una mano enorme, ma come?

A questo punto viene fuori il discorso principale: ma come ci può tornare utile la logica? Semplice, essa serve per specificare, progettare, definire, verificare ogni programma o algoritmo che noi creiamo oppure ogni circuito logico che si voglia realizzare (ma questo lo lascieremo a coloro che stanno di casa alla Intel & co.).

In pratica, se vogliamo sviluppare un semplicissimo algoritmo possiamo aprire il nostro editor di C++, Java o di altri linguaggi, e metterci a scrivere una serie di istruzioni pregando di non aver tralasciato niente. Questo ovviamente, per chi abbia un minimo di pratica nel programmare, non succederà mai, nel senso che non ci funzionerà sicuramente al primo tentativo, ma dovremo sempre andare a mettere mano nel codice per fare le opportune correzioni.
Se al contrario prima specifichiamo il nostro algoritmo con delle formulette logiche e le verifichiamo, scrivere il nostro programmino sarà molto più immediato e semplice. Non solo, ma se un giorno vorremo modificare il nostro algoritmo o programma non dovremo andare a rileggere il codice per capire che cosa volevamo fare e come, ma abbiamo la documentazione che avevamo preparato con le nostre formule logiche che ci aiuteranno subito a capire come avevamo progettato il nostro algoritmo.
Se tutto ciò non vi è ancora del tutto chiaro sicuramente nelle lezioni successive dopo che avrete masticato un po’ di logica vi sembrerà tutto molto più chiaro.

La parte del corso riguardante automi e reti di petri la affronteremo pù avanti dopo la logica, e quindi per ora non mi sto a dilungare troppo nello spiegare questo argomento. Per chi non ne avesse idea, gli automi, e successivamente le reti di Petri, hanno un utilità simile alla logica, ma si utilizzano in un ambito leggermente differente. Vengono infatti utilizzati quando dobbiamo specificare una serie di azioni da compiere e le loro correlazioni con altri eventi che devono accadere. Un esempio banale potrebbe essere: se oggi piove e devo uscire di casa prendo l’ombrello, esco di casa e vado alla macchina ma la utilizzo solo se mio figlio ieri sera l’ha riportata a casa integra! Oppure se l’utente vuole verificare se una frase è un palindromo devo fare certe operazioni, ecc..

In ultima battuta vi informo che durante il corso vi darò degli esercizi da svolgere per conto vostro, sempre che ne abbiate voglia!, e successivamente vi darò un mio svolgimento in modo tale da poterlo verificare col vostro.
A proposito sapete cos’è un palindromo? No? Lo scoprirete nella prossima lezione insieme ad un inizio di infarinatura di logica, a presto!

 

 

Torna all'indice Generale del corso di Corso di Logica ed Automi di Software Planet