Documente Academic
Documente Profesional
Documente Cultură
Seria 13
Saptamana 1, 17 feb 2015
Andrei Paun
Sa ne cunoastem
Generalitati despre curs
Reguli de comportament
Generalitati despre LFA
Sa ne cunoastem mai bine
Sa ne cunoastem
Andrei Paun
Romania, Canada, SUA
apaun@fmi.unibuc.ro
andreipaun@gmail.com
Curs de teorie
Ofera o baza de pornire pentru alte cursuri
prima intalnire cu limbajele formale
in majoritate ne ocupam de automate
si gramatici
Fara celulare
Fara galagie
Cu cat mai multe intrebari
Moodle
E-mail
Important
Fara celulare
Fara deranjat colegii
Prezenta la curs/seminar: nu e obligatorie
Nota mare/de trecere pentru curs:
nu e obligatorie
Laboratoarele: obligatorii!
Organizatorice
Examenul
11 iunie 2015 la ora 9:00 (nu e inca sigur)
dupa definitivarea orarului definitivam si
programarea examenului
POO: 25 iunie 2005
Programa cursului
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Bibliografie
1. A. Aho, R. Sethi, J. Ullman, Compilers, Principles,
Techniques and Tools, Addison Wesley Pub., 1986
2. M.D. Davis, E.J. Weyuker, Computability,
Complexity and Languages, Academic Press 1984.
3. J.E. Hopcroft, J.D: Ullman, Introduction to
Automata Theory, Languages and Computation,
Addison -Wesley, 1979.
4. A. Salomaa, G. Rozenberg (eds.), Handbook of
Formal Languages, 3 vol., Springer Verlag, 1997.
Limbajele formale
ce este un limbaj
ce este un limbaj formal
privire de ansamblu pentru curs:
acceptoare
generatoare
calculabilitate
Privire de ansamblu
DFA, NFA
RE
gramatici, CFG
PDA
TM
Deterministic finite
automata (DFA)
Idee de baza
Tine minte starea curenta
Evenimentele pot sa ne schimbe dintr-o
stare in alta
Astazi invatam sa
descriem formal DFA-urile
interpretam DFA-urile
Exemplu
Modelarea unei mingii intro camera (fara
frecare)
Miscarile: stanga, dreapta, sau deloc
Trei stari: stanga, dreapta stop
Start in starea stop
Exemplu
Tabelul starilor (State table)
Eveniment
Zid
Paleta Paleta
Stanga Dreapta Opreste
Dreapta
Stanga
Dreapta
Stop
Dreapta Stanga
Stanga
Dreapta
Stop
Stop
Imposibil
Stanga
Dreapta
Stop
Imposibil
Imposibil
Stare
Stanga
Loveste
Exemplu
Stanga
Dreapta
Stop
Imposibil
Exemplu
Din exemplul precedent
Q = {Stanga, Dreapta, Stop, Imposibil}
= {Loveste perete, Paleta stanga, Paleta
dreapta, Opreste}
= tabelul de stari construit
q0 = Stop
F = {Stanga, Dreapta, Stop}
Dar daca vrem sa acceptam doar cand
mingea este in miscare?
F = {Stanga, Dreapta}
0,1
q4
Inca un exemplu
0
= {0,1}
1
q1
q2
q3
1
0
F = {q3}
0,1
q4
Inca un exemplu
0
= {0,1}
1
q1
q2
q3
1
0
Tab. stari
q1
q2
q4
q2
q2
q3
q3
q2
q3
q4
q4
q4
0,1
q4
Inca un exemplu
0
= {0,1}
1
q1
q2
q3
1
0
Exemple
Exemplul 1
0,1
1
q1
0
1
q2
q5
q3
q4
0,1
Exemplul 2
0,1
0
q1
q2
0,1
q3
0,1
q4
0,1
q5
Exemplul 3
0,1
1
q1
0
q2
q3
0,1
Exemplul 4
q1
q2
0,1
0,1
q3
0,1
q4
Exemplul 5
q1
q3
0
q2
q5
0
1
q4
q6
0,1
Exemplul 6
0
q1
q2
q3
0, 1