Construcția subseturilor
Î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
- Wikimedia Commons conține imagini sau alte fișiere pe Subset Construction