✖

Informatica

Linguaggi formali

Che cos’è un linguaggio formale, un alfabeto e una parola. I concetti di base della teoria dei linguaggi formali, spiegati confrontandoli con il linguaggio comune e con esempi.

Automi a stati finiti

L’automa a stati finiti come modello di calcolo con stati e transizioni. Definizione, diagramma degli stati, formalizzazione del calcolo ed esempi di parole accettate.

Minimizzazione degli automi

Gli stati irraggiungibili di un automa a stati finiti, cioè quelli in cui non si può arrivare dallo stato iniziale. La definizione e come eliminarli in modo sicuro dall’automa.

Proprietà di chiusura dei linguaggi regolari

I linguaggi regolari sono chiusi rispetto a unione, intersezione, concatenazione e chiusura di Kleene. Cosa significa chiusura rispetto a un’operazione e perché vale per i linguaggi regolari.

Espressioni regolari

Che cos’è un’espressione regolare e come descrive un insieme di parole. Definizione, confronto con le espressioni aritmetiche e legame con gli automi a stati finiti.

Stima del numero di valori distinti

Linear counting: come stimare il numero di valori distinti in grandi quantità di dati. Funzioni di hash, bitmap e perché l’approccio ingenuo non basta.

Filtro di Bloom: un elemento appartiene all’insieme?

Il filtro di Bloom è una struttura dati probabilistica che risponde rapidamente se un elemento appartiene a un insieme. Principio di funzionamento, funzioni di hash e usi pratici.

Cifrario di Cesare

Come funziona il cifrario di Cesare, uno dei più antichi metodi per cifrare un testo. Il principio dello scorrimento delle lettere, la generalizzazione del cifrario e uno strumento online.

Cifrario di Vigenère

Il cifrario di Vigenère usa più alfabeti e per questo resiste all’analisi delle frequenze. Come funziona la cifratura, il quadrato di Vigenère, la scelta della chiave e uno strumento online.