3. gyakorlat
1. feladat
- \(S\) program és \(F\) feladat \(A\) állapottér felett.
- \(S\) megoldja \(F\)-et
Kérdések:
-
Ha \(F\) nem determinisztikus, akkor \(S\) program sem.
- Nem, pl
- \(A = \{1,2\}\)
- \(F = \{(1,1), (1,2)\}\) - nem determinisztikus
- \(S = \{1 \to <1>, 2 \to <2>\}\) - determinisztikus
- Nem, pl
-
Ha az \(F\) determinisztikus, akkor az őt megoldó \(S\) is az.
- Nem, pl
- \(A = \{1, 2\}\)
- \(F = \{1 \to 1\}\) - determinisztikus
- \(S = \{1 \to <1>, 2 \to <2>, <2,1>\}\) - nem determinisztikus
- Nem, pl
- Egy \(S\) nem determinisztikus program, akkor a \(p(S)\) nem determinisztikus.
- Nem, pl
- \(S = \{1 \to <1> \; <1, 1, 1>\}\) - nem determinisztikus
- \(p(S) = \{1 \to 1\}\) - determinisztikus
- Nem, pl
- Ha \(p(S)\) nem determinsztikus, akkor \(F\) szintén nem determinisztikus
- Tipp: igen, mert
- \(\forall a \in D_F: \; p(S)(a) \subseteq F(a)\)
- Tehát ha \(p(S)(a)\) nem determinisztikus, akkor \(F(a)\) sem lehet
- DE! Mi van, ha \(p(S)\) egy olyan \(c\) állapot esetén nem determinisztikus, ami nincs benne a \(D_F\)-ben.
- másik tipp: nem, mert
- \(A = \{1,2\}\)
- \(F = \varnothing\)
- \(S = \{1 \to <1> \; <1,2>, 2 \to <2>\}\)
- \(p(S) = \{1 \to 1 \; 2, 2 \to 2\}\)
- Tipp: igen, mert
-
Ha \(F\) determinisztikus, akkor \(p(S)\) is az. (Az előző kérdés fordítva felírva.)
- nem, mert
- \(A = \{1,2\}\)
- \(F = \varnothing\)
- \(S = \{1 \to <1> \; <1,2>, 2 \to <2>\}\)
- \(p(S) = \{1 \to 1 \; 2, 2 \to 2\}\)
- nem, mert
-
Ha \(F\) nem determinisztikus, akkor \(p(S)\) sem determinisztikus
- nem
- \(F=\{1 \to 1 \; 2\}\)
- \(S = \{1 \to <1>, 2 \to <2>\}\)
- \(p(S) = \{1 \to 1, 2 \to 2\}\)
- nem
- \(S\) megoldja \(F\)-et. \(\overline{S} \subseteq S\)
- \(D_{P(\overline{S})} \subseteq D_{P(S)}\)
- Legyen \(a \in D_{p(\overline{S})}\)
- Tény: \(\overline{S}(a) \subseteq S(a)\)
- \(\overline{S}(A) \subseteq \overline{A}^*\)
- \(S(A) \subseteq \overline{A}^*\)
- .
- \(A = \{a\}\)
- \(S = a \to <a>, <a,a,\dots> \quad \subseteq \quad \overline{S} = \{a \to <a>\}\)
- \(D_{P(S)} = \varnothing\)
- \(D_{p(S)} \subseteq S_{p(\overline{S})} \quad \text{ha } \overline{S} \subseteq S\)
- Legyen \(a \in D_{p(S)}\)
- \(S(a) \subseteq \overline{A}^*\)
- \(\overline{S}(a)\subseteq S(a)\)
- Az előző kettő miatt: \(\overline{S}(a) \subseteq \overline{A}^*\)
- \(\forall a \in D_{p(s)}: p(\overline{S})(a) \subseteq p(S)(a)\)
- Legyen \(b \in p(\overline{S})(a)\)
- \(\exists \alpha \in \overline{S}(a) : \alpha_{|\alpha|}=b\) - van olyan állapot, amelyhez tartozó programsorozattal el tudunk jutni \(b\)-be
- tény: \(\overline{S} \subseteq S \Rightarrow \overline{S}(a) \subseteq S(a)\)
- Tehát az is igaz, hogy \(\exists \alpha \in S(a) : \alpha_{|\alpha|}=b\)
- Ez a programfüggvény definíciója miatt igaz
- \(D_F \subseteq D_{p(\overline{S})}\)
- Tény: \(D_F \subseteq D_{p(S)}\), mert \(S\) megoldja az \(F\) feladatot
- \(\forall a \in D_F: p(\overline{S})(a) \subseteq F(a)\)
- Tény: \(\forall a \in D_F: p(S)(a) \subseteq F(a)\)
- \(p(\overline{S})(a) \subseteq p(S)(a)\)
- Mo. definíciója értelmében az \(\overline{S} \subseteq S\), ezért megoldja a feladatot
- \(D_{P(\overline{S})} \subseteq D_{P(S)}\)
3. feladat
- \(S_1\) megoldja \(F\)-et
- \(S_2\) megoldja \(F\)-et
Az \(S_1 \cup S_2\) megoldja-e \(F\)
- \(S_1 \cup S_2\) program-e?
- Igen, ha \(S_1\) és az \(S_2\) is program
- \(D_{p(S_1 \cup S_2)} = D_{p(S_1)} \cap D_{p(S_2)}\)
- Biz. \(D_{p(S_1 \cup S_2)} = D_{p(S_1)} \cap D_{p(S_2)}\)
- \(D_{p(S_1 \cup S_2)} \subseteq D_{p(S_1)} \cap D_{p(S_2)}\)
- Legyen \(a \in D_{p(S_1 \cup S_2)}\)
- Program függvény definíciója szerint:
- \((S_1 \cup S_2)(a) \subseteq \overline{A}^*\)
- Unió definíciója szerint: \((S_1 \cup S_2)(a) = S_1(a) \cup S_2(a)\)
- Ebből következik, hogy \(S_1(a) \subseteq \overline{A}^*\) és \(S_2(a) \subseteq \overline{A}^*\)
- Program függvény definíciója miatt:
- \(a \in D_{p(S_1)}\) és \(a \in D_{p(S_2)}\)
- \(\Rightarrow a \in D_{p(S_1)} \cap D_{p(S_2)}\)
- Tehát \(D_{p(S_1 \cup S_2)} \subseteq D_{p(S_1)} \cap D_{p(S_2)}\)
- \(D_{p(S_1 \cup S_2)} \subseteq D_{p(S_1)} \cap D_{p(S_2)}\)
- Biz. \(D_{p(S_1 \cup S_2)} = D_{p(S_1)} \cap D_{p(S_2)}\)
- \(\forall a \in D_{p(S_1 \cup S_2)}: p(S_1 \cup S_2)(a) = p(S_1)(a) \cup p(S_2)(a)\)
- Bizonyítás: házi feladat
- \(D_F \subseteq D_{p(S_1 \cup S_2)}\)
- Tény:
- \(D_F \subseteq D_{p(S_1)}\)
- \(D_F \subseteq D_{p(S_2)}\)
- Ebből következik, hogy \(D_F \subseteq D_{p(S_1)} \cap D_{p(S_1)}=D_{p(S_1 \cup S_2)}\)
- Tény:
- \(\forall a \in D_F: p(S_q \cup S_2)(a) \subseteq F(a)\)
- \(p(S_1)(a) \subseteq F(a)\)
- \(p(S_2)(a) \subseteq F(a)\)
- Ebből következik, hogy \(p(S_1)(a) \cup p(S_2)(a) \subseteq F(a)\)
- Ami \(p(S_1 \cap S_2)(a) \subseteq F(a)\)
Info
"Bátran uniózzuk össze!" ~ Gregó
+- fogalmak
Változatlan:
- állapot
- állapottér
- program
- program függvény
- megoldás