diff --git a/Számítástudomány/Vizsga/szamtudv.tex b/Számítástudomány/Vizsga/szamtudv.tex index bd94820..3d7752c 100644 --- a/Számítástudomány/Vizsga/szamtudv.tex +++ b/Számítástudomány/Vizsga/szamtudv.tex @@ -25,7 +25,8 @@ % Includes \usepackage{tikz} -\usetikzlibrary{shapes,arrows} +\usepackage{tkz-graph} +\usetikzlibrary{shapes,arrows,automata} \usepackage[T1]{fontenc} \usepackage{amsfonts} \usepackage{amsmath} @@ -34,7 +35,8 @@ \usepackage{array} \usepackage{arydshln} \usepackage{enumerate} -\usepackage[many]{tcolorbox} +\usepackage[many, poster]{tcolorbox} +\usepackage{pgf} % Colors \definecolor{myred}{rgb}{0.87,0.18,0} @@ -81,12 +83,17 @@ \setlength\dashlinegap{1.5pt} \setlength\arrayrulewidth{0.3pt} +\newcommand{\mtinyskip}{\vspace{0.2em}} +\newcommand{\msmallskip}{\vspace{0.3em}} +\newcommand{\mmedskip}{\vspace{0.5em}} +\newcommand{\mbigskip}{\vspace{1em}} + \begin{document} \begin{frame}[plain] \begin{tcolorbox}[center, colback={myyellow}, coltext={black}, colframe={myyellow}] {\Huge A Számítástudomány Alapjai I}\\ -\bigskip +\mbigskip \\ A kisbetűs szövegek (LaTeX-ben tiny), (Ha nincs előttük (S) jelzés, akkor lemaradt)\\ a saját értelmezést jelentik, és egyáltalán nem garantált hogy jók! @@ -98,35 +105,35 @@ a saját értelmezést jelentik, és egyáltalán nem garantált hogy jók! \begin{frame}[plain] \begin{tcolorbox}[center, colback={myyellow}, coltext={black}, colframe={myyellow}] {\Huge Logika} - \medskip + \mmedskip \end{tcolorbox} \end{frame} \begin{frame} \begin{tcolorbox}[squeezed title={(Ítélet) változók, Logikai szimbólumok, Elválasztó szimbólumok, Logikai formula}] -\bigskip +\mbigskip \textbf{(Ítélet) változók:} $p_1, p_2, ...$\\ \hspace{1ex} \textbf{Jel: } $Var = \{p_1, p_2, ...\}$\\ -\bigskip +\mbigskip \textbf{Logikai szimbólumok:} ${\neg}, {\land}, {\lor}, {\Rightarrow}, {\iff}.$\\ -\bigskip +\mbigskip \textbf{Elválasztó szimbólumok:} $(, )$\\ -\bigskip +\mbigskip \textbf{Logikai Formula:} Minden változó formula, továbbá ha $A, B$ formula, akkor:\\ \textbf{${\neg}A, (A \land B), (A \lor B), (A \Rightarrow B), (A \iff B)$} is formula.\\ -\bigskip +\mbigskip Legyen $Form$ az összes formula halmaza. \end{tcolorbox} \begin{tcolorbox}[title={Megj}] \textbf{Precedencia:}\\ -\bigskip +\mbigskip $1. {\neg}, 2. {\land}, 3. {\lor}$\\ -\bigskip +\mbigskip $A \Rightarrow B \equiv {\neg}A \lor B$\\ $(A \iff B) \equiv (A \Rightarrow B) \land (B \Rightarrow A) \equiv ({\neg}A \lor B) \land ({\neg}B \lor A)$\\ -\bigskip +\mbigskip (Az $\equiv$ jel itt a jobb elválasztást szolgálja, de egyébként alapból használható ugyanarra mint az $\iff$ jel!) \end{tcolorbox} \end{frame} @@ -147,7 +154,7 @@ F formulára a következő állítások közül pontosan egy teljesül: \begin{tcolorbox}[title={Részformula, Közvetlen részformula}] Ha $F$ és formulákra $f = G_1GG_2$, alkalmas $G_1, G_2, E(G)$ szavakra, ($G_1, G_2$ üres szavak is lehetnek!)\\ akkor $G$ \textbf{részformulája} $F$-nek.\\ -\bigskip +\mbigskip A tétel 2-4 pontjában szereplő $G$ és $H$ \textbf{közvetlen részformulái} $F$-nek. \end{tcolorbox} \end{frame} @@ -156,34 +163,34 @@ A tétel 2-4 pontjában szereplő $G$ és $H$ \textbf{közvetlen részformulái} \begin{tcolorbox}[title={Hozzárendelés}] Egy $\mathcal{A} : Var \rightarrow \{0, 1\}$ leképzést \textbf{hozzárendelésnek} nevezünk.\\ {\tiny (S) Ítéletváltozóhoz (Var az összes ítéletváltozó halmaza) hozzárendelünk elemet a {0, 1} halmazból. Kb értékadás. (kb függvény)}\\ -\bigskip +\mbigskip $\mathcal{A} : Form \rightarrow \{0, 1\}$ kiterjesztéshez legyen $F$ formula.\\ {\tiny (S) Ugyan az, csak formulának adunk értéket.}\\ -\bigskip +\mbigskip \begin{enumerate} \item Ha $F = p$ valamely $p \in Var$ esetén, akkor $\mathcal{A}(F) = \mathcal{A}(p)$.\\ {\tiny (S) Ha F formula értéke mindíg ugyan az mint egy tetszőleges p ítéletváltozó értéke, akkor hozzárendelés után is megegyezik az értékük. Kb mint monotonitás. }\\ -\bigskip +\mbigskip \item Ha $F = {\neg}G$ akkor:\\ -\medskip +\mmedskip $\mathcal{A}(F)$ = $ \begin{cases} 1 &$ ha $\mathcal{A}(G) = 0\\ 0 &$ ha $\mathcal{A}(G) = 1\\ \end{cases} $ -\bigskip +\mbigskip \item Ha $F = G \lor H$ akkor:\\ -\medskip +\mmedskip $\mathcal{A}(F)$ = $ \begin{cases} 1 &$ ha $\mathcal{A}(G) = 1$ vagy $\mathcal{A}(H) = 1\\ 0 &$ különben$\\ \end{cases} $ -\bigskip +\mbigskip \item Ha $F = G \land H$ akkor:\\ -\medskip +\mmedskip $\mathcal{A}(F)$ = $ \begin{cases} 1 &$ ha $\mathcal{A}(G) = 1$ és $\mathcal{A}(H) = 1\\ @@ -200,20 +207,20 @@ $ \begin{tcolorbox}[squeezed title={Formula modellje, Kielégíthető, Tautológia, Kielégíthetetlen}] Legyen $F$ formula, Legyen $\mathcal{A}$ egy hozzárendelés.s Ekkor\\ -\bigskip +\mbigskip Ha $\mathcal{A}(F) = 1$, akkor ezt a tényt $\mathcal{A} \models F$-fel jelöljük, és azt mondjuk, hogy $\mathcal{A}$ \textbf{kielégíti} $F$-et, vagy hogy $\mathcal{A}$ \underline{\textbf{modellje}} $F$-nek.\\ {\tiny (S) Mint egy függvén kb. F formulához hozzárendelünk egy értéket, és ha ez 1)}\\ -\bigskip +\mbigskip Ha $F$-nek van modellje, akkor azt mondjuk, hogy $F$ \underline{\textbf{kielégíthető}}.\\ -\bigskip +\mbigskip Ha minden $\mathcal{A}$ hozzárendelés esetén $\mathcal{A} \models F$, akkor $F$ \underline{\textbf{tautológia}} (vagy másképpen érvényes).\\ Jele: $\models F$.\\ -\bigskip +\mbigskip Ha $F$-nek nincs modellje, akkor azt mondjuk, hogy $F$ \underline{\textbf{kielégíthetetlen}}.\\ -\bigskip +\mbigskip Legyen $\Sigma$ formulák egy halmaza. Ha valamely $\mathcal{A}$ hozzárendelés esetén minden $F \in \Sigma$-re $\mathcal{A} \models F$, akkor ezen tényt $\mathcal{A} \models \Sigma$-val jelöljük, és azt mondjuk, hogy $\mathcal{A}$ kielégíti $\Sigma$-t vagy, hogy $\mathcal{A}$ modellje $\Sigma$-nak.\\ {\tiny (S) Ha van egy olyan $\mathcal{A}$ hozzárendelésünk, amire a $\Sigma$ halmaz összes formulája igazat ad.}\\ -\bigskip +\mbigskip Ha $\Sigma$-nak van modellje, akkor azt mondjuk, hogy $\Sigma$ kielégíthető. \end{tcolorbox} \end{frame} @@ -233,7 +240,7 @@ Tetszőleges $k \in \mathbb{N}$ esetén az IT: $\{0, 1\}^k \rightarrow \{0, 1\}$ \begin{table}[h!] \centering Negáció (unér művelet)\\ -\bigskip +\mbigskip \begin{tabular}{@{}C{3em}C{3em}@{}} \toprule \textbf{$A$} & \textbf{${\neg}A$} \\ @@ -244,12 +251,12 @@ h & i\\ \toprule \end{tabular} \end{table} -\bigskip +\mbigskip \begin{table}[h!] \centering A többi művelet\\ -\bigskip +\mbigskip \begin{tabular}{C{1em}C{1em}rC{4.4em}C{4.4em}C{4.4em}C{4.6em}} \toprule \textbf{$A$} & \textbf{$B$} & \textbf{$|$} & \textbf{$A \land B$} & \textbf{$A \lor B$} & \textbf{$A \Rightarrow B$} & \textbf{$A \iff B$} \\ @@ -286,7 +293,7 @@ $IT: \{0, 1\}^k \rightarrow \{0, 1\}, k \geq 1$ igazságtábla esetén van olyan \item $IT = IT_F$. \end{enumerate} \end{tcolorbox} -\bigskip +\mbigskip \begin{tcolorbox}[title={Tétel: Adekvát halmazok}] $\{\neg, \lor, \land\}, \{\neg, \lor\}, \{\neg, \land\}$ adekvát (azaz bármilyen formula leírható ezekkel), $\{\lor, \land\}$ nem adekvát. @@ -301,7 +308,7 @@ Azt mondjuk, hogy $F$ \underline{\textbf{logikai következménye}} $\Sigma$-nak, ha minden $\mathcal{A}$ hozzárendelés esetén valahányszor $\mathcal{A} \models \Sigma$, mindannyiszor $\mathcal{A} \models F$ is teljesül.\\ {\tiny (S) logikai következmény egyenlő a $A \Rightarrow B$ boole függvénnyel, ha kikötjük, hogy A csak igaz lehet. (Mivel az alap Boole függvényben ha $A$ hamis, akkor az eredmény igaz!)} \end{tcolorbox} -\medskip +\mmedskip \begin{tcolorbox}[title={Ész}] \begin{enumerate} \item $F$ akkor és csak akkor érvényes (tautológia), ha $\emptyset \models F$. Tehát $\models F$. és $\emptyset \models F$ ugyanazt jelenti.\\ @@ -348,34 +355,34 @@ $F \land \downarrow \equiv \downarrow$, és $\downarrow \land F \equiv \downarro $F \land \uparrow \equiv F$, és $\uparrow \land F \equiv F$\\ $F \lor \uparrow \equiv \uparrow$, és $\uparrow \lor F \equiv \uparrow$\\ $F \lor \downarrow \equiv F$, és $\downarrow \lor F \equiv F$\\ -\smallskip +\mmedskip Kontrapozíció (Modus Tollens):\\ $A \Rightarrow B \iff {\neg}B \Rightarrow {\neg}A$\\ -\smallskip +\mmedskip A de Morgan szabályok:\\ ${\neg}(F \land G) \equiv {\neg}F \lor {\neg}G$\\ ${\neg}(F \lor G) \equiv {\neg}F \land {\neg}G$\\ -\smallskip +\mmedskip Az idempotencia szabályai:\\ $F \land F \equiv F$\\ $F \lor F \equiv F$\\ -\smallskip +\mmedskip A kommutativitás szabályai:\\ $F \land G \equiv G \land F$\\ $F \lor G \equiv G \lor F$\\ -\smallskip +\mmedskip Az asszociativitás szabályai:\\ $(F \land G) \land H \equiv F \land (G \land H)$\\ $(F \lor G) \lor H \equiv F \lor (G \lor H)$\\ -\smallskip +\mmedskip Az adszorpció szabályai:\\ $F \land (F \lor G) \equiv F$\\ $F \lor (F \land G) \equiv F$\\ -\smallskip +\mmedskip A disztributivitás szabályai:\\ $F \land (G \lor H) \equiv (F \land G) \lor (F \land H)$\\ $F \lor (G \land H) \equiv (F \lor G) \land (F \lor H)$\\ -\smallskip +\mmedskip A dupla negáció szabálya:\\ ${\neg}{\neg}F \equiv F$ \end{tcolorbox} @@ -413,11 +420,11 @@ ahol $l_{i, j}$-k literálok. \begin{tcolorbox}[squeezed title={Tétel: Konjunktív és diszjunktív normálforma létezése}] Minden $F$ Formulához létezik vele logikailag ekvivalens konjunktív és diszjunktív normálforma. %\tcbsubtitle{Bizonyítás} -%\medskip +%\mmedskip \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ Konjunktív: \begin{enumerate} @@ -434,7 +441,7 @@ Konjunktív: \item $(F \land G) \lor H$ alakú részformulákat $(F \lor H) \land (G \lor H)$-val. \end{itemize} \end{enumerate} -\bigskip +\mbigskip Diszjunktív: \begin{enumerate} \item Ugyanaz mint a konjunktív normálforma esetén. @@ -452,7 +459,7 @@ Diszjunktív: \begin{tcolorbox}[title={Def.: Elmélet}] Legyen $\Sigma$ egy formulahalmaz, ekkor:\\ -\smallskip +\msmallskip $Th({\Sigma}) = \{F | \Sigma \models F\}$ a \textbf{$\Sigma$ által generált elmélet}.\\ ($Th({\Sigma})$ a $\Sigma$ összes logikai következménye). \end{tcolorbox} @@ -464,9 +471,9 @@ Ha $\Sigma$ formulák egy halmaza, akkor az $F_1, ... F_n$ formulák sorozatát \item $F_i$ tautológia \item van olyan $k, l < i$, hogy $F_l = F_k \rightarrow F_i$ \end{enumerate} -\bigskip +\mbigskip Egy $F$ formula \textbf{bizonyítható (levezethető)} $\Sigma$-ból, ha van olyan $\Sigma$ feletti $F_1, ..., F_n$ bizonyítás, hogy $F_n = F$.\\ -\bigskip +\mbigskip \textbf{Jel.: $\Sigma \vdash F$} \end{tcolorbox} @@ -564,13 +571,13 @@ TODO \begin{tcolorbox}[title={Gráf}] A $G = (V, E, {\phi})$ hármast \textbf{(irányítatlan) gráfnak} nevezzük, ha $V, E$ halmazok, $V \neq \emptyset, V \cap E = \emptyset$, és $\phi : E \rightarrow [V]^2$.\\ -\bigskip +\mbigskip $[V]^2 = \{ [a, b] | a, b \in V \}$, ahol $[a, b] = [b, a]$\\ -\bigskip +\mbigskip \textbf{V}: pont-, csúcshalmaz. $V(G)$ $G$ pontjai, $v(G) = |V(G)| = \#V$ G pontjainak száma.\\ -\bigskip +\mbigskip \textbf{E}: élhalmaz. $E(G)$ $G$ élei, $e(G) = |E(G)| = \#E$ G éleinek száma.\\ -\bigskip +\mbigskip (E = Edge, V = Vertex) \end{tcolorbox} @@ -609,9 +616,9 @@ $e \in E$ él végpontjai ($e$ illeszkedik $a$-ra, és $b$-re) ha $a, b \in V$ e \begin{tcolorbox}[title={Tétel: Fokszám-Élszám}] Legyen $G = (V, E)$ (Gráf). Ekkor $G$-ben a páratlan fokú csúcsok száma páros.\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ $$\sum_{a \in V} d(a) = \sum_{d(a) \equiv 0 (mod 2)} d(a) + \sum_{d(a) \equiv 1 (mod 2)} d(a) \equiv 0 (mod 2)$$ amiből kapjuk, hogy $$\sum_{d(a) \equiv 1 (mod 2)} d(a) \equiv 0 (mod 2)$$. @@ -625,15 +632,15 @@ amiből kapjuk, hogy $$\sum_{d(a) \equiv 1 (mod 2)} d(a) \equiv 0 (mod 2)$$. \begin{tcolorbox}[title={Def.: Gráfok izomorfiája}] A $G = (V, E)$ és $G' = (V', E')$ gráf \textbf{izomorf},\\ ha létezik ${\pi} : V \rightarrow V'$, és $\rho : E \rightarrow E'$ bijekció úgy, hogy ha $a \in V$ és $e \in E$ illeszkedik $G$-ben $\iff$ ${\pi}(a)$ és ${\rho}(e)$ illeszkedik $G'$-ben.\\ -\bigskip +\mbigskip A $G = (V, E)$ és $G' = (V', E')$ egyszerű gráf \textbf{izomorf}, ha létezik ${\pi} : V \rightarrow V'$ bijekció úgy, hogy $a, b \in V$ szomszédos $G$-ben $\iff$ ${\pi}(a)$ és ${\pi}(b)$ szomszédos G'-ben.\\ -\bigskip +\mbigskip A $G = (V, E)$ egyszerű gráf \textbf{teljes gráf}, ha bármely két pontja szomszédos. \textbf{$K_n$} jelöli az \textbf{n} pontú teljes gráfot. \end{tcolorbox} \begin{tcolorbox}[title={Ész}] Ugyanannyi csússzámú teljes gráfok izomorfak.\\ -\bigskip +\mbigskip $K_n$-nek $\frac{n(n - 1)}{2}$ éle van. \end{tcolorbox} \end{frame} @@ -642,7 +649,7 @@ $K_n$-nek $\frac{n(n - 1)}{2}$ éle van. \begin{tcolorbox}[title={Def.: Páros Gráf}] A $G = (V, E, {\phi})$ hármast \textbf{páros gráfnak} nevezzük, ha $V = V' \cup V'', V' \cap V'' = \emptyset$, és $G$ minden élének egyik végpontja $V'$-ben, másik végpontja $V''$-ben van.\\ -\medskip +\mmedskip ($K_{3, 3}$ 6 pontú teljes páros gráf, $K_5$ 5 pontú teljes gráf.) \end{tcolorbox} \begin{tcolorbox}[title={Def.: Részgráf}] @@ -654,7 +661,7 @@ Ha a $G' = (V', E', {\phi}')$ gráf a $G = (V, E, {\phi})$ gráf részgráfja, \end{tcolorbox} \begin{tcolorbox}[title={Komplementer Gráf}] $\overline{G}$ an $n$-pontú egyszerű $G = (V, E)$ gráf \textbf{komplementer gráfja}, ha\\ -\smallskip +\msmallskip $\overline{V}(G) = V(G)$ és\\ $E(\overline{G}) = E(K_n) \setminus E(G)$. \end{tcolorbox} @@ -665,20 +672,20 @@ $E(\overline{G}) = E(K_n) \setminus E(G)$. \begin{tcolorbox}[title={Zárt, Nyílt élsorozat (Séta)}] Legyen $k$ természetes szám.\\ \textbf{$k$ hosszú élsorozat (séta) $a_0$-ból $a_k$-ba} az\\ -\smallskip +\msmallskip $[a_0, e_1, a_1, e_2, a_2, ..., e_k, a_k]$ sorozat, ha $a_0, a_1, ..., a_k \in V(G), e_1, e_2, ..., e_k \in E(G)$ és ${\phi}(e_i) = [a_{i - 1}, a_i]$ minden $i = 1, 2, ..., k$-ra.\\ -\bigskip +\mbigskip \textbf{Út, Vonal:}\\ Egy élsorozat \textbf{út}, ha benne minden csúcs különböző és \textbf{vonal}, ha minden éle különboző.\\ -\bigskip +\mbigskip \textbf{Zárt, Nyílt:}\\ Egy élsorozat \textbf{zárt}, ha $a_0 = a_k$ különben \textbf{nyílt}.\\ -\bigskip +\mbigskip \textbf{Kör:}\\ \textbf{Kör} az a zárt élsorozat, melyben a többi csúcs egymástól és $a_0$-tól különbözik, és élei is mind különbözőek.\\ -\bigskip +\mbigskip Út $\subset$ Vonal $\subset$ Séta\\ -\medskip +\mmedskip Kör $\subset$ Zárt vonal $\subset$ Zárt séta \end{tcolorbox} \begin{tcolorbox}[title={Ész}] @@ -697,9 +704,9 @@ Egy gráf \textbf{összefüggő}, ha benne bármilyen két csúcs összeköthet \end{tcolorbox} \begin{tcolorbox}[title={Def.: Komponensek}] Legyen $\sim$ a következő ekvivalenciareláció (Reflexív, Tranzitív, Szimmetrikus):\\ -\bigskip +\mbigskip $a_1, a_2 \in V(G)$ esetén $a_1 \sim a_2$, ha $a_1 = a_2$ vagy $a_1$ és $a_2$ között van út.\\ -\bigskip +\mbigskip Az azonos osztályokba eső csúcsok által meghatározott telített részgráfok a $G$ gráf \textbf{(összefüggő) komponensei}, számuk \textbf{c(G)}. \end{tcolorbox} \begin{tcolorbox}[title={Ész}] @@ -758,9 +765,9 @@ Minden véges összefüggő $G$ gráfnak létezik feszítőfája. \begin{tcolorbox}[title={Tétel: Körök száma}] Egy véges összefüggő $G = (E, V)$ gráfban létezik \underline{legalább} $e(G) - v(G) + 1$ különböző kör.\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ A feszítőfa létezése téltel miatt ($\Rightarrow$) $\exists T$ feszítőfa, aminek $v(G) - 1$ éle van.\\ Legyen $K_f$ az a kör, ami $T \cup \{f\}$-ben van, ahol $f \in E(G) \setminus E(T)$\\ @@ -772,19 +779,19 @@ $\Rightarrow$ legalább $e(G) - v(G) + 1$ különbző kör. \begin{frame} \begin{tcolorbox}[title={Elvágó élhalmaz, vágás}] Legyen $G = (V, E, {\phi})$ egy gráf, $v, w \in V$, és $V' \subseteq V$.\\ -\bigskip +\mbigskip Ha minden $v$-ből $w$-be vezető út tartalmaz $V'$-beli csúcsot, akkor\\ -\medskip +\mmedskip \textbf{$V'$ elvágja $v$-t, és $w$-t}.\\ -\medskip +\mmedskip Ha $E' \subseteq E$ és minden $v$-ből $w$-be vezető út tartalmaz $E'$-beli élet, akkor\\ -\medskip +\mmedskip \textbf{$E'$ elvágja $v$-t, és $w$-t}.\\ -\bigskip +\mbigskip Ha $V'$, illetve $E'$ egy elemű, akkor \textbf{elvágó (szeparáló) pontról}, ill \textbf{elvágó (szeparáló) élről} beszélünk.\\ -\bigskip +\mbigskip $E' \subseteq E$ \textbf{elvágó, (szeparáló) élhalmaz}, ha a $G' = (V, E \setminus E')$ több komponensből áll, mint $G$. (azaz vannak olyan csúcsok $G$-ben, amelyeket $E'$ elvág.)\\ -\bigskip +\mbigskip $E' \subseteq E$ \textbf{vágás}, ha elvágó élhalmaz, de semelyik valódi részhalmaza nem az. \end{tcolorbox} \end{frame} @@ -793,9 +800,9 @@ $E' \subseteq E$ \textbf{vágás}, ha elvágó élhalmaz, de semelyik valódi r \begin{tcolorbox}[title={Tétel: Vágások száma}] Egy véges összefüggő $G = (V, E)$ gráfban létezik legalább $v(G) - 1$ vágás.\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ $T$ Feszítőfa összefüggő.\\ $\Rightarrow$ $T_G$ komplementer nem vágás.\\ @@ -810,20 +817,20 @@ Mivel $T$-nek $v(G) - 1$ éle van $\Rightarrow$ legalább ennyi különböző v Egy körmentes gráfot \textbf{erdőnek} nevezünk.\\ (Nincs kikötve, hogy összefüggő legyen,)\\ (Egy fa is erdő).\\ -\medskip +\mmedskip $G$ gráf maximállis élszámú körmentes részgráfja $G$ \textbf{feszítő erdője}. \end{tcolorbox} \begin{tcolorbox}[title={Ész}] A feszítő erdő minden összefüggő komponense $G$ megfelelő komponensének feszítőfája.\\ -\medskip +\mmedskip Egy véges erdő élszáma: $v(G) - c(G)$, ahol $c$ a komponensek száma. \end{tcolorbox} \begin{tcolorbox}[title={Rang, Nullitás}] $G$ \textbf{rangja}: $r(G) = v(G) - c(G)$\\ (Minimálisan kiválasztható vágások száma)\\ -\medskip +\mmedskip $G$ \textbf{Nullitása}: $n(G) = e(G) - v(G) + c(G)$\\ (Minimálisan kiválaszthatü körök száma.) \end{tcolorbox} @@ -856,7 +863,7 @@ Ha $G$ összefüggő véges gráf, akkor a következő állítások ekvivalensek \begin{frame} \begin{tcolorbox}[title={Def.: Hamilton gráfok}] Egy út \textbf{Hamilton-út}, ha $G$ gráf minden pontját tartalmazza.\\ -\medskip +\mmedskip Ha egy kör a $G$ minden pontját tartalmazza, akkor \textbf{Hamilton-körnek}, $G$-t pedig \textbf{Hamilton-gráfnak} nevezzük. \end{tcolorbox} @@ -864,8 +871,83 @@ Ha egy kör a $G$ minden pontját tartalmazza, akkor \textbf{Hamilton-körnek}, $K_n(n > 2)$ Hamilton-gráf, ha $n$ páratlan, akkor Euler-gráf is. \end{tcolorbox} + + \begin{tcolorbox}[title={Példák}] -TODO +\begin{tcbposter}[ +poster = {height=7cm,spacing=2mm,rows=3}, +boxes = {colframe=mybg, colback=mybg}, +] + +\posterbox[]{column=2,row=1}{\hspace{0.5em}Euler} +\posterbox[]{column=3,row=1}{\hspace{0.5em}Nem Euler} + +\posterbox[]{column=1,row=2}{\vspace{1.5em}Hamilton} +\posterbox[]{column=1,row=3}{\vspace{1.5em}Nem Hamilton} + +\posterbox[]{column=2,row=2}{ + \SetGraphUnit{2} + \GraphInit[vstyle=Normal] + \SetVertexSimple[MinSize = 8pt, LineColor = black, FillColor = mygreen] +\begin{tikzpicture} + \GraphInit[vstyle=Normal] + \SetVertexNoLabel + \Vertex{1} + \EA[unit=1](1){2} + \SO[unit=1](2){3} + \SO[unit=1](1){4} + \Edges(1,2,3,4,1) +\end{tikzpicture} +} + +\posterbox[]{column=3,row=2}{ + \SetGraphUnit{2} + \GraphInit[vstyle=Normal] + \SetVertexSimple[MinSize = 8pt, LineColor = black, FillColor = mygreen] +\begin{tikzpicture} + \GraphInit[vstyle=Normal] + \SetVertexNoLabel + \Vertex{1} + \EA[unit=1](1){2} + \SO[unit=1](2){3} + \SO[unit=1](1){4} + \Edges(1,2,3,4,1,3,4,2) +\end{tikzpicture} +} + +\posterbox[]{column=2,row=3}{ + \SetGraphUnit{2} + \GraphInit[vstyle=Normal] + \SetVertexSimple[MinSize = 8pt, LineColor = black, FillColor = mygreen] +\begin{tikzpicture} + \GraphInit[vstyle=Normal] + \SetVertexNoLabel + \Vertex{1} + \EA[unit=1](1){2} + \SO[unit=1](2){3} + \SO[unit=1](1){4} + \SOEA[unit=0.5](1){5} + \Edges(1,5,3,2,5,4,1) +\end{tikzpicture} +} + +\posterbox[]{column=3,row=3}{ + \SetGraphUnit{2} + \GraphInit[vstyle=Normal] + \SetVertexSimple[MinSize = 8pt, LineColor = black, FillColor = mygreen] +\begin{tikzpicture} + \GraphInit[vstyle=Normal] + \SetVertexNoLabel + \Vertex{1} + \EA[unit=1](1){2} + \SO[unit=1](2){3} + \SO[unit=1](1){4} + \SOEA[unit=0.5](1){5} + \Edges(1,2,3,4,1,5,3) +\end{tikzpicture} +} +\end{tcbposter} + \end{tcolorbox} \end{frame} @@ -882,7 +964,7 @@ Legyen $G$ egy $n \geq 3$ pontú egyszerű véges gráf. Ha $$d(v) \geq \frac{n} \begin{frame} \begin{tcolorbox}[title={Gráf súlya}] Legyen $G = (V, E, {\phi}, w)$ olyan gráf ($w$ a súlyfüggvény (Az él súlya)), ahol $w$ függvény egy $e \in E(G)$ élhez rendel valós számhalmazbeli értéket, amelyet $e$ \textbf{súlyának} nevezük. $X \subseteq E(G)$ esetén az $X$ részhalmaz súlya:\\ -\medskip +\mmedskip $\sum_{e \in X} w(e)$. \end{tcolorbox} @@ -892,7 +974,7 @@ Egy \textbf{mohó algoritmus} minden döntést az adott pillanatban rendelkezés \begin{tcolorbox}[title={Ész}] \textbf{Előny:}\\ -\medskip +\mmedskip \begin{enumerate} \item Könnyen kitalálható \item Könnyen Implementálható @@ -904,7 +986,7 @@ Nem mindíg adja az optimális megoldást. \begin{tcolorbox}[title={Ellenpélda: TSP / Travelling Salesman Problem}] Egy utazóügynöknek $n$ városba kell ellátogatnia. Szeretné az útiköltséget minimalizálni úgy, hogy minden várost pontosan egyszer érintsen.\\ -\bigskip +\mbigskip TODO kép \end{tcolorbox} \end{frame} @@ -1033,16 +1115,16 @@ Ezek közül pontosan egy végtelen, neve \textbf{külső tartomány}. \begin{tcolorbox}[title={Tétel: Minimális fokszáma síkgráfban.}] Ha $G$ egyszerű, síkba rajzolható gráf, akkor $$\delta = \min_{{q \in V(G)}} d(a) \leq 5$$\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás (Indirekt)}}\\ -\medskip +\mmedskip TFH $\delta \geq 6$. Az általánosság megsértése nélkül feltehetjük, hogy $v(G) \geq 3$.\\ $\sum_{{a \in V(G)}} d(a) = 2e(G)$ (fokok száma = 2 x az élek száma)\\ Mivel $\delta \geq 6 \implies 6v(G) \leq 2e(G)$\\ A síkgráf élszáma tételből következik, hogy:\\ $2e(G) \leq 6v(G) - 12.$\\ -\bigskip +\mbigskip $2e(G) \leq 6v(G) - 12$ \hspace{1ex} $/\cdot2$\\ $6v(G) \leq 6v(G) - 12$ $\rightarrow$ Ellentmondás! \end{tcolorbox} @@ -1053,17 +1135,17 @@ $6v(G) \leq 6v(G) - 12$ $\rightarrow$ Ellentmondás! A Kuratovski gráfok ($K_5$ és $K_{3,3}$) Nem rajzolhatók síkba.\\ TODO: kép\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás (Indirekt)}}\\ -\medskip +\mmedskip TFH $K_5$ és $K_{3,3}$ síkbarajzolható.\\ -\smallskip +\msmallskip \textbf{$K_{3,3}$ esetén}:\\ $v(G) = 6$, és $e(G) = 9$\\ Euler forumlából következik, hogy $t = 5$.\\ Viszont $K_{3,3}$ nem tartalmaz háromszöget, és nincs szeparáló éle. $\implies$\\ $\implies$ $4t \leq 2e(G) \implies 20 \leq 18$. $\rightarrow$ Ellentmondás!\\ -\smallskip +\msmallskip \textbf{$K_5$ esetén}:\\ $v(G) = 5$ és $e(G) = 10$\\ Alkalmazzuk a síkgráf élszáma tételt ($e(G) \leq 3v(G) - 6$), ekkor\\ @@ -1091,7 +1173,51 @@ Egy egyszerű véges gráf \textbf{akkor, és csak akkor} rajzolható síkba, ha \begin{frame} \begin{tcolorbox}[title={Def.: Szomszédsági mátrix}] -TODO +Legyen a $G$ gráfban: $V = \{v_1, ..., v_n\}$ és $E = \{e_1, ..., e_m\}$\\ +\\ +egy $B_{n x m}$ mátrix, ahol\\ +\\ +Ha irányított:\\ +$b_{y} =$ ahány él van $v_i$ kezdő és $v_j$ végponttal.\\ +\\ +Ha irányítatlan:\\ +$b_{y} = $ +$ +\begin{cases} +i = j$ esetén ahány hurokél illeszkedik $v_i$-re$\\ +i \neq j$ esetén ahány él van $v_i$ és $v_j$ közt$\\ +\end{cases} +$\\ +\end{tcolorbox} + +\begin{tcolorbox}[sidebyside] + \SetGraphUnit{2} + \GraphInit[vstyle=Normal] + \SetVertexSimple[MinSize = 16pt, LineColor = black, FillColor = mygreen] +\begin{tikzpicture} + \GraphInit[vstyle=Normal] + \SetVertexLabel + \Vertex{1} + \EA[unit=3](1){2} + \SO[unit=2](2){3} + \SO[unit=2](1){4} + \Loop[dist=0.7cm,dir=NOWE,style={thick,-}](1) + \Loop[dist=1.4cm,dir=NOWE,style={thick,-}](1) + \Edges(1,2,3,4,1,2,4) + \tikzset{EdgeStyle/.append style = {bend left}} + \Edge(2)(3) +\end{tikzpicture} +\vspace{12mm} +\tcblower +\[ +B_{4 x 4} = +\begin{bmatrix} + 2 & 1 & 0 & 1\\ + 1 & 0 & 2 & 1\\ + 0 & 2 & 0 & 1\\ + 1 & 1 & 1 & 0\\ +\end{bmatrix} +\] \end{tcolorbox} \end{frame} @@ -1101,9 +1227,9 @@ TODO Egy összefüggő síkbeli gráf, amelynek $t$ tartománya van, (a külső tartományt is beleértve), eleget tesz az Euler-formulának: $$v(G) - e(G) + t = 2$$\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás (Sematikus)}}\\ -\medskip +\mmedskip Tekintsünk egy $K$ kört $G$-ben és egy $e \in E(K)$ élet.\\ Mivel $e$ két tartomány határán van $\implies$ $e$ törlésével két szomszéd régió eggyé válik. @@ -1124,9 +1250,9 @@ $$\implies v(G) - e(G) + t = v(G) - (v(G) - 1) + 1 = 2$$ \begin{tcolorbox}[title={Tétel: Síkgráf élszáma}] Ha $G$ egyszerű, síkba rajzolható gráf, és $v(G) \geq 3$, akkor $$e(G) \leq 3v(G) - 6$$.\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ \textbf{1. Eset}\\ TFH $G$ összefüggő.\\ @@ -1135,15 +1261,67 @@ Mivel G egyszeű $\implies$ minden tartományát legalább 3 él határolja. $\i $\implies$ legalább 3t élet számoltunk.\\ Mivel az elvágó éleket egyszer számoltuk, a többit kétszer $\implies$ $3t \leq 2e(G)$.\\ Az Euler formulából következik, hogy $$3(e(G) - v(G) + 2) \leq 2e(G) \implies e(G) \leq 3v(G) - 6$$\\ -\smallskip +\msmallskip \textbf{2. Eset}\\ TFH $G$ nem összefüggő.\\ Ekkor visszavezetjük az első esetre, élek hozzáadásával. - \end{tcolorbox} - \end{frame} +\begin{frame} +\begin{tcolorbox}[title={Def.: Illeszkedési mátrix}] +Legyen a $G$ gráfban: $V = \{v_1, ..., v_n\}$ és $E = \{e_1, ..., e_m\}$\\ +\mmedskip +egy $B_{n x m}$ mátrix, ahol\\ +\mmedskip +Ha irányított:\\ +$b_{y} = $ +$ +\begin{cases} +1$ ha $e_j$-nek $v_i$ kezdőpontja$\\ +-1$ ha $e_j$ nem hurokél és $v_i$ a végpontja$\\ +0$ egyébként$\\ +\end{cases} +$\\ +Ha irányítatlan:\\ +$b_{y} = $ +$ +\begin{cases} +1$ ha $e_j$ illeszkedik $v_i$ pontra$\\ +0$ egyébként$\\ +\end{cases} +$\\ +\end{tcolorbox} + +\begin{tcolorbox}[sidebyside] + \SetGraphUnit{2} + \GraphInit[vstyle=Normal] + \SetVertexSimple[MinSize = 16pt, LineColor = black, FillColor = mygreen] +\begin{tikzpicture} + \GraphInit[vstyle=Normal] + \SetVertexLabel + \Vertex{1} + \EA[unit=3](1){2} + \SO[unit=2](2){3} + \SO[unit=2](1){4} + \Edge[label=$e_1$](1)(2) + \Edge[label=$e_2$](2)(3) + \Edge[label=$e_3$](3)(4) + \Edge[label=$e_4$](4)(1) + \Edge[label=$e_5$](2)(4) +\end{tikzpicture} +\tcblower +\[ +B_{4 x 5} = +\begin{bmatrix} + 1 & 0 & 0 & 1 & 0\\ + 1 & 1 & 0 & 0 & 1\\ + 0 & 1 & 1 & 0 & 0\\ + 0 & 0 & 1 & 1 & 1\\ +\end{bmatrix} +\] +\end{tcolorbox} +\end{frame} % -------------------- FORÁLIS NYELVEK, ÉS AUTOMATÁK -------------------- @@ -1157,16 +1335,16 @@ Ekkor visszavezetjük az első esetre, élek hozzáadásával. \begin{frame} \begin{tcolorbox}[title={Def.: $\Sigma$ feletti szó}] Legyen $\Sigma$ véges nemüres halmaz.\\ -\medskip +\mmedskip \textbf{$\Sigma$ feletti szón} a $\Sigma$ elemeiből (betűiből) képzett véges sorozatot értjük: \\ -\medskip +\mmedskip $w = w_1 ... w_n$, $w_1 \in {\Sigma}, i = 1, ..., n$\\ -\medskip +\mmedskip \textbf{Szó hossza:} Az $n$ nemnegatív, egész szám a w szó hossza. Jelölés: $|w|$.\\ ($|w|_0$ a $w$-ben található $0$-k száma.)\\ -\medskip +\mmedskip \textbf{Üres szó:} A $0$ hosszúságú szó, jelölése : $\epsilon$\\ -\medskip +\mmedskip ${\Sigma}^*$ jelöli a $\Sigma$ feletti szavak halmazát.\\ (Végtelen, viszont a szavak végesek) \end{tcolorbox} @@ -1177,15 +1355,15 @@ ${\Sigma}^*$ egy részhalmazát \textbf{$\Sigma$ feletti nyelvnek} nevezzük. \begin{tcolorbox}[title={Def.: Véges automata}] \textbf{$(Q, {\Sigma}, {\delta}, q_0, F)$}\\ -\medskip +\mmedskip $Q$: Állapotok véges, nemüres halmaza.\\ -\medskip +\mmedskip $\Sigma$: bemenő jelek (betűk) véges, nemüres halmaza.\\ -\medskip +\mmedskip $\delta : Q x \Sigma \rightarrow Q$: átmeneti függvény.\\ -\medskip +\mmedskip $q_0 \in Q$: Kezdőállapot.\\ -\medskip +\mmedskip $F \subseteq Q$: Végállapotok halmaza.\\ \end{tcolorbox} @@ -1194,17 +1372,17 @@ $F \subseteq Q$: Végállapotok halmaza.\\ \begin{frame} \begin{tcolorbox}[squeezed title={Def.: Számítási sorozat, elfogadott szó, felismert nyelv}] Legyen $M = (Q, {\Sigma}, {\delta}, q_0, F)$ véges automata, $q \in Q$ és $w = w_1...w_n \in {\Sigma}^*$, ekkor az\\ -\medskip +\mmedskip $r_0, r_1, ..., r_n (r_i \in Q, i = 1, ..., n)$\\ -\medskip +\mmedskip állapotsorozat az $M$ $q$-ból induló számítási sorozata a $w$ szón, ha\\ -\medskip +\mmedskip $r_0 = q$ és $r_i = {\delta}(r_{i - 1}, w_i)(i = 1, ..., n)$\\ -\bigskip +\mbigskip \textbf{Elfogadott szó:} Azt mondjuk, hogy \textbf{$M$ elfogadja a $w$ szót}, ha létezik a $q_0$ kezdőállapotból induló számítási sorozat a $w$ szón és $r_n \in F$.\\ -\bigskip +\mbigskip \textbf{Felismert nyelv:} Az M által felismert nyelv: $L(M) = \{w \in {\Sigma}^* | M$ elfogadja $w$-t$\}$.\\ -\bigskip +\mbigskip Két automata \textbf{ekvivalens}, ha ugyanazt a nyelvet ismerik fel. \end{tcolorbox} @@ -1214,7 +1392,7 @@ Az $L \subseteq {\Sigma}^*$ nyelvet \textbf{felismerhető nyelvnek} nevezzük, h \begin{tcolorbox}[title={Def.: Konkatenáció}] $A$ $\cdot : {\Sigma}^* x {\Sigma}^* \rightarrow {\Sigma}^*$ műveletet konkatenációnak nevezzük, ahol\\ -\medskip +\mmedskip $u, v \in {\Sigma}^*, u = u_1...u_n, v = v_1...v_n$ esetén\\ $u \cdot v = u1...u_nv_1...v_n$ \end{tcolorbox} @@ -1233,7 +1411,7 @@ $({\Sigma}^*, {\cdot})$ egységelemes félcsoport (monoid).\\ \begin{frame} \begin{tcolorbox}[squeezed title={Def.: Egyesítés,Metszet, Komplementer, Konkatenáció, Iteráció}] Legyen $L, L_1, L_2 \subseteq {\Sigma}^*$, ekkor\\ -\medskip +\mmedskip \begin{enumerate} \item $L_1 \cup L_2 = \{v \in {\Sigma}^* : v \in L_1 \lor v \in L_2\}$ (Egyesítés) (Reguláris művelet) \item $L_1 \cap L_2 = \{v \in {\Sigma}^* : v \in L_1 \land v \in L_2\}$ (Metszet) @@ -1253,26 +1431,26 @@ $L_1 \cup (L_2 \cup L_3) = (L_1 \cup L_2) \cup L_3$\\ $L_1 \cup L_2 = L_2 \cup L_1$\\ $L \cup L = L$\\ $L \cup \emptyset = L$\\ -\bigskip +\mbigskip $L_1 \cdot (L_2 \cdot L_3) = (L_1 \cdot L_2) \cdot L_3$\\ $L \cdot \{{\epsilon}\} = L$\\ $\{{\epsilon}\} \cdot L = L$\\ $L \cdot \emptyset = \emptyset$\\ $\emptyset \cdot L = \emptyset$\\ -\bigskip +\mbigskip $L_1 \cdot (L_2 \cup L_3) = (L_1 \cdot L_2) \cup (L_1 \cdot L_3)$\\ $(L_1 \cup L_2) \cdot L_3 = (L_1 \cdot L_3) \cup (L_2 \cdot L_3)$\\ -\bigskip +\mbigskip Jelölések:\\ -\medskip +\mmedskip $L^+ = L \cdot L^* = L^* \cdot L$\\ $L^n = L \cdot ... \cdot L$ ($n$-szer), $L^0 = \{{\epsilon}\}$\\ -\medskip +\mmedskip Észrevétel:\\ -\medskip +\mmedskip $L^* = \bigcup_{n \geq 0} L^n$\\ $L^+ = \bigcup_{n \geq 1} L^n$\\ -\smallskip +\msmallskip Tehát: $L^* = L^+ \cup \{{\epsilon}\}$ \end{tcolorbox} @@ -1296,9 +1474,9 @@ Egy nyelv akkor, és csak akkor felismerhető, ha reguláris. \begin{tcolorbox}[title={Tétel: Felismerhető nyelvek komplementere}] $L$ Felismerhető $\implies$ $\overline{L}$\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ Legyen $M = (Q, \Sigma , \delta , q_0, F)$ véges automata és $L = L(M)$ (M automata felismeri az L nyelvet).\\ Tekintsük a következő konstrukciót:\\ @@ -1314,21 +1492,21 @@ Ekkor $L(\overline{M}) = \overline{L}$. (Azaz az $\overline{M}$ automata biztos \begin{tcolorbox}[title={Tétel: Felismerhető nyelvek metszete}] $L_1, L_2$ felismerhető $\implies$ $L_1 \cap L_2$\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ Legyen: $L_1 = L(M_1), L_2 = L(M_2)$.\\ Legyen: $M_1 = (Q_1, \Sigma , {\delta}_1, q_1, F_1), M_2 = (Q_2, \Sigma , {\delta}_2, q_2, F_2)$.\\ Legyen: $Q = Q_1 x Q_2$ (Párokból áll, ha pl $Q_1$ 2 elemű, $Q_2$ 3 elemű, akkor $Q$ 6 elemből fog állni.)\\ Legyen: $\delta = Q x \Sigma \rightarrow Q$ (Párok lesznek).\\ Legyen: $\delta(s, a), s \in Q = \delta((s_1, s_2), a) = ({\delta}_1(s_1, a), {\delta}_2(s_2, a))$, $s_1 \in Q_1, s_2 \in Q_2, a \in \Sigma$\\ -\bigskip +\mbigskip Legyen: $q_0 = (q_1, q_2)$\\ Legyen: \underline{\textbf{$F_{\cap} = F_1 x F_2$}} (Az összes lehetséges módon párokat képzünk mindkét alap automata végállapot halmazaiból) $\implies$ csak akkor fog egy nyelvet felismerni, a "nagy" automata, ha mindkét "kis" automata az egyik eredeti végállapotában áll.)\\ -\smallskip +\msmallskip Legyen: $M_{\cap} = (Q, \Sigma , \delta , q_0, F_{\cap})$\\ -\bigskip +\mbigskip Ekkor: \underline{$L(M_{\cap}) = L_1 \cap L_2$}\\ \end{tcolorbox} @@ -1338,21 +1516,21 @@ Ekkor: \underline{$L(M_{\cap}) = L_1 \cap L_2$}\\ \begin{tcolorbox}[title={Tétel: Felismerhető nyelvek egyesítése}] $L_1, L_2$ felismerhető $\implies$ $L_1 \cup L_2$\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ Legyen: $L_1 = L(M_1), L_2 = L(M_2)$.\\ Legyen: $M_1 = (Q_1, \Sigma , {\delta}_1, q_1, F_1), M_2 = (Q_2, \Sigma , {\delta}_2, q_2, F_2)$.\\ Legyen: $Q = Q_1 x Q_2$ Legyen: $\delta = Q x \Sigma \rightarrow Q$ (Párok lesznek).\\ Legyen: $\delta((s_1, s_2), a) = ({\delta}_1(s_1, a), {\delta}_2(s_2, a))$, $s_1 \in Q_1, s_2 \in Q_2, a \in \Sigma$\\ -\bigskip +\mbigskip Legyen: $q_0 = (q_1, q_2)$\\ Legyen: \underline{\textbf{$F_{\cup} = F_1 x Q_2 \cup F_2 x Q_1$}} (Az \textbf{első} "kicsi" automata összes \textbf{végállapotát} párba vesszük a \textbf{második} "kicsi" automata összes \textbf{állapotával}, unió a \textbf{második} "kicsi" automata összes végállapota az első "kicsi" automata \textbf{állapotával} $\implies$ bármelyik "kicsi" automata végállapotba kerül, az a másiknak is végállapota lesz a pár másik felén. (Mivel pároknál számít az elemek sorrendje))\\ -\smallskip +\msmallskip Legyen: $M_{\cup} = (Q, \Sigma , \delta , q_0, F_{\cup})$\\ -\bigskip +\mbigskip Ekkor: \underline{$L(M_{\cup}) = L_1 \cup L_2$}\\ \end{tcolorbox} @@ -1361,31 +1539,31 @@ Ekkor: \underline{$L(M_{\cup}) = L_1 \cup L_2$}\\ \begin{frame} \begin{tcolorbox}[title={Def.: Nemdeterminisztikus automata}] \textbf{Véges nemdeterminisztikus (üres átmenetekkel ellátott) automata:}\\ -\medskip +\mmedskip $M = (Q, {\Sigma}, {\delta}, q_0, F)$,\\ -\medskip +\mmedskip ahol $Q, {\Sigma}, q_0, F$ ugyanazok, mint véges automatában, továbbá:\\ -\medskip +\mmedskip $\delta : Q$ $x$ $({\Sigma} \cup \{{\epsilon}\}) \rightarrow p(Q)$ \end{tcolorbox} \begin{tcolorbox}[title={squeezed Def.: Számítási sorozat, elfogadott szó, felismert nyelv}] Legyen $M = (Q, {\Sigma}, {\delta}, q_0, F)$ véges \underline{nemdeterminisztikus} automata, $q \in Q$ és \underline{$w \in {\Sigma}^*$}, ekkor az\\ -\medskip +\mmedskip $r_0, r_1, ..., r_n (r_i \in Q, i = 1, ..., n)$\\ -\medskip +\mmedskip állapotsorozat az $M$ $q$-ból induló számítási sorozata a $w$ szón, ha \underline{$w$ felírható}\\ -\medskip +\mmedskip \underline{$w = w_1 ... w_n, w_i \in {\Sigma}_{\epsilon}, (i = 1, ..., n)$}\\ -\medskip +\mmedskip \underline{alakban úgy, hogy:}\\ -\medskip +\mmedskip $r_0 = q$ és $r_i = {\delta}(r_{i - 1}, w_i)(i = 1, ..., n)$\\ -\bigskip +\mbigskip \textbf{Elfogadott szó:} Azt mondjuk, hogy \textbf{$M$ elfogadja a $w$ szót}, ha létezik a $q_0$ kezdőállapotból induló számítási sorozat a $w$ szón és $r_n \in F$.\\ -\bigskip +\mbigskip \textbf{Felismert nyelv:} Az M által felismert nyelv: $L(M) = \{w \in {\Sigma}^* | M$ elfogadja $w$-t$\}$.\\ -\bigskip +\mbigskip (az aláhúzotta különböznek a determinisztikus automatáshoz képest) \end{tcolorbox} @@ -1402,9 +1580,9 @@ $\widehat{X} = \{s \in Q : {\exists}r_0,r_1,...,r_n, n \geq 0, r_0 \in X, r_n = \begin{tcolorbox}[title={Tétel: Nemdeterminisztikus automata}] Minden $M = (Q, \Sigma , \delta , q_0, F)$ véges nemdeterminisztikus automatával felismerhető nyelv, felismerhető véges automatával.\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ Tekintsük az $M' = (Q', \Sigma , {\delta}', Q_0, F')$ véges automatát ($Q_0$ halmaz!), ahol\\ $Q' = p(Q)$ ($p(Q)$ $\rightarrow$ hatványhalmaz)\\ @@ -1423,15 +1601,15 @@ Megjegyzés: Elég lenne $p(Q)$ azon elemeivel számolni, amelyek elérhetők $Q \begin{tcolorbox}[title={Tétel: Felismerhető nyelvek szorzata}] $L_1, L_2$ felismerhető $\implies$ $L_1 \cdot L_2$\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ Legyen: $L_1 = L(M_1), L_2 = L(M_2)$.\\ Legyen: $M_1 = (Q_1, \Sigma , {\delta}_1, q_1, F_1), M_2 = (Q_2, \Sigma , {\delta}_2, q_2, F_2)$.\\ Legyen: $Q_1 \cap Q_2 = \emptyset$\\ Legyen: $L(M_1) = L_1, L(M_2) = L_2$.\\ -\bigskip +\mbigskip Legyen: ${\delta}(q, a) = $ $ \begin{cases} @@ -1445,9 +1623,9 @@ $\\ {\small (2) $\rightarrow$ Végállapot}\\ {\small (3) $\rightarrow$ (Végállapot) Ha üres betű, akkor átugrunk a második automata kezdőállapotába.}\\ \\ -\bigskip +\mbigskip Legyen: $M_1 \cdot M_2 = (Q_1 \cup Q_2, \Sigma , \delta , q_1, F_2)$\\ -\bigskip +\mbigskip Ekkor: \textbf{$L(M_1 \cdot M_2) = L_1 \cdot L_2$}\\ \end{tcolorbox} @@ -1457,13 +1635,13 @@ Ekkor: \textbf{$L(M_1 \cdot M_2) = L_1 \cdot L_2$}\\ \begin{tcolorbox}[title={Tétel: Felismerhető nyelvek iterációja}] $L$ felismerhető $\implies$ $L^*$ is felismerhető.\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ Legyen: $M = (Q, \Sigma , {\delta}, q_0, F)$.\\ Legyen: $M^* = (Q \cup \{s_0\}, \Sigma , {\delta}_*, s_0, F \cup \{s_0\})$.\\ -\bigskip +\mbigskip Legyen: ${\delta}(q, a)_* = $ $ \begin{cases} @@ -1474,7 +1652,7 @@ $ \emptyset & q = s_0$ és $a \neq \epsilon \\ \end{cases} $\\ -\bigskip +\mbigskip \textbf{Ekkor: $L(M^*) = L^*$}\\ \end{tcolorbox} @@ -1483,7 +1661,7 @@ $\\ \begin{tcolorbox}[title={Def.: Reguláris kifejezések}] $\Sigma$ véges, nemüres halmaz.\\ Azt mondjuk, hogy $R$ reguláris kifejezés ($\Sigma$ felett), ha:\\ -\medskip +\mmedskip \begin{enumerate} \item $R = a$ valamely $a \in \Sigma$-ra, és ekkor $R$ a $\{a\}$ nyelvet jelöli, vagy \item $R = \emptyset$ és ekkor $R$ az $\emptyset$ nyelvet jelöli, vagy @@ -1491,7 +1669,7 @@ Azt mondjuk, hogy $R$ reguláris kifejezés ($\Sigma$ felett), ha:\\ \item $R = (R_1 \cdot R_2)$ és ekkor $R$ az $R_1$ és $R_2$ által jelölt nyelvek konkatenációját jelöli, vagy \item $R = (R^*_1)$ és ekkor az $R$ az $R_1$ által jelölt nyelv iterációját jelöli. \end{enumerate} -\medskip +\mmedskip ahol $R_1, R_2$ reguláris kifejezések. \end{tcolorbox} \end{frame} @@ -1506,9 +1684,9 @@ alakban úgy, hogy\\ \item $xy'z \in L$ minden $i \geq 0$ egészre. \end{enumerate} \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ Az L reguláris nyelvhez konstruáljuk meg az $M = (Q, {\Sigma}, {\delta}, q_0, F)$ véges automatát úgy, hogy legyen $p = |Q|$.\\ Ha $u \in L$ és $|u| \geq p \implies$ a $q_0, q_1, ...,q_n (q_i \in Q, i = 0, ..., n)$\\ @@ -1518,14 +1696,14 @@ számítási sorozatra az $u$ szón teljesüljön, hogy\\ \item $q_n \in F$ \item ${\exists}i, j : 0 \leq i < j \leq p$ és $q_i = q_j$ \end{enumerate} -\bigskip +\mbigskip Legyen továbbá: \begin{itemize} \item $x$ az $u$ szó $i$ hosszú kezdőszelete \item $y$ az $x$-et követő $j - i$ hosszú rész-szó \item $z$ az $u$-nak az $n - j$ hosszú zárószelete \end{itemize} -\bigskip +\mbigskip \textbf{Ekkor az $u = xyz$ felbontásra teljesülnek a lemma állításai.} \end{tcolorbox} @@ -1535,19 +1713,17 @@ Legyen továbbá: \begin{tcolorbox}[title={Tétel: Példa nemreguláris nyelvre}] Az $L = \{0^n1^n : n \geq 0\} \subseteq \{0, 1\}^*$ nyelv nem reguláris.\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ Legyen $p$ tetszőleges, ekkor $u$ (szó) $ = 0^p1^p$.\\ Tfh $x, y, z$ olyan szavak, amelyekre:\\ $u = xyz, |xy| \leq p, |y| > 0$.\\ -\bigskip +\mbigskip Ekkor $xy$ csupa 0-ból áll és $y$ tartalmaz legalább egy 0-t. $\implies$\\ $\implies$ $i \neq 1$ esetén $xy'z \notin L$, mert több 0 lessz benne, mint 1-es! $\implies$\\ $\implies$ Sosem találunk megfelelő $p$-t $\implies$ \textbf{A nyelv nem reguláris.}\\ -\bigskip -TODO: Példa értékek \end{tcolorbox} \end{frame} @@ -1567,21 +1743,21 @@ $G = (V, {\Sigma}, R, S)$ négyest, ahol\\ \begin{tcolorbox}[title={Def.: Deriváció, közvetlen derivált}] Legyen $G = (V, {\Sigma}, R, S)$ környezetfüggetlen nyelvtan, $u, v \in (V \cup {\Sigma})^*$.\\ -\medskip +\mmedskip \textbf{Közvetlen derivált:}\\ Azt mondjuk, hogy \textbf{$u$ közvetlen deriváltja a $v$ szó}, Jelölés: $u \Rightarrow v$,\\ ha létezik az $u = u_1Au_2$ és $v = u_1wu_2$ felbontás úgy, hogy $A \rightarrow w \in R$.\\ -\medskip +\mmedskip \textbf{$v$ szó $u$ ból való derivációja:}\\ Egy $u_0, u_1, ..., u_n (n \geq 0)$ sorozatot a \textbf{$v$ szó $u$-ból való derivációjának} nevezünk, ha:\\ $u_0 = u, u_n = v$ és\\ $u_{i - 1} \Rightarrow u_i, i = 1, ..., n$.\\ -\medskip +\mmedskip \textbf{Levezethető:}\\ Azt mondjuk, hogy a \textbf{$v$ deriválható vagy levezethető $u$-ból}, \\ha létezik a $v$-nek $u$-ból való derivációja.\\ Jele: $u {\Rightarrow}^* v$.\\ -\medskip +\mmedskip A \textbf{$G$ által generált nyelv}:\\ $L(G) = \{w \in {\Sigma}^* : S {\Rightarrow}^* w\}$. @@ -1598,14 +1774,14 @@ Egy nyelv \textbf{Környezetfüggetlen}, ha generálható környezetfüggetlen n \begin{tcolorbox}[title={Def.: Derivációs fa}] Legyen $G = (V, {\Sigma}, R, S)$ környezetfüggetlen nyelvtan.\\ \textbf{$G$ feletti derivációs fa} olyan véges, irányított, rendezett fa, amely csúcsai a $V \cup {\Sigma} \cup \{{\epsilon}\}$ halmaz elemeive címkézettek úgy, hogy valahányszor egy csúcs és leszármazottainak címét rendre\\ -\medskip +\mmedskip $X, X_1, ..., X_n (n \geq 1)$,\\ mindannyiszor $X \rightarrow X_1...X_n \in R$.\\ -\medskip +\mmedskip Továbbá minden levél címkéje az $\{{\epsilon}\} \cup {\Sigma} = {\Sigma}_g$ halmazban van, és ha egy csúcs valamely leszármazottja $\epsilon$-nal címkézett, akkor a csúcsnak egyetlen leszármazottja van.\\ -\bigskip +\mbigskip Ha a gyökér címkéje $X$, akkor a \textbf{derivációs fa $X$-ből indul}.\\ -\bigskip +\mbigskip A derivációs fa leveleinek, illetve a levelek címkéinek sorozata a \textbf{derivációs fa határa}, amely egy ${\Sigma}^*$-beli szó. \end{tcolorbox} \end{frame} @@ -1617,15 +1793,15 @@ Egy $X \in (V \cup {\Sigma}_{\epsilon})$-ből induló derivációs fa, amelynek \begin{tcolorbox}[title={Def.: Jobb-, Baloldali deriváció}] Azt mondjuk, hogy egy\\ -\bigskip +\mbigskip $u_0 \Rightarrow u_1 \Rightarrow ... \Rightarrow u_n$\\ -\bigskip +\mbigskip \textbf{deriváció baloldali}, ha minden $i < n$ számra $u_{i + 1}$ úgy áll elő az $u_i$ szóból, hogy az $u_i$-ben előforduló első nemterminálist írjuk át.\\ -\bigskip +\mbigskip \textbf{Jobboldali derivációk} hasonlóan definiálhatóak.\\ -\bigskip +\mbigskip Baloldali deriváció jelölése:\\ -\bigskip +\mbigskip $u_0 {\Rightarrow}_l ... {\Rightarrow}_l u_g$, vagy $u_0 {\Rightarrow}^*_l u_g$. \end{tcolorbox} \end{frame} @@ -1652,12 +1828,12 @@ A $G = (V, {\Sigma}, R, S)$ \textbf{nyelvtant egyértelműnek} nevezzük, ha min \begin{tcolorbox}[title={Tétel: Reguláris nyelv környezetfüggetlen}] Minden reguláris nyelv környezetfüggetlen.\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás (Konstr)}}\\ -\medskip +\mmedskip Legyen $L \in {\Sigma}^*, L = L(M)$, és\\ $M = (Q, {\Sigma}, {\delta}, q_0, F)$ nemdeterminisztikus véges automata.\\ -\bigskip +\mbigskip Megkonstruáljuk a $G = (Q, {\Sigma}, R, q_0)$ nyelvtant, ahol,\\ $R = \{q \rightarrow aq' : q' \in {\delta}(q, a)\} \cup \{q \rightarrow \epsilon : q \in F \}$.\\ Ekkor az $u \in L(G) \iff \exists u$ szóra $q_0$-ból $q$-ba vezető számítási sorozat.\\ @@ -1670,11 +1846,11 @@ Ekkor az $u \in L(G) \iff \exists u$ szóra $q_0$-ból $q$-ba vezető számít \begin{tcolorbox}[title={Jobblineáris nyelvtan, nyelv}] A $G = (V, {\Sigma}, R, S)$ környezetfüggetlen \textbf{nyelvtan jobblineáris},\\ Ha minden osztálya:\\ -\medskip +\mmedskip $A \rightarrow uB$ vagy $A \rightarrow u$ alakú, ahol $u \in {\Sigma}^*$ és $A, B \in V$\\ -\bigskip +\mbigskip L \textbf{nyelv jobblineáris}, ha generálhatü jobblineáris nyelvtannal.\\ -\smallskip +\msmallskip (Ez a legszigorúbb szabály, a reguláris nyelveket tudja generálni.) \end{tcolorbox} \end{frame} @@ -1683,27 +1859,27 @@ L \textbf{nyelv jobblineáris}, ha generálhatü jobblineáris nyelvtannal.\\ \begin{tcolorbox}[squeezed title={Tétel: Környezetfüggetlen nyelvek műveleti zártsága}] A környezetfüggetlen nyelvek zártak a reguláris műveletekre.\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás (Kontrapozíció)}}\\ -\medskip +\mmedskip A módszer: adott $E$ reguláris kifejezéshez megadjuk a\\ $G_E = (V_E, {\Sigma}, R_E, S_E)$\\ nyelvtant, amely az $E$ által jelölt nyelvet generálja.\\ -\bigskip +\mbigskip Legyen először $E = \emptyset$:\\ Akkor $G_{\emptyset} = (\{S\}, {\Sigma}, \emptyset, S)$.\\ -\bigskip +\mbigskip Ha $E = a \in {\Sigma}$:\\ Akkor $G_a = (\{S\}, {\Sigma}, \{S \rightarrow a\}, S)$.\\ -\bigskip +\mbigskip Ha $E = (E_1 + E_2)$:\\ Akkor $G_E = (V_{E_1} \cup V_{E_2} \cup \{S\}, \Sigma, R_{E_1} \cup R_{E_2} \cup \{S \rightarrow S_{E_1}, S \rightarrow S_{E_2}\}, S)$,\\ és feltesszük, hogy $V_{E_1} \cap V_{E_2} = {\emptyset}, S \notin V_{E_1} \cup V_{E_2}$.\\ -\bigskip +\mbigskip Ha $E = (E_1 \cdot E_2)$:\\ Akkor $G_E = (V_{E_1} \cup V_{E_2} \cup \{S\}, \Sigma, R_{E_1} \cup R_{E_2} \cup \{S \rightarrow S_{E_1}S_{E_2}\}, S)$,\\ és feltesszük, hogy $V_{E_1} \cap V_{E_2} = {\emptyset}, S \notin V_{E_1} \cup V_{E_2}$.\\ -\bigskip +\mbigskip Ha $E = (E_1)^*$:\\ Akkor $G_E = (V_{E_1} \cup \{S\}, \Sigma, R_{E_1} \cup \{S \rightarrow SS_{E_1}, S \rightarrow \epsilon \}, S)$,\\ és feltesszük, hogy $S \notin V_{E_1}$.\\ @@ -1715,10 +1891,10 @@ Akkor $G_E = (V_{E_1} \cup \{S\}, \Sigma, R_{E_1} \cup \{S \rightarrow SS_{E_1}, \begin{tcolorbox}[title={Def.: Veremautomata, Elfgadott szó}] \textbf{Veremautomata} egy $M = (Q, {\Sigma}, {\Gamma}, {\delta}, q_0, F)$ rendszer,\\ ahol $Q, {\Sigma}, q_0, F$ ugyanazok, mint véges automata esetén, továbbá\\ -\medskip +\mmedskip $\Gamma$ : véges, nemüres halmaz, a verem ábécé.\\ $\delta : Q x {\Sigma}_g x {\Gamma}_g \rightarrow p(Q x {\Gamma}_g)$ az átmenetfüggvény.\\ -\bigskip +\mbigskip \textbf{Elfogadott szó:}\\ Az \textbf{$M$ veremautomata akkor fogadja el a $w \in {\Sigma}^*$ szót,} ha\\ ${\exists}w_1, ..., w_m \in {\Sigma}_g, r_0, ..., r_m \in Q, s_0, ..., s_m \in {\Gamma}^*$, ahol\\ @@ -1729,7 +1905,7 @@ ${\exists}w_1, ..., w_m \in {\Sigma}_g, r_0, ..., r_m \in Q, s_0, ..., s_m \in { valamely $a, b \in {\Gamma}_g, t \in {\Gamma}^*$ esetén. \item $r_m \in F$ \end{enumerate} -\medskip +\mmedskip Jelölés: $L(M)$ jelöli az $M$ által elfogadott $w \in {\Sigma}^*$ szavak halmazát.\\ $L(M)$-et am $M$ által felismert nyelvnek nevezzük. \end{tcolorbox} @@ -1738,18 +1914,18 @@ $L(M)$-et am $M$ által felismert nyelvnek nevezzük. \begin{frame} \begin{tcolorbox}[title={Def.: Konfiguráció}] \textbf{Konfiguráció} a $(q, {\alpha}, u) \in Q x {\Sigma}_{\epsilon} x {\Gamma}_{\epsilon}$ rendezett hármas.\\ -\medskip +\mmedskip $(q, {\alpha}, u) \vdash (q', {\alpha}', u')$,\\ {\tiny (S) A $\vdash$ kb levezethetőt jelent, de nem biztos, hogy ez a szakszó rá!} -\medskip +\mmedskip ha létezik olyan $((q, a, {\gamma}), (q', {\gamma}'))$ szabály és $\mathcal{B} \in {\Gamma}^*$, hogy\\ -\medskip +\mmedskip $u = au'$, $\alpha = {\gamma}{\beta}$, ${\alpha}' = {\gamma}'{\beta}$.\\ -\medskip +\mmedskip $(q, {\alpha}, u) {\vdash}^* (q', {\alpha}', u')$.\\ -\medskip +\mmedskip ha valamely $(r_i, {\alpha}_i, u_i), i = 0, ..., n$ konfigurációkra\\ -\medskip +\mmedskip $(r_0, {\alpha}_0, u_0) = (q, {\alpha}, u)$, $(r_n, {\alpha}_n, u_n) = (q', {\alpha}', u')$, és\\ $(r_i, {\alpha}_i, u_i) \vdash (r_{i + 1}, {\alpha}_{i + 1}, u_{i + 1})$ minden $i = 0, ..., n - 1$ esetén.\\ \end{tcolorbox} @@ -1776,14 +1952,14 @@ alakban úgy, hogy\\ \begin{tcolorbox}[title={Tétel: Példa nem környezetfüggetlen nyelvre 1}] Az $L = \{a^nb^nc^n : n \geq 0 \} \subseteq \{a, b, c\}^*$ nyelv nem környezetfüggetlen.\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ Belátjuk, hogy ${\forall}p > 0$ egészhez ${\exists}w \in L, |w| \geq p$ úgy, hogy\\ a $w$ tetszőleges olyan $w = uvxyz$ felbontására, ahol $|vy| > 0, |vxy| < p$,\\ létezik olyan i, amelyre $uv^ixy^iz \notin L$.\\ -\bigskip +\mbigskip Tetszőleges $p$-hez legyen $w = a^pb^pc^p$. Ekkor bárhogyan is írjuk fel a $w$-t úgy, hogy $w = uvxyz$ felbontásra $|vy| > 0, |vxy| < p$, mindíg lesz olyan betű, amely nincs benne $vy$-ban, viszont ekkor $uxz \notin L$. \end{tcolorbox} \end{frame} @@ -1792,14 +1968,14 @@ Tetszőleges $p$-hez legyen $w = a^pb^pc^p$. Ekkor bárhogyan is írjuk fel a $w \begin{tcolorbox}[title={Tétel: Példa nem környezetfüggetlen nyelvre 2}] Az $L = \{w\#w : w \in \{0, 1\}^* \}$ nyelv nem környezetfüggetlen.\\ \tcblower -\smallskip +\msmallskip \underline{\textbf{Bizonyítás}}\\ -\medskip +\mmedskip \\ Tetszőleges $p$-hez legyen $w = 0^p1^p\#0^p1^p$, és tekintsük $w$ egy tetszőleges olyan $w = uvxyz$ felbontását, ahol $|vy| > 0, |vxy| < p$.\\ -\bigskip +\mbigskip 1. eset: Ha $\# \notin x$ $\rightarrow$ $uv^2xy^2z \notin L$.\\ -\bigskip +\mbigskip 2. eset: Ha $\# \in x$ $\rightarrow$ Ekkor $u$-ban csak az $1, y$-ban csak $0$ szerepelhet. $\rightarrow$ Mivel $vy \neq \epsilon \Rightarrow uxz \notin L$. \end{tcolorbox} \end{frame}