Anteprima
Vedrai una selezione di 10 pagine su 108
Appunti quaderno di Automi e linguaggi Pag. 1 Appunti quaderno di Automi e linguaggi Pag. 2
Anteprima di 10 pagg. su 108.
Scarica il documento per vederlo tutto.
Appunti quaderno di Automi e linguaggi Pag. 6
Anteprima di 10 pagg. su 108.
Scarica il documento per vederlo tutto.
Appunti quaderno di Automi e linguaggi Pag. 11
Anteprima di 10 pagg. su 108.
Scarica il documento per vederlo tutto.
Appunti quaderno di Automi e linguaggi Pag. 16
Anteprima di 10 pagg. su 108.
Scarica il documento per vederlo tutto.
Appunti quaderno di Automi e linguaggi Pag. 21
Anteprima di 10 pagg. su 108.
Scarica il documento per vederlo tutto.
Appunti quaderno di Automi e linguaggi Pag. 26
Anteprima di 10 pagg. su 108.
Scarica il documento per vederlo tutto.
Appunti quaderno di Automi e linguaggi Pag. 31
Anteprima di 10 pagg. su 108.
Scarica il documento per vederlo tutto.
Appunti quaderno di Automi e linguaggi Pag. 36
Anteprima di 10 pagg. su 108.
Scarica il documento per vederlo tutto.
Appunti quaderno di Automi e linguaggi Pag. 41
1 su 108
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Stato di accettazione:

Particolare stato di una macchina che ha il compito di indicare la condizione di verità.

  • Se alla fine dell'esecuzione capito nello stato di accettazione allora la condizione che sto verificando è vera, altrimenti falsa.

Esempio:

È possibile costruire una macchina con memoria di 2 bit che verifichi se una stringa di bit rappresentanti un numero in base 2 costituisca un multiplo di 3.

Memoria di 2 bit ⇒ 4 stati

Una prima ipotesi:

Questo primo automa funziona a patto che la stringa in ingresso non sia vuota.

In tal caso l'esecuzione parte dallo stato iniziale q1 e lo esamina

Esempio corretto:

LEZIONE 2

LINGUAGGI:

ALPHABET: Σ FINITE SET OF "SYMBOLS", NOT EMPTY (Σ ≠ 0)

STRING OVER Σ: FINITE SEQUENCE OF SYMBOLS IN Σ

-e.g. Σ = {a, b, c … z} STRING ⇒ "aabcada" Σ* = {"a", "b" … "aa" … }

Σ* = { ALL STRINGS OVER Σ }

LENGTH OF A STRING: # OF SYMBOLS

NULL STRING ε: STRING WITH NO SYMBOLS e.g. " " ε ∈ Σ* |Lungta 1|

SUBSTRING: UNA STRINGA È UNA SOTTOSTRINGA DI UN’ALTRA SE I CARATTERI CHE COMPONGONO LA SOTTOSTRINGA COMPAIONO NELLO STESSO ORDINE NELLA STRINGA DI PARTENZA

CONCATENATION: LA CONCATENAZIONE DI DUE STRINGHE CREA UNA NUOVA STRINGA COSTITUITA DA TUTTI I CARATTERI DELLA PRIMA STRINGA ORDINATI CONSECUTIVI SEGUITI DAI CARATTERI DELLA 2a STRINGA ORDINATI

LESSICOGRAPHICAL ORDER: ALFA < BETA GLI ELEMENTI DELL'ALFABETO SONO ORDINATI QUINDI SI PUÒ DEFINIRE UN ORDINE DI PRECEDENZA

STRING ORDER: ( SHORTEST ORDER) UNA STRINGA PIÙ CORTA PRECEDE SEMPRE UNA PIÙ LUNGA, A PARITÀ DI LUNGHEZZA SI UTILIZZA ORDINE LESSICOGRAFICO PER STABILIRE L'ORDINAMENTO

ALFA < BETA4 4 ALFA > BIT 4 34 3

LANGUAGE OVER Σ: SUBSET OF STRING OVER Σ [ L ⊂ Σ* ]

-e.g. Σ = { 0, 1, 2 } Σ* = { ε, 0, 1, 00, 01 … }

L = { w ∈ Σ* | w ENCODES IN B NARY A NUMBER DIVISIBLE BY 3 }

L: { 0, 11, 110, 1001 … } ε ∉ L 1 ∉ L

[UN LINGUAGGIO RAPPRESENTA LE ISTANZE CHE SODDISFANO UN CERTO QUESITO]

-nel nostro esempio: m ∈ ℕ ( 0, 1, 0, 1, 0, 1 )2 ⇒ "011010" ∈ L ⟨ sì ⟩⟨ no ⟩

THM:

A, B regular languages, then A∘B is regular

Utilizzando la stessa impostazione di prima

  • Σ = {0,1}
  • A = {01, 001}
  • B = {10, 101}

Faccio una concatenazione

0101 ∈ A∘B ha 01101 ∉ A∘B

DEF:

NFA → nondeterministic FA

M = (Q, Σ, δ, q0, F)

δ: Q x (Σ ∪ {ε}) → (Q) = 2Q

(9.6) |—> {qi, qi', ...} ⊆ Q

6 ∈ Σ ∨ 6 = ε

∅ ∈ 2Q

DEF:

Accepting computation NFA

  1. r0 = q0
  2. ∀ i: 0...m-1 , ri+1 ∈ δ(ri, yi+1) with yi+1 ∈ Σ ∨ yi+1 = ωs
  3. rm ∈ F

L'automa non è obbligato a consumare un simbolo dell'input per ogni transizione (cambiamento di stato) caso yi+1 = ε

L'automa può scegliere se transitare autonomamente in 'q' oppure consumare un simbolo σ ed andare in q'

Come se l'automa decidesse di portare le due computazioni avanti in parallelo

da q leggendo σ l'automa può decidere se andare in q0 o q1, c'è una scelta

In un DEA non c'è una scelta da compiere e non si può non consumare un simbolo

1) a   L(a) = {a}

2) ε   L(ε) = {ε}

3) ∅   L(∅) = ∅

Induction Step: |R| = n   per costruire RE più lunghe di n uso le operazioni:

  1. (R1 ∪ R2)   |R1| ≤ m   |R2| ≤ m   L(R1) ∪ L(R2)
  2. (R1 ∘ R2)   ✓   regular languages are closed under concatenation
  3. (R1)*   ✓   regular languages are closed under Kleene's star

Es: RE (ab ∪ a)*   Σ = {a, b}

"ababaa" -> stringa generata dall'ESPRESSIONE regolare

A regualr ⇒ ∃ DFA

M = (Q, Σ, δ, q0, F)

|x| ≥ p M contiene p stati.

M is able to "count" only up to p

S ⊂ A |S| ≥ p

q0 → q1 → qm ∈ F

|x| ≥ 2

Ci deve essere un loop all'interno non accettare stringhe lunghe 2

A regualr ⇒ ∃ DFA M = (Q, Σ, δ, q0, F)

P = |Q|

S ⊂ A |S| ≥ p S = s1 s2 ... sm m ≥ p

M(S) r0 r1 ... rm ∈ F m ≥ p

κi+1 = δ(ri, si+1)

Per il principio della piccionaia ci deve essere un q ripetuto

X = s1 ... s3Y = s3+1 ... sxZ = sx+1 ... sm

(1) ∀i0 xiz ∈ A

M(xz) = Π (s1 ... s3, sm+1 ... sm)

(2) |y| > 0

|y| ≥ 1 dato che &&con;

(3) |xy| = |s1 ... sm| = k ≤ p per ipotesi

Lezione 5

Pumping Lemma

A regualr ⇒ ∃ p∀ s ∈ A, |s| ≥ p

∀ subdivision s = xyz

• |xy| ≤ P

• |y| > 0

∀i ≥ 0: xyiz ∈ A

A is not regular

Assume that L is regular ("by contradiction") ⇒ P applies ⇒ ∃ p > 0

Find s ∈ L per cui non è possibile applicare il pumping lemma

Lo stato qi: vedra` 2 trans. usc. tramite con h2 quindi diventa non deterministica

Other proof:

A reguar ⟹ ∃ rex r st L(rex) = A

h: Σ → Γ"

rex = Σ ∪ {(), *, o, u} = Σ'

Γ' = Γ ∪ {(), *, o, u}

h: Σ' → Γ'*

δ ⇢ h(δ) δ ∈ Σ

δ ⇢ δ δ ∉ Σ

Es:

Σ = {0, 1, 2} Γ = {a, b} h(0) = ab h(1) = ba

r = 0*1(o ∪ 1)* = (((o)*o.1).(o ∪ 1)*)

h(r) = (ab)*ba(abub0*)

h(A) = h(L(r)) = L(h(r))

Lᵢ by induction on |r|

h(A) ∈ reguar

Reguar languages: DFA, NFA, GNFA, rex

B = {0n1m | n ≥ 0} is not reguar, ∃ un sistema per tali linguaggi?

Context-Free Grammar (CFG):

Def:

A CFG is a tuple (V, Σ, R, S)

V "variables" Σ "terminals" R "production rules"

i simboli che non possono essere ulterioramente sostituiti

Lᵢ le regole di sostituzione

S ∈ V "start variabile"

Es:   ⱼ = (V, Σ, R, S)

V: {A, B} Σ: {o, 1, 2} S = A

  • A → oA2
  • A → B
  • B → ε
Dettagli
Publisher
A.A. 2021-2022
108 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher nicco2303 di informazioni apprese con la frequenza delle lezioni di Automi e linguaggi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma Tor Vergata o del prof Cesati Marco.