%% This is a LaTeX document. Hey, Emacs, -*- latex -*- , get it? \documentclass[12pt,a4paper]{article} \usepackage[francais]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} %\usepackage{ucs} \usepackage{times} % A tribute to the worthy AMS: \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} % \usepackage{mathrsfs} % \usepackage{graphics} \usepackage[usenames,dvipsnames]{xcolor} \usepackage{tikz} \usetikzlibrary{arrows,automata,positioning} % \newcounter{quescnt} \newenvironment{question}% {\stepcounter{quescnt}\bigskip\noindent\textbf{Question~\arabic{quescnt}.}\par\nobreak} {\relax} \newcounter{answcnt}[quescnt] \newcommand\answer{% \stepcounter{answcnt}\smallskip\textbf{(\Alph{answcnt})}~} \newcommand\rightanswer{% \stepcounter{answcnt}\smallskip\leavevmode\llap{$\rightarrow$}\textbf{(\Alph{answcnt})}~} % \DeclareUnicodeCharacter{00A0}{~} \DeclareUnicodeCharacter{03B5}{$\varepsilon$} % \DeclareMathSymbol{\tiret}{\mathord}{operators}{"7C} \DeclareMathSymbol{\traitdunion}{\mathord}{operators}{"2D} % \tikzstyle{automaton}=[>=stealth',initial text={},thick,every loop/.style={min distance=7mm,looseness=5}] \tikzstyle{state}=[] \tikzstyle{final}=[accepting by arrow] % % % \begin{document} \textbf{Questions pour INF105 pour le QCM du 2022-06-02.} Chaque question comporte \emph{une et une seule réponse correcte}. Elle a été indiquée par une flèche ci-dessous : % % % \begin{question} Parmi les différents langages ci-dessous sur l'alphabet $\Sigma := \{a,b\}$, qui sont tous des sous-ensembles du langage rationnel $L_0 := L(a{*}b{*}) = \{a^i b^j : i,j \in \mathbb{N}\}$, un seul est rationnel : lequel ? \answer Le langage $\{a^i b^j : i=j\}$ formé des mots de $L_0$ ayant le même nombre de $a$ que de $b$. \answer Le langage $\{a^i b^j : i\geq j\}$ formé des mots de $L_0$ ayant au moins autant de $a$ que de $b$. \answer Le langage $\{a^i b^j : i\neq j\}$ formé des mots de $L_0$ ayant un nombre différent de $a$ et de $b$. \rightanswer Le langage $\{a^i b^j : i\equiv j \pmod{12}\}$ formé des mots de $L_0$ tels que le nombre de $a$ et de $b$ soient congrus modulo $12$ (c'est-à-dire que la différence entre ces deux nombres soit multiple de $12$). \end{question} % % % \begin{question} Parmi les différents langages ci-dessous sur l'alphabet $\Sigma := \{a,b\}$, un seul \emph{n'est pas} rationnel : lequel ? \answer Le langage des mots $w$ comportant exactement $42$ lettres $a$ (au total, c'est-à-dire $|w|_a = 42$). \rightanswer Le langage des mots $w$ comportant exactement autant de lettres $a$ que de lettres $b$ (au total, c'est-à-dire $|w|_a = |w|_b$). \answer Le langage des mots qui \emph{n'ont pas} le mot “$abbab$” comme facteur. \answer Le langage des mots qui \emph{n'ont pas} le mot “$abbab$” comme sous-mot. \answer Le langage des mots qui \emph{ne sont pas} un sous-mot de “$abbab$”. \end{question} % % % \begin{question} Parmi les différents langages ci-dessous sur l'alphabet $\Sigma := \{a,b,c\}$, un seul \emph{n'est pas} rationnel : lequel ? \answer Le langage des mots de longueur $\geq 3$ dont la troisième lettre (à partir du début) est identique à la troisième lettre à partir de la fin. \answer Le langage des mots de longueur $\geq 3$ dont chaque troisième lettre (c'est-à-dire la troisième, la sixième, la neuvième, etc., jusqu'à la fin du mot) sont toutes identiques. \rightanswer Le langage des mots de longueur impaire dont la lettre du milieu est un $a$. \end{question} % % % \begin{question} Quel langage reconnaît l'automate fini sur l'alphabet $\Sigma := \{a,b\}$ représenté ci-dessous ? \begin{center} %% NAME: q4 \begin{tikzpicture}[>=latex,line join=bevel,automaton] \node (q1) at (0bp,0bp) [draw,circle,state,initial] {$1$}; \node (q2) at (70bp,0bp) [draw,circle,state] {$2$}; \node (q3) at (00bp,-70bp) [draw,circle,state] {$3$}; \node (q4) at (70bp,-70bp) [draw,circle,state,final] {$4$}; \draw [->] (q1) to node[auto] {$a$} (q2); \draw [->] (q3) to node[auto] {$a$} (q4); \draw [->] (q1) to node[auto] {$b$} (q3); \draw [->] (q2) to node[auto] {$b$} (q4); \draw [->] (q1) to[loop above] node[auto] {$a,b$} (q1); \draw [->] (q4) to[loop below] node[auto] {$a,b$} (q4); \end{tikzpicture} \end{center} \rightanswer Le langage formé des mots de longueur $\geq 2$ dont toutes les lettres ne sont pas identiques. \answer Le langage formé des mots de longueur $\geq 2$ dont la dernière lettre est identique à la première. \answer Le langage formé des mots comportant au moins deux $a$ ou bien comportant au moins deux $b$. \answer Le langage formé des mots dont le nombre de $a$ et le nombre de $b$ sont tous les deux pairs. \answer Le langage formé des mots ayant $ab$ comme facteur. \end{question} % % % \begin{question} L'élimination des transitions spontanées sur l'automate fini sur l'alphabet $\Sigma := \{a,b\}$ représenté ci-dessous \begin{center} %% NAME: q5 \begin{tikzpicture}[>=latex,line join=bevel,automaton] \node (q1) at (0bp,0bp) [draw,circle,state,initial] {$1$}; \node (q2) at (70bp,0bp) [draw,circle,state] {$2$}; \node (q3) at (140bp,0bp) [draw,circle,state,final] {$3$}; \draw [->] (q1) to node[auto] {$a$} (q2); \draw [->] (q2) to node[auto] {$b$} (q3); \draw [->,out=270,in=270] (q3) to node[above] {$\varepsilon$} (q1); \end{tikzpicture} \end{center} \noindent s'obtient-elle... \rightanswer En supprimant la transition étiquetée $\varepsilon$ reliant $3$ à $1$ et en ajoutant une transition étiquetée $a$ reliant $3$ à $2$ ? \answer En supprimant la transition étiquetée $\varepsilon$ reliant $3$ à $1$ et en ajoutant une transition étiquetée $a$ reliant $2$ à $1$ ? \answer En remplaçant la transition étiquetée $\varepsilon$ reliant $3$ à $1$ par une transition étiquetée $a$ (toujours reliant $3$ à $1$) ? \answer En remplaçant la transition étiquetée $\varepsilon$ reliant $3$ à $1$ par une transition étiquetée $b$ (toujours reliant $3$ à $1$) ? \end{question} % % % \begin{question} Quel est le langage reconnu par l'automate ci-dessous ? \begin{center} %% NAME: q6 \begin{tikzpicture}[>=latex,line join=bevel,automaton] \node (q1) at (0bp,0bp) [draw,circle,state,initial above,final,accepting below] {$1$}; \node (q2) at (70bp,0bp) [draw,circle,state,initial above,final,accepting below] {$2$}; \node (q3) at (140bp,0bp) [draw,circle,state,initial above,final,accepting below] {$3$}; \draw [->] (q1) to node[auto] {$a$} (q2); \draw [->] (q2) to node[auto] {$b$} (q3); \end{tikzpicture} \end{center} \rightanswer $\{\varepsilon,a,b,ab\}$ \answer $\{\varepsilon,ab\}$ \answer $\{\varepsilon,a,b,ab,ba\}$ \answer $\{\varepsilon,ab,ba\}$ \answer $\{a,b,ab\}$ \answer $\{ab\}$ \answer $\varnothing$ \end{question} % % % \begin{question} Quel est le langage reconnu par l'automate ci-dessous ? \begin{center} %% NAME: q7 \begin{tikzpicture}[>=latex,line join=bevel,automaton] \node (q1) at (0bp,0bp) [draw,circle,state,final,accepting below] {$1$}; \node (q2) at (70bp,0bp) [draw,circle,state,initial above,final,accepting below] {$2$}; \node (q3) at (140bp,0bp) [draw,circle,state,initial above] {$3$}; \draw [->] (q1) to node[auto] {$a$} (q2); \draw [->] (q2) to node[auto] {$b$} (q3); \end{tikzpicture} \end{center} \answer $\{\varepsilon,a,b,ab\}$ \answer $\{\varepsilon,ba\}$ \answer $\{\varepsilon,a,b,ab,ba\}$ \answer $\{\varepsilon,ab,ba\}$ \answer $\{\varepsilon,a,b\}$ \rightanswer $\{\varepsilon\}$ \answer $\varnothing$ \end{question} % % % \begin{question} L'automate canonique (= automate fini déterministe complet ayant le nombre minimum possible d'états) équivalent à l'automate $\mathscr{A}$ représenté ci-dessous \begin{center} %% NAME: q8 \begin{tikzpicture}[>=latex,line join=bevel,automaton] \node (q1) at (0bp,0bp) [draw,circle,state,initial] {$1$}; \node (q2) at (70bp,0bp) [draw,circle,state,final,accepting below] {$2$}; \node (q3) at (140bp,0bp) [draw,circle,state,final] {$3$}; \draw [->] (q1) to[loop above] node[auto] {$a$} (q1); \draw [->] (q1) to node[auto] {$b$} (q2); \draw [->] (q2) to[loop above] node[auto] {$b$} (q2); \draw [->] (q2) to node[auto] {$a$} (q3); \draw [->] (q3) to[loop above] node[auto] {$a,b$} (q3); \end{tikzpicture} \end{center} \noindent s'obtient-il... \answer En ne changeant rien (l'automate $\mathscr{A}$ est déjà minimal) ? \rightanswer En fusionnant les états $2$ et $3$ (donnant un automate minimal à deux états) ? \answer En fusionnant les états $1$ et $2$ (donnant un automate minimal à deux états) ? \answer En fusionnant tous les états (donnant un automate minimal à un seul état) ? \end{question} % % % \begin{question} Parmi les expressions rationnelles ci-dessous, laquelle dénote le langage reconnu par l'automate suivant ? \begin{center} %% NAME: q9 \begin{tikzpicture}[>=latex,line join=bevel,automaton] \node (q1) at (0bp,0bp) [draw,circle,state,initial] {$1$}; \node (q2) at (70bp,0bp) [draw,circle,state,final] {$2$}; \draw [->] (q1) to[loop above] node[auto] {$a$} (q1); \draw [->,out=30,in=150] (q1) to node[auto] {$\varepsilon$} (q2); \draw [->,out=210,in=330] (q2) to node[auto] {$\varepsilon$} (q1); \draw [->] (q2) to[loop above] node[auto] {$b$} (q2); \end{tikzpicture} \end{center} \rightanswer $(a|b){*}$ \answer $(ab|ba){*}$ \answer $(aa|bb){*}$ \answer $a{*}\,|\,b{*}$ \answer $a(a|b){*}b$ \end{question} % % % \begin{question} Parmi les expressions rationnelles ci-dessous, laquelle dénote le langage reconnu par l'automate suivant ? (Note : l'expression correcte ci-dessous est obtenue en éliminant les états dans l'ordre $3,2,1$.) \begin{center} %% NAME: q10 \begin{tikzpicture}[>=latex,line join=bevel,automaton] \node (q1) at (0bp,0bp) [draw,circle,state] {$1$}; \node (q2) at (60bp,35bp) [draw,circle,state] {$2$}; \node (q3) at (60bp,-35bp) [draw,circle,state] {$3$}; \draw [<-] (q1) -- ++(-20bp,20bp); \draw [->] (q1) -- ++(-20bp,-20bp); \draw [->,out=90,in=150] (q1) to node[auto] {$a$} (q2); \draw [->,out=330,in=30] (q2) to node[auto] {$b$} (q3); \draw [->,out=210,in=270] (q3) to node[auto] {$c$} (q1); \draw [->] (q2) to node[auto] {$a$} (q1); \draw [->] (q3) to node[auto] {$b$} (q2); \draw [->] (q1) to node[auto] {$c$} (q3); \end{tikzpicture} \end{center} \rightanswer $(cc\,|\,(a|cb)(bb){*}(a|bc)){*}$ \answer $(a(b(cc){*}b){*}a){*}$ \answer $(abc|cba){*}$ \answer $(aa|b(aa|cc)b|cc){*}$ \end{question} % % % \end{document}