Download
et formelt spr k n.
Skip this Video
Loading SlideShow in 5 Seconds..
Et formelt språk PowerPoint Presentation
Download Presentation
Et formelt språk

Et formelt språk

307 Views Download Presentation
Download Presentation

Et formelt språk

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Et formelt språk er en mengde av strenger over et endelig alfabet Eksempler:

  2. Norske ord: mengde av strenger Norske ord {a,b,c, …, z,æ,ø,å}* Ymer palse slajk trovt gridda pøz åg tag æg dejlig grønn blå en et egg gutt pølse spiser drikker melk saft sjokolade pølsespiser sover drømmer tenkte våkner melkedrikker  øøøøø øøø øø ø utomordentlig yxi

  3. Operasjoner på språk

  4. A* er en uendelig union: • A* = {}  A  AA  AAA  AAAA  … • {a,b}* = {, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb, ………. }

  5. Et regulært uttrykk • brukes til å definere et språk • betyr et språk • er bygget opp fra ,  og symboler i alfabetet ved hjelp av operatorene +, · og * samt parenteser. Operator-presedens: * over · over +: R · S* + T* = R · (S*) + (T*) = (R · (S*)) + (T*)

  6. Betydning L(R) er språket som R betegner: • L(a) = {a} • L() =  • L() = {} • L(R + S) = L(R)  L(S) • L(R · S) = L(R) L(S) • L(R*) = L(R)*

  7. Eksempel

  8. RS = R·S

  9. R(ST) = (RS)T

  10. Noen regneregler  + (aa + ab*ba) (ab*a)*  + (a (a + b*ba) (ab*a)*  + (a (a + b*ba) (ab*a)*  + (a ( + b*b)a) (ab*a)*  + (a ( + bb*)a) (ab*a)*  + (ab*a) (ab*a)* (ab*a)* R(S+T) = RS + RT R = R (S+T)R = SR + TR R*R = RR*  + RR* = R* (mange flere side 638)

  11. Et regulært språk er (pr. definisjon) et språk som kan defineres ved et regulært uttrykk

  12. Deterministisk endelig automat (DFA)(over språk A) • Består av • en ikke-tom, endelig mengde Q av tilstander • hvor nøyaktig en er utpekt som start-tilstand • og null eller flere er utpekt som slutt-tilstander • - samt en transisjons-funksjonfra Q  A til Q

  13. A = {a,b} Q = {q0, q1, q2, q3}, q0 er start-tilstand, q3 er slutt-tilstand, transisjons-funksjonen er gitt ved tabellen Eksempel

  14. A = {a,b} Q = {q0, q1, q2, q3}, q0 er start-tilstand, q3 er slutt-tilstand, transisjons-funksjonen er gitt ved tabellen Eksempel

  15. Automat aksepterer streng: • En (deterministisk) endelig automat aksepterer en streng hvis vi kan komme fra start-tilstanden til en slutt-tilstand ved å følge strengen. Automat aksepterer språk: • En (deterministisk) endelig automat aksepterer et språk hvis den aksepterer alle strenger i språket, og ingen strenger utenfor språket.

  16. Deterministiske endelige automater vs. Regulære uttrykk (RE) • Gir oss det samme! • Altså: Et språk er regulært hviss det fines en deterministisk endelig automat som aksepterer det. Bevises oftest ved hjelp av ikke-deterministiske endelige automater

  17. Er spesialtilfelle av Kan gjøres om til NFA RE Kan gjøres om til Kan gjøres om til Ikke-deterministisk endelig automat(NFA) DFA

  18. To definisjoner av DFA To litt ulike krav er i omløp med hensyn til hva som skal til for at en NFA teller som en DFA. For det første skal det ikke finnes -transisjoner. Alle er enige om det. Læreboken vår krever dessuten at det for hver a i alfabetet skal gå nøyaktig en a-transisjon ut fra hver tilstand, mens andre bøker/forfattere bare sier at det skal gå høyst en a-transisjon ut fra hver tilstand.

  19. Den alternative definisjonen er altså svakere/snillere: Den slipper flere maskiner gjennom nåløyet. Som for eksempel følgende.

  20. Man kan imidlertid alltid med et enkelt grep omforme en slik maskin til en DFA i vår strengere forstand. Dette gjøres ved å innføre en ny tilstand som tar imot alle de manglende transisjonene. Denne tilstanden er ikke-endelig, og har dessuten transisjoner til seg selv for alle symboler i alfabetet. På engelsk omtaler man gjerne denne tilstanden som a sink. Altså avløp/kloakk:

  21. Applikasjonen JFLAP benytter denne svakere definisjonen. Fordelen ved dette, er at tegninger av DFAer oftest blir enklere og mer oversiktlige. Et vanlig kompromiss er å tillate alle (tegninger av) DFAer som følger det snilleste kravet, men underforstått tolke disse slik at det i tillegg finnes et usynlig avløp.