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 }