Construcția subseturilor

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În teoria limbajelor formale , construcția subseturilor sau a construcției subseturilor este tehnica de construcție a automatului determinist finit echivalent cu un automat de stare finită nedeterminist .

Echivalența dintre automatul determinist și cel nedeterminist

Având în vedere un automat finit nedeterminist

,

este posibil să se determine un automat finit determinist echivalent

,

astfel încât . Ansamblul stărilor devine

,

ansamblul stărilor finale

în timp ce noua funcție de tranziție este calculată ca:

unde funcția indică ansamblul părților . Este posibil să se arate că automatul determinist astfel definit se dovedește a fi echivalent cu automatul nedeterminist din care este construit. Prin urmare, ambele automate recunosc același limbaj .

Algoritm de construcție pentru subseturi

Algoritmul pentru construirea automatului echivalent derivă direct din definiția automatului. Definiția funcției de tranziție este evaluat pentru fiecare element aparținând domeniului , adică pentru toate subseturile posibile ale .

Evaluare leneșă

Este posibil ca construcția automatului echivalent prin intermediul algoritmului de construcție prin subseturi să poată duce la definirea stărilor inaccesibile, a căror prezență este redundantă și care duce la un exces de calcul care poate fi redus. Evaluarea leneșă permite evitarea calculelor necesare pentru a defini stările care nu sunt atinse de automat. Acest algoritm este definit inductiv prin faptul că nu se iau în considerare toate elementele întregii părți.
Baza: este o stare accesibilă.
Ipoteză inductivă: a fost accesibil.
Pas inductiv: , accesibil.
Evaluarea leneșă conduce la determinarea tuturor și numai a stărilor accesibile. Prin urmare, definiția funcției de tranziție poate fi realizată numai în aceste stări.

Elemente conexe

Alte proiecte