Fondamenti di Informatica I – Teoria degli Automi e dei Linguaggi

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/44

flashcard set

Earn XP

Description and Tags

Flashcard di stile domanda-risposta sui concetti chiave di algoritmi, problemi, modelli di calcolo, linguaggi formali, grammatiche, automi finiti, espressioni regolari, pumping lemma, chiusura dei linguaggi, PDA e forme normali delle grammatiche.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

45 Terms

1
New cards

Che cos’è un algoritmo?

Una sequenza finita di passi ben definiti che risolve un problema, con finitudine, determinismo, effettività, ingressi e uscite.

2
New cards

Qual è la differenza tra problema computazionale e algoritmo?

Il problema computazionale è la funzione astratta da calcolare; l’algoritmo è la procedura concreta che risolve un’istanza del problema.

3
New cards

Quando un problema è decidibile?

Quando esiste un algoritmo che lo risolve in tempo finito per ogni possibile input.

4
New cards

Cosa distingue problemi trattabili da intrattabili?

I trattabili hanno algoritmi a tempo polinomiale (classe P), gli intrattabili richiedono tempo super-polinomiale (es. NP-completi).

5
New cards

Quale modello di calcolo è il riferimento fondamentale per la computabilità?

La Macchina di Turing.

6
New cards

Che cos’è un linguaggio formale?

Un insieme (possibilmente infinito) di stringhe su un alfabeto finito.

7
New cards

Definisci operazione di stella di Kleene su un linguaggio L.

L* è l’insieme di tutte le concatenazioni finite (inclusa la stringa vuota) di parole di L.

8
New cards

Da quali componenti è composta una grammatica formale G = (V, Σ, R, S)?

Simboli non terminali V, terminali Σ, regole di produzione R, simbolo iniziale S.

9
New cards

Qual è il livello più potente della gerarchia di Chomsky?

Il Tipo 0 (grammatiche libere), che genera i linguaggi ricorsivamente enumerabili.

10
New cards

Quale automa riconosce i linguaggi regolari (Tipo 3)?

L’automa a stati finiti deterministico o non deterministico (DFA/NFA).

11
New cards

Che cos’è la powerset construction?

Procedura che trasforma un NFA in un DFA usando come stati del DFA i sottoinsiemi degli stati dell’NFA.

12
New cards

Quando un DFA accetta una stringa w?

Se, partendo dallo stato iniziale, dopo aver letto tutta w si trova in uno stato finale.

13
New cards

Che cos’è una configurazione di un automa?

Fotografia dello stato attuale: stato interno, input rimanente (e contenuto dei nastri/pila se presenti).

14
New cards

Definizione formale di DFA.

Quintupla (Q, Σ, δ, q₀, F) con Q stati, Σ alfabeto, δ funzione di transizione, q₀ stato iniziale, F stati finali.

15
New cards

Cosa rende un NFA non deterministico?

Almeno una configurazione ha più di una transizione possibile (anche ε-transizioni).

16
New cards

Condizione di accettazione di un NFA.

Esiste almeno una computazione che porta dallo stato iniziale a uno stato finale consumando tutto l’input.

17
New cards

Qual è la relazione di potere espressivo fra DFA e NFA?

Sono equivalenti: riconoscono esattamente gli stessi linguaggi regolari.

18
New cards

Definisci ε-chiusura di uno stato q.

L’insieme di tutti gli stati raggiungibili da q tramite sole transizioni ε, incluso q stesso.

19
New cards

Come si trasforma un ε-NFA in un NFA senza ε?

Calcolando l’ε-chiusura di ogni stato, aggiornando le transizioni e i set di stati finali.

20
New cards

Quando due grammatiche G1 e G2 sono equivalenti?

Quando generano lo stesso linguaggio: L(G1) = L(G2).

21
New cards

Forma delle produzioni in una grammatica regolare destra-lineare.

A → aB, A → a oppure A → ε (A,B non terminali, a terminale).

22
New cards

Passi per convertire una grammatica regolare in un DFA.

Ogni non terminale → stato; S → stato iniziale; produzioni A→aB trasformate in transizioni etichettate da a; A→a o ε definiscono stati finali.

23
New cards

Quali sono gli operatori base nelle espressioni regolari?

Unione (|), concatenazione, chiusura di Kleene (*).

24
New cards

Enunciato del Pumping Lemma per linguaggi regolari.

Esiste p≥1 tale che ogni stringa w∈L con |w|≥p può essere divisa w=xyz con |xy|≤p, |y|≥1 e xyⁱz∈L per ogni i≥0.

25
New cards

Perché il linguaggio {aⁿbⁿ | n≥0} non è regolare (uso del pumping lemma)?

Per w=aᵖbᵖ la parte pompabile y contiene solo ‘a’; pompando otteniamo più ‘a’ che ‘b’, fuori dal linguaggio → contraddizione.

26
New cards

Enunciato del Pumping Lemma per linguaggi context-free.

Esiste p≥1 tale che ogni w∈L con |w|≥p si scrive w=uvxyz con |vxy|≤p, |vy|≥1 e uvⁱxyⁱz∈L per ogni i≥0.

27
New cards

Che cosa dimostra il linguaggio {aⁿbⁿcⁿ} riguardo ai CF?

Non è context-free (dal pumping lemma CF).

28
New cards

Operazioni di chiusura dei linguaggi regolari.

Chiusi sotto unione, intersezione, complemento, concatenazione, stella di Kleene.

29
New cards

Come si ottiene il complemento di un linguaggio regolare?

In un DFA completo si scambiano stati finali e non finali.

30
New cards

Prodotto cartesiano di due DFA: a cosa serve?

A costruire un DFA che riconosce l’intersezione dei due linguaggi.

31
New cards

Quando la stella di Kleene di un linguaggio regolare è regolare?

Sempre; basta aggiungere ε-transizioni dallo stato iniziale e dai finali per ricominciare la computazione.

32
New cards

Cos’è la minimizzazione di un DFA?

Processo che fonde stati indistinguibili e rimuove quelli non raggiungibili, ottenendo il DFA con il minimo numero di stati.

33
New cards

Perché i linguaggi regolari hanno predicati decidibili su vuoto/finito/infinito?

Perché i DFA sono finiti: si può analizzare il grafo degli stati per cicli e raggiungibilità di stati finali.

34
New cards

Cosa aggiunge un PDA rispetto a un DFA?

Una memoria stack (pila) che permette di riconoscere linguaggi context-free.

35
New cards

Forma generale di una transizione di PDA.

δ(q, a/ε, Z) ⊆ Q × Γ* : con stato q, simbolo di input a (o ε) e simbolo di pila Z, si passa a un nuovo stato e si sostituisce Z con una stringa di pila.

36
New cards

Due criteri di accettazione per PDA.

Per pila vuota (N(M)) o per stato finale (L(M)).

37
New cards

Forma Normale di Chomsky (CNF) – quali produzioni ammette?

Solo A→BC o A→a (più eventualmente S→ε se ε∈L(G)).

38
New cards

Forma Normale di Greibach (GNF) – struttura di produzione.

A→aβ con a terminale e β sequenza (anche vuota) di non terminali.

39
New cards

Perché i linguaggi CF non sono chiusi sotto intersezione?

Perché combinare due dipendenze neutre può richiedere contare simultaneamente due relazioni, oltre le capacità di una singola pila.

40
New cards

Dimostra la chiusura CF sotto concatenazione.

Nuovo simbolo iniziale S₀ con produzione S₀→S₁S₂, dove S₁ e S₂ sono gli iniziali delle grammatiche di L₁ e L₂.

41
New cards

Che cos’è una grammatica CF in forma ridotta?

Priva di ε-produzioni (eccetto forse S), produzioni unitarie e simboli inutili.

42
New cards

Qual è la relazione fra espressioni regolari, grammatiche regolari e ASF?

Sono modelli equivalenti: descrivono e riconoscono esattamente i linguaggi regolari.

43
New cards

Condizione di determinismo in un PDA.

Se δ(q, ε, Z) è definita allora δ(q, a, Z) non è definita per nessun a dell’alfabeto.

44
New cards

Perché XML è considerato ispirato ai linguaggi CF?

Perché la sua struttura gerarchica e annidata può essere descritta da grammatiche context-free e riconosciuta da PDA deterministici.

45
New cards

Qual è lo scopo principale del pumping lemma?

Mostrare che un linguaggio NON è regolare (o NON è context-free), non dimostrare che lo è.