\documentclass[11pt, a4paper]{report}

\usepackage[portuguese]{babel}
\usepackage{fullpage}

\newcounter{conta}

\begin{document}
 
\noindent {\it Fundamentos da Teoria da Computa\c{c}\~ao}
\hfill $\mbox{2}^{\mbox{\underline{o}}}$ semestre de 2010 \\
\noindent Professor: Newton Jos\'{e} Vieira \hfill DCC/ICEx/UFMG \\
\noindent {\bf Terceira Lista de Exerc\'{\i}cios} \hfill Entrega: 15/06/2010

\begin{enumerate}

 \item Para cada linguagem a seguir, construa um APD:
       \begin{list}{(\alph{conta})}{\usecounter{conta}}      
        \item $\{{\tt a}^{3n}{\tt b}^{2n}\,|\,n\geq 0\}$.
        \item $\{{\tt a}^{m}{\tt b}^{n}\#\,|\,m\not=n\}$. O alfabeto \'e $\{{\tt a},{\tt b},\#\}$.
       \end{list}

 \item Construa um APN que reconhe\c{c}a $\{{\tt a}^{m}{\tt b}^{n}\,|\,m\not=n\}$.

 \item Construa GLC's para as linguagens:
       \begin{list}{(\alph{conta})}{\usecounter{conta}}
        \item $\{{\tt 0}^{2n}{\tt 1}^{3n}\,|\, n\geq 0\}$.
        \item $\{{\tt 0}^n{\tt 1}^n\,|\,n\geq 0\}\{{\tt 0}^n{\tt 1}^n\,|\,n\geq 0\}
               \cup\{{\tt 0}^{2n}{\tt 1}^{3n}\,|\,n\geq 1\}$.
        \item $\{{\tt a}^n{\tt b}^{n+k}{\tt c}^k\,|\,n,k\geq 0\}$.
        \item $\{{\tt a}^m{\tt b}^n{\tt c}^k\,|\,k\geq m+n\}$.
       \end{list}

 \item Seja a gram\'atica $G$:
       \begin{enumerate}
	      \item[\ ] $X \,\rightarrow\, {\tt 0}A \,|\, B{\tt 1} \,|\, \lambda$
	      \item[\ ] $A \,\rightarrow\, X{\tt 1}$
	      \item[\ ] $B \,\rightarrow\, {\tt 0}A$
       \end{enumerate}
       \begin{list}{(\alph{conta})}{\usecounter{conta}}
        \item Que linguagem \'e gerada por $G$?
        \item Mostre que $G$ \'e amb\'{\i}gua.
        \item Construa uma gram\'atica n\~ao amb\'{\i}gua equivalente a $G$.
       \end{list}

 \item Seja a gram\'atica:
	     \begin{enumerate}
	      \item[\ ] $P\,\rightarrow\, A A A  \,|\,  B \,|\, A {\tt b}$
	      \item[\ ] $A\,\rightarrow\,{\tt a} A \,|\, B \,|\, BC$
	      \item[\ ] $B\,\rightarrow\,\lambda$
	      \item[\ ] $C\,\rightarrow\, BC$
	     \end{enumerate}
       \begin{list}{(\alph{conta})}{\usecounter{conta}}
        \item Se existirem s\'{\i}mbolos in\'uteis, elimine-os.
        \item Elimine regras $\lambda$.
        \item Elimine regras unit\'arias.
        \item Obtenha uma GLC equivalente na forma normal de Chomsky.
       \end{list}

 \item  Seja a gram\'atica:
	\begin{enumerate}
	 \item[\ ] $S\,\rightarrow\, {\tt ab}AB$
	 \item[\ ] $A\,\rightarrow\,{\tt b} AB \,|\, \lambda$
	 \item[\ ] $B\,\rightarrow\,{\tt b} BA{\tt a} \,|\, \lambda$
	 \item[\ ] $C\,\rightarrow\, BC$
	\end{enumerate}
        Obtenha uma GLC equivalente na forma normal de Chomsky.

 \item Construa um APN que aceite a linguagem gerada pela gram\'atica:
	\begin{enumerate}
	 \item[\ ] $S\,\rightarrow\, {\tt a}ABB \,|\, {\tt a}AA$
	 \item[\ ] $A\,\rightarrow\,{\tt a} BB \,|\, {\tt a}$
	 \item[\ ] $B\,\rightarrow\,{\tt b} BB \,|\, A$
	\end{enumerate}

 \item Mostre que s\~ao ou que n\~ao s\~ao linguagens livres do contexto:
       \begin{list}{(\alph{conta})}{\usecounter{conta}}
        \item $\{w\in\{\verb+a+,\verb+b+,\verb+c+\}^* \,|\, n_a(w)=n_b(w)\}$.
        \item $\{w\in\{\verb+a+,\verb+b+,\verb+c+\}^* \,|\, n_a(w)=n_b(w) \mbox{ ou } n_a(w)=n_c(w)\}$.
        \item $\{w\in\{\verb+a+,\verb+b+,\verb+c+\}^* \,|\, n_a(w)=n_b(w)=n_c(w)\}$.
       \end{list}
       Obs: $n_s(w)$ \'e a quantidade do s\'{\i}mbolo {\tt s} na palavra $w$.

 \item Mostre que sim ou que n\~ao; as linguagens livres do contexto s\~ao fechadas sob:
       \begin{list}{(\alph{conta})}{\usecounter{conta}}
        \item Diferen\c ca.
        \item Diferen\c ca sim\'etrica.
       \end{list}

 \item Prove que as seguintes afirmativas s\~{a}o ou n\~ao verdadeiras, considerando
       os casos em que (i) $X$ \'e finita e (ii) $X$ \'e regular.
       \begin{list}{(\alph{conta})}{\usecounter{conta}}
        \item Se $L$ \'{e} uma LLC, ent\~{a}o $L-X$ \'{e} uma LLC.
        \item Se $L$ n\~{a}o \'{e} uma LLC, ent\~{a}o $L-X$ n\~{a}o \'{e} uma LLC.
        \item Se $L$ n\~{a}o \'{e} uma LLC, ent\~{a}o $L\cup X$ n\~{a}o \'{e} uma LLC.
       \end{list}

\end{enumerate}

\end{document}
