Definizioni

Automa a stati finiti deterministico (DFA)

Symbol Meaning
Q finite set called the States
Σ finite state called Alphabet
δ:QxΣ→Q transition function
q0∈Q start state
F⊆Q Set of accepted states

Linguaggio regolare

Un linguaggio è detto linguaggio regolare se è riconosciuto da un automa a stati finiti.

Operazioni regolari

Siano A e B due linguaggi. Definiamo le operazioni regolari unione, concatenazione e star così:

  • Union: A ∪ B = {x|x∈A or x∈B}
  • Concatenation: A ○ B = {xy | x∈A and y∈B}
  • Star: A* = {x1, x2, x3,...xk | k ≥ 0 and each xi∈A }

Inoltre si definisce per prassi ε stringa vuota (in maniera simile a quello che in SQL è NULL)

Automa a stati finiti non deterministico (NFA)

Symbol Meaning
Q finite set called the States
Σ finite state called Alphabet
δ:QxΣε→P(Q) transition function
q0∈Q start state
F⊆Q Set of accepted states

Espressione regolare

Un'espressione regolare può essere

  • a per qualche a nell'alfabeto Σ
  • ε
  • (R1∪R2), con R1, R2 espressioni regolari
  • (R1○R2), con R1, R2 espressioni regolari
  • (R1*), con R1 espressione regolare

Se u, v, w sono stringhe di variabili e terminali, e A → v è una regola della grammatica, diciamo che uAv produce uwv, scritto uAv ⇒ uwv.

Diciamo che u deriva v, scritto

u*v

se u = v oppure se esiste una sequenza, con k ≥ 0, u1 ⇒ u2 ⇒ u3 ⇒ ...uk ⇒ v.

Grammatica context-free (CFG)

V Un insieme finito di variabili
Σ Un insieme finito, disgiunto da V, di terminali
R Un insieme finito di regole, ciascuna costituita da una variabile e una stringa di variabili e terminali
S∈V La variabile di partenza

Forma normale di Chomsky

Una grammatica context-free è in forma normale di Chomsky se ogni regola è nella forma

A → BC

A → a

dove a è ogni terminale e A, B, C sono ogni variabile, eccetto che B e C non sono variabili di partenza. In aggiunta, permettiamo la regola S → ε, dove S è la variabile di partenza.

Pushdown automa

Symbol Meaning
Q finite set called the States
Σε input Alphabet
Γε stack Alphabet
δ:QxΣεε→P(Q, Γε) transition function
q0∈Q start state
F⊆Q Set of accepted states

Macchina di Turing

Una macchina di Turing è una 7-tupla, (Q, Σ, Γ, δ, q0, qaccepted, qrejected), dove Q, Σ, Γ sono tutti insiemi finiti e

Symbol Meaning
Q insieme finito di stati
Σ alfabeto che non contiene il simbolo "blank" ˽
Γ alfabeto del nastro, dove ˽ ∈ Γ e Σ ⊆ Γ
δ:QxΓ→Q x Γ x {L, R} funzione di transizione
q0∈Q stato di partenza
qaccepted stato accettato
qrejected stato rifiutato

Con qaccepted ≠ qrejected