Automi e Linguaggi Regolari

29
Automi e Linguaggi Regolari Alberto Cuesta Cañada

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 Presentation

Transcript of Automi e Linguaggi Regolari

Page 1: Automi e Linguaggi Regolari

Automi e Linguaggi Regolari

Alberto Cuesta Cañada

Page 2: Automi e Linguaggi Regolari

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.

Page 3: Automi e Linguaggi Regolari

Linguaggi

• Definizioni:

• Σ= Insieme di letteri

• X= a1…ai |aj є Σ = parola (finita)

• X*=Tutte le parole generate per Σ

Page 4: Automi e Linguaggi Regolari

Linguaggi

• Un linguaggio e un insieme di parole (puo essere infinito) da un alfabeto finito.

• Si genera con grammatiche con struttura di frase.

Page 5: Automi e Linguaggi Regolari

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*

Page 6: Automi e Linguaggi Regolari

Context Sensitive Grammars

• Le produzione hanno la forma:• uAv→uwv dove

u,v є V * (forse λ)A є (V- Σ)w є V*, w≠ λ

• Lcsf=(anbncn)

Page 7: Automi e Linguaggi Regolari

Context Sensitive Grammars

• Grosso modo, un non-terminale determinato puo essere cambiato per una cattena di lettere determinata in un certo contesto.

Page 8: Automi e Linguaggi Regolari

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 є Σ

Page 9: Automi e Linguaggi Regolari

Context Free Grammars

• Le produzione hanno la forma:

• A→x dovex є (V) * (forse λ)A є (V- Σ)

• Lcfg=(anbn)

Page 10: Automi e Linguaggi Regolari

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

Page 11: Automi e Linguaggi Regolari

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

Page 12: Automi e Linguaggi Regolari

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)

Page 13: Automi e Linguaggi Regolari

Grammars

Phrase Structure Grammars

Context Sensitive GrammarsContext Free Grammars

Linear Context Free Grammars

Page 14: Automi e Linguaggi Regolari

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

Page 15: Automi e Linguaggi Regolari

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

Page 16: Automi e Linguaggi Regolari

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

Page 17: Automi e Linguaggi Regolari

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

Page 18: Automi e Linguaggi Regolari

Operazioni con Automi: AFλ →AFN

0

4

6

λa

b

λ

• Prendiamo un altro stato diverso e ripetiamo:• 4 → 7,0

Page 19: Automi e Linguaggi Regolari

• 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

Page 20: Automi e Linguaggi Regolari

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

Page 21: Automi e Linguaggi Regolari

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

Page 22: Automi e Linguaggi Regolari

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

Page 23: Automi e Linguaggi Regolari

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

Page 24: Automi e Linguaggi Regolari

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

Page 25: Automi e Linguaggi Regolari

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

Page 26: Automi e Linguaggi Regolari

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

Page 27: Automi e Linguaggi Regolari

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

Page 28: Automi e Linguaggi Regolari

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

Page 29: Automi e Linguaggi Regolari

ConclusionePhrase

Structure Grammars

Context Sensitive

Grammars

Context Free Grammars

Linear Context Free Grammars

Automi Finiti

Pushdown Automi

Linear Bounded Automi

Machine di Turing