DVOP PIT
Bc. Matěj Cajthaml — SSPŠ
©
Jaká je delka řetězce $abcaacccc$?
Jaký je reverzní řetězec $pokrocilainformatika$?
Pro následující množiny řetězců zapište definici jazyka pomocí vlastnosti:
Pro následující jazyky proveďte následující operace:
$G = (\{S, A, B\}, \{a, b\}, P, S)$, kde:
$P = \{ \\ S \rightarrow abA, \\ A \rightarrow aA\ |\ bB, \\ B \rightarrow aB\ |\ b \\ \}$
$L_G = \{abbb, ababaaaaab, ...\} = \{aba^nba^mb\ |\ n, m \geq 0\}$
Rozeznejte, zda je gramatika regulární či neomezená. Popište jazyk, který tato gramatika generuje.
$G_1 = (\{\alpha, \beta, \gamma\}, \{1, 2\}, P_1, \alpha)$
$P_1 = \{ \\ \alpha \rightarrow 2 \alpha \beta \gamma\ |\ 1 \beta \gamma, \\ \beta \gamma \rightarrow \gamma \beta, \\ 2 \beta \rightarrow 221, \\ \gamma \rightarrow 1 \\ \}$
$G_2 = (\{S, B\}, \{1, 2\}, P_2, S)$
$P_2 = \{ \\ S \rightarrow 0S0\ |\ B, \\ 1 \rightarrow 00, \\ B \rightarrow 1B\ |\ \varepsilon \\ \}$
Rozeznejte, zda je gramatika regulární či neomezená. Popište jazyk, který tato gramatika generuje.
$G_3 = (\{S, A, B, C\}, \{a, b, c\}, P_3, S)$
$P_3 = \{ \\ S \rightarrow aA\ |\ \varepsilon, \\ A \rightarrow aA\ |\ bB\ |\ a, \\ B \rightarrow bB\ |\ cC, \\ C \rightarrow c, \\ \}$
$G_4 = (\{s, \Sigma\}, \{A, B\}, P_4, \Sigma)$
$P_4 = \{ \\ s \rightarrow AB\ |\ Bs, \\ \Sigma \rightarrow AB\ |\ s \\ \}$
$L = \{a^nb^m\ |\ n, m \geq 0\} = \{\varepsilon, a, b, ab, aabbbbb, bbbbb, ...\}$
$L = \{a^nb^m\ |\ n, m \geq 0\} = \{\varepsilon, a, b, ab, aabbbbb, bbbbb, ...\}$
$L = \{a^nb^m\ |\ n, m \geq 0\} = \{\varepsilon, a, b, ab, aabbbbb, bbbbb, ...\}$
$G = (\{S, A, B\}, \{a, b\}, P, S)$, kde:
$P = \{ \\ S \rightarrow \varepsilon\ |\ aA\ |\ bB, \\ A \rightarrow aA\ |\ bB\ |\ a, \\ B \rightarrow bB\ |\ b \\ \}$
$M = (\{q_0, q_1, q_2\}, \{a, b\}, \delta, q_0, \{q_2\})$
$\delta(q_0, a) = q_1$
$\delta(q_1, b) = q_2$
$\delta(q_2, a) = q_2$
$\delta(q_2, b) = q_2$
$L = \{ab, abaaaa, ababbba, ...\}$ — musí začínat $ab$
$\delta$ | a | b |
---|---|---|
$\rightarrow$ $q_0$ | $q_1$ | $q_0$ |
$q_1$ | $q_1$ | $q_2$ |
$\leftarrow$ $q_2$ | $q_2$ | $q_2$ |
$L = \{ b^na^mbk\ |\ n \geq 0, m \geq 0, k \in \{a, b\}^* \}$
ohodnocený orientovaný graf
graph RL start q0(((q0))) q1((q1)) q2(((q2))) q0 -->| a | q1 q0 -->| b | q0 q1 -->| a | q1 q1 -->| b | q2 q2 -->| a | q2 q2 -->| b | q2 start --> q0 style start fill:#00000000,stroke:#00000000,color:#fff style q2 stroke-width:3px style q0 stroke-width:3px
$L = \{ \varepsilon \cup b^na^mbk\ |\ n \geq 0, m \geq 1,\\k \in \{a, b\}^* \}$
graph LR start q0(((q0))) q1((q1)) q2(((q2))) q0 -->| a | q1 q0 -->| b | q0 q1 -->| a | q1 q1 -->| b | q1 q1 -->| a | q2 q1 -->| b | q2 q2 -->| a | q2 q2 -->| b | q2 start --> q0 style start fill:#00000000,stroke:#00000000,color:#fff style q2 stroke-width:3px style q0 stroke-width:3px
graph LR start q0(((q0))) q1((q1)) q2(((q2))) q0 -->| a | q1 q0 -->| b | q0 q1 -->| a | q1 q1 -->| b | q1 q1 -->| a | q2 q1 -->| b | q2 q2 -->| a | q2 q2 -->| b | q2 q0 -->| ε | q2 start --> q0 style start fill:#00000000,stroke:#00000000,color:#fff style q2 stroke-width:3px style q0 stroke-width:3px
graph LR start1 start2 q0(((q0))) q1((q1)) q2(((q2))) q0 -->| a | q1 q0 -->| b | q0 q1 -->| a | q1 q1 -->| b | q2 start1 --> q0 start2 --> q1 style start1 fill:#00000000,stroke:#00000000,color:#fff style start2 fill:#00000000,stroke:#00000000,color:#fff style q2 stroke-width:3px style q0 stroke-width:3px
Kdy NKA/DKA nepřijme řetězec?
Následující jazyky převeďte na DKA/NKA:
O regulárních výrazech jste již slyšli. Co jsou?
My si ukážeme teorii, která je za nimi.
Je možné použít závorky.
K následujícím jazykům navrhněte regulární výrazy:
Ekvivalentní úpravy RV, které nezmění hodnotu RV:
$x + x = x$
$x + \emptyset = x$
$(xy)z = x(yz)$
$x^* = \varepsilon + x^*x$
$x^* + x = x^*$
($x^*+y^*)^* = (x+y)^*$
$x + y = y + x$
$x \emptyset = \emptyset x = \emptyset$
$x(y+z) = xy + xz$
$x^* = (\varepsilon + x)^*$
$(x^*)^* = x^*$
$(x + y) + z = x + (y + z)$
$x \varepsilon = \varepsilon x = x$
$(x + y)z = xz + yz$
$\emptyset^* = \varepsilon$
$(x+y)^* = (x^*y^*)^*$
Zjednodušte následující RV:
jedná se o desítky algoritmů
Najděte si další zdroje o TS. K čemu se používají?
Zjistěte, co jsou to třídy složitosti a jak se váží k TS.
Dokažte, zda platí $P = NP$.