Mercurial > 13ss.theoinf
comparison notes/tex/automatons.tex @ 43:c14b92bfa07f
add missing slides; correct some errors
author | Markus Kaiser <markus.kaiser@in.tum.de> |
---|---|
date | Thu, 11 Jul 2013 21:57:50 +0200 |
parents | 35e8bb96da7b |
children | 8e79d33bdece |
comparison
equal
deleted
inserted
replaced
42:35e8bb96da7b | 43:c14b92bfa07f |
---|---|
168 \end{tikzpicture} | 168 \end{tikzpicture} |
169 \end{center} | 169 \end{center} |
170 \end{frame} | 170 \end{frame} |
171 } | 171 } |
172 | 172 |
173 \defineUnit{rezunfa}{% | 173 \defineUnit{rezuenfa}{% |
174 \begin{frame} | 174 \begin{frame} |
175 \frametitle{RE $\rightarrow$ $\epsilon$-NFA} | 175 \frametitle{RE $\rightarrow$ $\epsilon$-NFA} |
176 \setbeamercovered{dynamic} | 176 \setbeamercovered{dynamic} |
177 | 177 |
178 \begin{block}{Idee (Kleene)} | 178 \begin{block}{Idee (Kleene)} |
363 \end{frame} | 363 \end{frame} |
364 } | 364 } |
365 | 365 |
366 \defineUnit{produktautomat}{% | 366 \defineUnit{produktautomat}{% |
367 \begin{frame} | 367 \begin{frame} |
368 \frametitle{produktautomat} | 368 \frametitle{Produktautomat} |
369 \setbeamercovered{dynamic} | 369 \setbeamercovered{dynamic} |
370 | |
370 \begin{theorem} | 371 \begin{theorem} |
371 sind $m_1 = (q_1, \sigma, \delta_1, s_1, f_1)$ und $m_2 = (q_2, \sigma, \delta_2, s_2, f_2)$ dfas, dann ist der \alert{produkt-automat} | 372 Sind $M_1 = (Q_1, \Sigma, \delta_1, s_1, F_1)$ und $M_2 = (Q_2, \Sigma, \delta_2, s_2, F_2)$ DFAs, dann ist der \alert{Produkt-Automat} |
372 | 373 |
373 \begin{align*} | 374 \begin{align*} |
374 m &:= (\alert{q_1 \times q_2}, \sigma, \delta, (s_1, s_2), f_1 \times f_2) \\ | 375 M &:= (\alert{Q_1 \times Q_2}, \Sigma, \delta, (s_1, s_2), F_1 \times F_2) \\ |
375 \delta\left( (q_1, q_2), a \right) &:= \left( \alert{\delta_1}(q_1, a), \alert{\delta_2}(q_2, a) \right) | 376 \delta\left( (q_1, q_2), a \right) &:= \left( \alert{\delta_1}(q_1, a), \alert{\delta_2}(q_2, a) \right) |
376 \end{align*} | 377 \end{align*} |
377 | 378 |
378 ein dfa, der $l(m_1) \cap l(m_2)$ akzeptiert. | 379 ein DFA, der $L(M_1) \cap L(M_2)$ akzeptiert. |
379 \end{theorem} | 380 \end{theorem} |
380 \end{frame} | 381 \end{frame} |
381 } | 382 } |
382 | 383 |
383 \defineUnit{regexrechnen}{% | 384 \defineUnit{regexrechnen}{% |
524 \end{enumerate} | 525 \end{enumerate} |
525 \end{example} | 526 \end{example} |
526 \end{frame} | 527 \end{frame} |
527 } | 528 } |
528 | 529 |
529 \defineUnit{aequivalenteZustaende}{% | 530 \defineUnit{aequivalentezustaende}{% |
530 \begin{frame} | 531 \begin{frame} |
531 \frametitle{Äquivalenzen} | 532 \frametitle{Äquivalenzen} |
532 \setbeamercovered{dynamic} | 533 \setbeamercovered{dynamic} |
533 | 534 |
534 \begin{definition}[Äquivalente Worte] | 535 \begin{definition}[Äquivalente Worte] |
550 \] | 551 \] |
551 \end{definition} | 552 \end{definition} |
552 \end{frame} | 553 \end{frame} |
553 } | 554 } |
554 | 555 |
555 \defineUnit{unterscheidbareZustaende}{% | 556 \defineUnit{unterscheidbarezustaende}{% |
556 \begin{frame} | 557 \begin{frame} |
557 \frametitle{Unterscheidbare Zustände} | 558 \frametitle{Unterscheidbare Zustände} |
558 \setbeamercovered{dynamic} | 559 \setbeamercovered{dynamic} |
559 | 560 |
560 \begin{definition}[Unterscheidbarkeit] | 561 \begin{definition}[Unterscheidbarkeit] |
591 \draw<4>[->, tumred] (q0) edge [bend left] node {$b$} (q2); | 592 \draw<4>[->, tumred] (q0) edge [bend left] node {$b$} (q2); |
592 \draw<4>[->, tumgreen] (q1) edge [bend right] node {$b$} (q3); | 593 \draw<4>[->, tumgreen] (q1) edge [bend right] node {$b$} (q3); |
593 \end{tikzpicture} | 594 \end{tikzpicture} |
594 \end{frame} | 595 \end{frame} |
595 } | 596 } |
597 | |
598 \defineUnit{quotientenautomat}{% | |
599 \begin{frame}[t] | |
600 \frametitle{DFA minimieren} | |
601 \setbeamercovered{dynamic} | |
602 | |
603 \begin{block}{Idee} | |
604 Erzeuge den \alert{Quotientenautomaten}. | |
605 \begin{enumerate} | |
606 \item Entferne alle von $q_0$ \alert{nicht erreichbaren} Zustände | |
607 \item<1, 3-> Berechne die \alert{unterscheidbaren} Zustände | |
608 \item<1, 6-> \alert{Kollabiere} die äquivalenten Zustände | |
609 \end{enumerate} | |
610 \end{block} | |
611 | |
612 \vfill | |
613 | |
614 \begin{columns}[c]<2-> | |
615 \begin{column}{.5\textwidth}<3-> | |
616 \begin{center} | |
617 \begin{tabu}to .8\textwidth{|X[c]|X[c]|X[c]|X} | |
618 \multicolumn{2}{l}{0} \\ \tabucline{1-1} | |
619 \alt<-4>{}{\textcolor{tumgreen}{$1/a$}} & \multicolumn{2}{l}{1} \\ \tabucline{1-2} | |
620 \alt<-4>{}{\textcolor{tumgreen}{$1/a$}} & & \multicolumn{2}{l}{2} \\ \tabucline{1-3} | |
621 \alt<-3>{}{\textcolor{tumred}{$\times$}} & \alt<-3>{}{\textcolor{tumred}{$\times$}}& \alt<-3>{} {\textcolor{tumred}{$\times$}}& 3 \\ \tabucline{1-3} | |
622 \end{tabu} | |
623 \end{center} | |
624 \end{column} | |
625 \begin{column}{.5\textwidth} | |
626 \begin{tikzpicture}[automaton, node distance=2.5cm] | |
627 \useasboundingbox (-0.5, -0.5) rectangle (2, -2); | |
628 | |
629 \node[state, initial] (q0) {$q_0$}; | |
630 \node<-5>[state] (q1) [right of = q0] {$q_1$}; | |
631 \node<-5>[state] (q2) [below of = q0] {$q_2$}; | |
632 \node<6>[state, fill=tumred!40] (q12) [right of = q0] {$q_{12}$}; | |
633 \node[state, accepting] (q3) [right of = q2] {$q_3$}; | |
634 | |
635 \draw<-5>[->] (q0) edge node {$a$} (q1); | |
636 \draw<-5>[->] (q0) edge node {$b$} (q2); | |
637 \draw<-5>[->] (q1) edge node {$a,b$} (q3); | |
638 \draw<-5>[->] (q2) edge node {$a,b$} (q3); | |
639 \draw[->] (q3) edge [loop right] node [above] {$a,b$} (q3); | |
640 | |
641 \draw<6>[->] (q12) edge node {$a,b$} (q3); | |
642 \draw<6>[->] (q0) edge node {$a,b$} (q12); | |
643 \end{tikzpicture} | |
644 \end{column} | |
645 \end{columns} | |
646 \end{frame} | |
647 } | |
648 | |
649 \defineUnit{regulaeresprachen}{% | |
650 \begin{frame} | |
651 \frametitle{Reguläre Sprachen} | |
652 \setbeamercovered{dynamic} | |
653 | |
654 \begin{center} | |
655 \begin{tikzpicture}[node distance=2cm] | |
656 \node (nfa) {NFA}; | |
657 \node (dfa) [left of=nfa] {DFA}; | |
658 \node (enfa) [right of=nfa] {$\epsilon$-NFA}; | |
659 \node (re) [below of=nfa] {RE}; | |
660 | |
661 \draw [every edge] (nfa) -- (dfa); | |
662 \draw [every edge] (enfa) -- (nfa); | |
663 \draw [every edge] (dfa) -- (re); | |
664 \draw [every edge] (nfa) -- (re); | |
665 \draw [every edge] (re) -- (enfa); | |
666 \end{tikzpicture} | |
667 \end{center} | |
668 | |
669 \vfill | |
670 \pause | |
671 | |
672 \begin{theorem} | |
673 Für eine Darstellung $D$ einer regulären Sprache ist \alert{entscheidbar}: | |
674 \vspace{1em} | |
675 \begin{description} | |
676 \item[Wortproblem] Gegeben $w$, gilt $w \in L(D)$? | |
677 \item[Leerheitsproblem] Ist $L(D) = \emptyset$? | |
678 \item[Endlichkeitsproblem] Ist $|L(D)| < \infty$? | |
679 \item[Äquivalenzproblem] Gilt $L(D_1) = L(D_2)$? | |
680 \end{description} | |
681 \end{theorem} | |
682 \end{frame} | |
683 } |