1. gyakorlat
"Ne tévelyedjünk el, ez matematika óra." ~ Gregó
A feladat matematikai modellje
Állapottér
Az \(s\) változó egy \(x\) értéket vesz fel, a \(t\) változó egy \(y\) értéket, a \(v\) változó egy \(z\) értéket.
Az állapottér az össze állapotnak a halmaza:
\(a\) egy állapot. Pl. \(a \in A\) esetén \(s(a) = x\)
1. példa feladat
Egyenes vonalú egyenletes mozgást végző test sebességét kiszámolni
Input adatokhoz rendelünk output adatokat
De ezt nem fogjuk használni az órán.
A program működését akarjuk bizonyítnai matematikai módszerekkel.
Nem egyértelmű mindig, hogy mi in- és mi output.
Program szempontjából csak változók vannak. Ezek adják meg a program aktuális állapotát.
Programot hasonlítjuk össze a feladattal.
1. feladat állapottérrel
De ugyanígy
Az output első két helyén is lehetne *: \((120.0, 2.0, *) \to (*, *, 60.0)\)
Nem feltétlenül determinisztikus.
Tehát ez nem egy függvény (\(F: A \rightarrow A\))
Hanem egy reláció (\(F \subset A \times A\))
A feladat egy leképezés.
Alternatív felírás következik
SZINTÉN alternatív felírás
SZINTÉN SZINTÉN alternatív felírás
Gregó's favourite
(Csak a szükségesek vannak benne)
2. feladat
Egy összetett számnak adjuk meg egy valódi osztóját
Hány db adat van? 2 db.
- Szám: \(n\)
- osztó: \(d\)
Milyen típusúak?
- \(n \in \N\)
- \(d \in \N\)
Állapottér: adatok száma, nevük, típusuk
Ha nem kell ragaszkodni a \(n\)-hez, akkor eldobhetjuk. Az output érték kezdőállapota mindegy.
3. feladat
Döntsük el 2 természetes számról, hogy egyik osztója-e a másiknak
Hány adata van a feladatnak? Szám: \(n\), másik szám \(d\) és eredmény \(l\)
- \(n \in \N\)
- \(d \in \N\)
- \(l \in \mathbb{L}\)
\(A = (n \in \N, d \in \N, l \in \mathbb{L})\)
Katie:
\(F = \{(x, y, *) \to (*, *, \text{x mod y} = 0) \; | \; x,y \in \N \; \land \; y \neq 0\}\)
Doboz:
\(F = \{(x, y, *) \to (*, *, y|x) \; | \; y \neq 0\}\)
4. feladat
Legyen 2 db változónk és cseréljük ki az értékeiket
Katie:
Hány adat van? Egyik: x, másik: y
\(A = x: \Z, y: \Z\)
\(F = {(x, y) \to (y, x)}\)
Doboz:
Két változó:
- \(a \in \Z\)
- \(b \in \Z\)
A program
\(S \subset A \times (A \cup \{\text{fail}\})^{**}\)
A program állapothoz egy véges vagy végtelen állapot sorozatot rendel
5. ~~feladat~~ program
\(A = (n: \N, d: \N)\)
\(\left<\right>\): állapot sor
6. program
\(D_s = A\)
A program bármely állapotból el tud indulni
7. feladat
Fogalmak a következő heti röpzhra
(todo: fogalom gyűjtemény)
- állapot, állapottér
- Mi a "feladat"?
- állapottér feletti homogén binér reláció