lang | title | author | date | keywords |
---|---|---|---|---|
pl |
Języki formalne — wprowadzenie |
Jerry Sky |
2020-10-08 |
wykład, jftt, pwr, definicja, przykład, funkcja przejścia, NFA, wyrażenia regularne, wyrażenie regularne, niedeterministyczny, automat |
- 1. Podstawowe definicje
- 2. Deterministyczny Automat Skończony (DFA)
- 3. Niedeterministyczny Automat Skończony (NFA)
- 4. $\text{NFA}_\epsilon$
- 5. Wyrażenia regularne (RE)
- Alfabet (
$\Sigma$ ) — skończony zbiór symboli - Słowo — skończony ciąg symboli z alfabetu
- Język — zbiór słów nad danym alfabetem (
$\emptyset$ — język pusty) -
$\epsilon$ — słowo puste
— uporządkowana piątka
-
$Q$ — skończony zbiór stanów -
$\Sigma$ — skończony alfabet wejściowy -
$\delta$ — funkcja przejścia postaci$Q \times \Sigma \to Q$ -
$q_0$ — stan początkowy -
$F \subseteq Q$ — zbiór stanów akceptujących
Funkcję
Automat akceptuje słowo $w$ jeśli $\hat{delta}(q_0, w) \in F$.
Mamy DFA
Maszyna ta pozwala tylko na takie ciągi, w których mamy parzystą liczbę
Modyfikacja DFA:
istnieje *
przejść ze stanu przy tym samym symbolu wejściowym.
$$
\delta: Q \times \Sigma \to 2^Q
$$
Automat niedeterministyczny akceptuje słowo
Mamy NFA
Maszyna ta akceptuje tylko ciągi z infiksem $00$ lub z infiksem $11$.
Wprowadzamy dodatkową modyfikację: dopuszczamy przejścia między stanami bez symboli wejściowych. $$ \delta: Q \times (\Sigma \cup {\epsilon}) \to 2^Q $$
Niech
Wówczas
$$
\begin{aligned}
L_1L_2 &= {xy : x\in L_1 \land y \in L_2}\
L^0 &= {\epsilon}\
L^{i+1} &= LL^i \quad \text{dla } i > 0\
L^* &= \bigcup_{i=0}^{\infty} L^i \quad \text{domknięcie Kleene’ego} \quad \left( L^+ = \bigcup_{i=1}^{\infty} L^i \right)
\end{aligned}\
$$
Wyrażenia regularne:
-
$\emptyset$ — język pusty -
$\epsilon$ — język${\epsilon}$ -
$a$ — język${a}$ dla$a \in \Sigma$
Mamy wyrażenia regularne
-
$(r+s)$ reprezentuje język$R \cup S$ -
$(rs)$ reprezentuje język$RS$ - $r^$ reprezentuje język $R^$
$\emptyset^* = {\epsilon} \cup \emptyset \cup \dotsb = {\epsilon}$ -
$(0+1)^*$ – wszystkie ciągi nad alfabetem${0, 1}$ (w tym$\epsilon$ ) $00 = 00\epsilon\epsilon$ $11 = \epsilon\epsilon11$