Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lfa:exercise-sheet-1-solution [2021/01/18 15:21]
pdmatei
lfa:exercise-sheet-1-solution [2021/01/18 16:24] (current)
pdmatei
Line 75: Line 75:
  
 5. Câte limbaje //​distincte//​ pot fi recunoscute de un AFD cu 2 stări? Justificați. 5. Câte limbaje //​distincte//​ pot fi recunoscute de un AFD cu 2 stări? Justificați.
 +
 +**//​Solutie//​**:​
 +
 +Daca AFD-ul nu contine stari finale, sau daca ambele stari sunt finale, limbajele acceptate sunt $math[\emptyset] respectiv $math[\Sigma^*],​ indiferent de structura AFD-ului. Avem prin urmare 2 limbaje identificate.
 +
 +Vom considera in continuare AFD-uri cu o stare finala. Din punct de vedere al tranzitiilor,​ acestea pot avea urmatoarele tipuri (forme), prezentate in figura de mai jos. Numele efectiv al fiecarei stari nu este relevant, ci doar calitatea fiecareia de a fi initiala/​finala. Vom numara in continuare limbajele posibile pentru fiecare tip de AFD:
 +  * **type A**: Oricare ar fi starile initiala/​finala,​ limbajele acceptate sunt tot $math[\emptyset] respectiv $math[\Sigma^*],​ numarate deja anterior.
 +  * **type B**: 
 +    * daca starea initiala coincide cu cea finala si este cea din stanga, avem 2 limbaje posibile (in functie de simbolul de pe tranzitia reflexiva)
 +    * daca starea initiala coincide cu cea finala si este cea din dreapta, limbajul este $math[\Sigma^*],​ indiferent de tranzitii, limbaj numarat deja.
 +    * daca starea initiala este cea din stanga iar cea finala este cea din dreapta, avem 2 limbaje posibile
 +    * daca starea initiala este cea din dreapta iar cea finala este cea din stanga, AFD-ul nu are o stare finala accesibila, prin urmare limbajul este $math[\emptyset],​ numarat deja
 +  * **type C**: structura este simetrica, prin urmare este suficient sa contabilizam doua cazuri:
 +    * starile initiala si finala coincid, caz in care avem 4 limbaje posibile, in functie de simbolii tranzitiilor
 +    * starile initiala si finala nu coincid, caz in care avem alte 4 limbaje posibile
 +  * **type D**: si aceasta structura e simetrica, in plus alegerea simbolilor pe tranzitii nu mai influenteaza limbajul acceptat, prin urmare, avem din nou doua cazuri:
 +    * starile initiala si finala nu coincid: 1 limbaj
 +    * starile initiala si finala coincid: 1 limbaj
 +  * **type E**: Doar simbolii tranzitiilor starii din stanga influenteaza limbajul, deci avem doua posibilitati,​ inmultit cu cele 4 posibile combinatii de stari initiale/​finale,​ deci 8 limbaje
 +  * **type F**: Simbolii tranzitiilor nu afecteaza limbajul, iar cele 4 combinatii de stari initiale/​finale genereaza limbajele $math[\Sigma^*],​ $math[\{\epsilon\}],​ $math[\emptyset],​ $math[\Sigma^+],​ din care doar doua nu au mai fost intalnite.
 +Insumand, peste cele 6 tipuri, obtinem un total de: $math[2 + 4 + 8 + 2 + 8 + 2= 26] limbaje diferite.
 +
 +
 +{{ :​lfa:​sheet-solutions-2.jpg?​500 |}}
 +