automi e linguaggi regolari
DESCRIPTION
Automi e Linguaggi Regolari. Alberto Cuesta Ca ñada. Introduzione. Lo scopo della informatica e diventare possibile la communicazione tra l’uomo e i computer. Prima dobbiamo trovare un linguaggio commune, o meggio, costruirlo. Linguaggi. Definizioni: Σ= Insieme di letteri - PowerPoint PPT PresentationTRANSCRIPT
Automi e Linguaggi Regolari
Alberto Cuesta Cañada
Introduzione
• Lo scopo della informatica e diventare possibile la communicazione tra l’uomo e i computer.
• Prima dobbiamo trovare un linguaggio commune, o meggio, costruirlo.
Linguaggi
• Definizioni:
• Σ= Insieme di letteri
• X= a1…ai |aj є Σ = parola (finita)
• X*=Tutte le parole generate per Σ
Linguaggi
• Un linguaggio e un insieme di parole (puo essere infinito) da un alfabeto finito.
• Si genera con grammatiche con struttura di frase.
Phrase Structure Grammars
• G={V, Σ, P, S}
• Grosso modo una grammatica sono lettere e regole per costrurre parole.
• L(G) e’ il linguaggio composto per tutte le parole generate per G.
• P=(V- Σ)+ x V*
Context Sensitive Grammars
• Le produzione hanno la forma:• uAv→uwv dove
u,v є V * (forse λ)A є (V- Σ)w є V*, w≠ λ
• Lcsf=(anbncn)
Context Sensitive Grammars
• Grosso modo, un non-terminale determinato puo essere cambiato per una cattena di lettere determinata in un certo contesto.
Context Sensitive Grammars
• E dimostrabile che queste grammatiche possono essere transformate in altri equivalente:
• u→v u є (V- Σ)+, v є (V- Σ) * • A→a A є (V- Σ), a є Σ
Context Free Grammars
• Le produzione hanno la forma:
• A→x dovex є (V) * (forse λ)A є (V- Σ)
• Lcfg=(anbn)
Context Free Grammars
• E dimostrabile che queste grammatiche possono essere transformate in altra equivalente del modo:
• A→xv dovex,v є V (forse λ)A є (V- Σ)
• Questo serve per produrre alberi binari
Context Free Grammars
• Definizione: Una parola ‘e in forma canonica se tutte le sue derivazione sono nell stesso senso (destra o sinistra)
• S→Sa| λ S
S
S
a
S
a
a
Linear Context Free Grammars
• Una grammatica di cui tutte le forme possibili sono canoniche a destra (sinistra) se dice che e’ lineale a destra (sinistra).
• E’ dimostrabile che queste grammatiche sono equivalenti alle grammatiche regolari.
• L=(aibj)
Grammars
Phrase Structure Grammars
Context Sensitive GrammarsContext Free Grammars
Linear Context Free Grammars
Automi
• Un automa e’ una 5-tupla {Q, Σ, δ, q0, F}• Q=Stati.• Σ=Alfabeto.• δ =Transizioni.• q0 =Stato Iniziale.• F=Stati Finali.
0
1
2
3
a
a
a
bλ
b
LCF Grammars e Automi
• E’ dimostrabile la correspondenza tra Linguaggi Regolari e Automi Finiti.
• L=(a+b)*
0 1 2
3 4
5 6
7 8 9λ
λ
λ
λ λλ λ
λλλ
a
b
Operazioni con Automi: AFλ →AFN
• Si puo trovare un automa finito non determinista per ogni automa finito con transizioni vuoti:
0 1 2
3 4
5 6
7 8 9λ
λ
λ
λ λλ λ
λλλ
a
b
Operazioni con Automi: AFλ →AFN
• Prendiamo uno stato e troviamo la sua λ-clousure.• 0 → 0,1,2,3,5,8,9
0 1 2
3 4
5 6
7 8 9λ
λ
λ
λ λλ λ
λλλ
a
b
Operazioni con Automi: AFλ →AFN
0
4
6
7λ
λa
b
λ
• Prendiamo un altro stato diverso e ripetiamo:• 4 → 7,0
• Ripetiamo:• 6 → 6,4
Operazioni con Automi: AFλ →AFN
4 6
ab
λ
6
a,b
Il metodo finisce quando non c’e’ nessuna transizione vuota
Operazioni con Automi: AFN →AFD
• Si puo trovare un automa finito determinista per ogni automa finito non determinista:
0
1
2
a
b
3
4
5
bb
b
a
a a
Operazioni con Automi: AFN →AFD
0 1 21 V 32 1,4 V3 V 4,51,4 V,5 V,34,5 V,5 VV,5 V VV,3 V V,4,5V,4,5 V,5 VV V V
0
1
21,4
3
V
V,3
4,5
V,5
aa
a
a
a
aa,ba
a,b
bb
bb
b
b
b
V,4,5b a
Stato a b
Operazioni con Automi: AFD →AFD Minimo
• E’ molto utile lavorare con automi minimi:
0
1
24
3
9
7
5
6
aa
a
a
a
aa,ba
a,b
bb
bb
b
b
b
8b a
Operazioni con Automi: AFD →AFD Minimo
5,6,8 є F → B1={1,2,3,4,7,9}, B2={5,6,8}
B1’={0,1,2}B2’={3,7}B3’={4,9}B4’={5,8}B5’={6}
B1 0 B1 B11 B1 B12 B1 B13 B1 B24 B2 B17 B1 B29 B2 B1
B2 5 B2 B16 B1 B18 B2 B1
Stato a b
Operazioni con Automi: AFD →AFD Minimo
B1’={0}B2’={1}B3’={2}B4’={3,7}B5’={4}B6’={9}B7’={5,8}B8’={6}
Stato a bB1 0 B1 B1
1 B3 B22 B3 B3
B2 3 B3 B47 B3 B4
B3 4 B5 B39 B3 B3
B4 5 B5 B38 B5 B3
B5 6 B3 B3
Operazioni con Automi: AFD →AFD Minimo
El algoritmo finisce qui, abbiamo tolto due stati dell’ originale.
Blocco Stato a bB1 0 B2 B3B2 1 B6 B4B3 2 B5 B6B4 3 B6 B7
7 B6 B7B5 4 B8 B4B6 9 B6 B6B7 5 B8 B6
8 B8 B6B8 6 B6 B6
B1
a
b
B2
B3 B5 B8
B4 B7
B6
b
b b
a a
aa,b
a,ba a b
Pushdown Automata
• Un automa pushdown ha due nastri, uno con il input, e altro che funziona come uno stack.
• Questi automi sono correspondenti con le Context Free Grammars.
Automa nell stato
Q
a
Z
Linear Bounded Automata
• Un Linear Bounded Automa ha un solo nastro finito, in cui puo leggere e scrivere
• Questi automi sono correspondenti con le Context Sensitive Grammars.
Automa nell stato
Q
a
Turing Machines
• Una Machina di Turing e’ una Linear Bounded Machine che lavora su un nastro di input infinito.
• Queste machine sono correspondenti con le Phrase Structure Grammars.
Automa nell stato
Q
a
ConclusionePhrase
Structure Grammars
Context Sensitive
Grammars
Context Free Grammars
Linear Context Free Grammars
Automi Finiti
Pushdown Automi
Linear Bounded Automi
Machine di Turing