Lsystems/Solutions.tex

99 lines
4.7 KiB
TeX

\begin{Solution}{1}
L'alphabet des chiffres binaires est : \(\Sigma=\{0,1\}\) et le langage des nombres binaires à trois chiffres est :
\[L=\{000,001,010,011,100,101,110,111\}\]
\end{Solution}
\begin{Solution}{2}
En considérant les quatre nucléotides composant l'ADN, la thymine (T), la cytosine (C), l'adénine (A) et la guanine (G), on peut définir l'alphabet nécessaire ainsi :
\[\Sigma=\{A,C,G,T\}\]
Les codons sont quant à eux des ensemble de trois nucléotides, pris parmi les quatre disponibles dans l'alphabet. Le langage ainsi formé est :
\[L=\{AAC,ACT,ACT,CTG,GTC, \dots\}\]
et la combinatoire donne pour un arrangement avec répétition de trois éléments pris parmi quatre :
\[\overline{A_3^4}=4^3=64\;\text{possibilités}\]
\end{Solution}
\begin{Solution}{3}
Il s'agit d'un automate simple sans grande difficultés. Il est déterministe puisque de chaque état ne part qu'une seule transition de même type.
\begin{center}
\begin{postscript}
\VCDraw{%
\begin{VCPicture}{(0,-2)(6,4)}
% states
\State[e_1]{(0,0)}{A} \State[e_2]{(2,1)}{B} \State[e_3]{(4,1)}{C}
\State[e_5]{(4,3)}{E}
\State[e_8]{(2,-1)}{G} \State[e_9]{(4,-1)}{H}
\StateLineDouble \State[e_{10}]{(6,-1)}{I} \State[e_4]{(6,1)}{D} \State[e_6]{(6,3)}{F}
% initial--final
\Initial{A}
% transitions
\EdgeL{A}{B}{a} \EdgeL{B}{C}{a} \EdgeL{C}{D}{b}
\EdgeL{B}{E}{b} \EdgeL{E}{F}{b}
\EdgeL{A}{G}{b} \EdgeL{G}{H}{b} \EdgeL{H}{I}{b}
%
\end{VCPicture}}
\end{postscript}
\end{center}
\end{Solution}
\begin{Solution}{4}
Le problème peut sembler complexe car l'énoncé du mot allumé fait immédiatement penser à éteint. Naturellement, on pense à un état allumé et à un autre éteint. Comme il y a trois couleurs, on s'imagine alors six états et leur représentation avec des transitions du type ``s'allume'' ou ``s'éteint'' ne va pas de soit.
Pour s'en sortir simplement, il faut au contraire penser ``quel est la couleur du feu''. Cela suppose qu'on ne considère que l'état allumé du feu. On peut alors dire rouge, puis jaune, puis vert, puis rouge, \dots On pourrait aussi dire, c'est le rouge qui s'allume, puis c'est le jaune qui s'allume, puis \dots Cela nous permet alors de représenter la succession des états allumé du feu par :
\begin{center}
\begin{postscript}
\VCDraw{%
\begin{VCPicture}{(0,-3)(11,1)}
% states
\State[r]{(0,0)}{A} \State[j]{(4,0)}{B} \State[v]{(2,-2)}{C}
\State{(7,0)}{D} \State{(11,0)}{E} \State{(9,-2)}{F}
% initial--final
\Initial{A} \Initial{D}
% transitions
\EdgeL{A}{B}{} \EdgeR{B}{C}{} \EdgeR{C}{A}{}
\EdgeL{D}{E}{r} \EdgeR{E}{F}{j} \EdgeR{F}{D}{v}
%
\end{VCPicture}}
\end{postscript}
\end{center}
En particulier, l'automate ci-dessus permet la reconnaissance de la chaîne de caractère rjvrjvrjv\dots{} qui est une représentation de la succession des couleurs (allumées) du feu de circulation.
\end{Solution}
\begin{Solution}{5}
On a vu qu'il y a 64 possibilités pour former un acide aminé constitué d'un triplet choisi parmi quatre nucléotides. Il peut sembler alors que l'automate correspondant doive être très complexe. Mais au contraire, en raison du fait qu'on peut mettre n'importe quel nucléotide à chaque place parmi les trois disponibles nous permet de constituer un automate particulièrement simple :
\begin{center}
\begin{postscript}
\VCDraw{%
\begin{VCPicture}{(0,-1)(8,1)}
% states
\State{(0,0)}{A} \State{(4,0)}{B} \State{(8,0)}{C}
\StateLineDouble \State{(12,0)}{D}
% initial--final
\Initial{A}
% transitions
\EdgeL{A}{B}{C|G|T|U} \EdgeR{B}{C}{C|G|T|U} \EdgeR{C}{D}{C|G|T|U}
%
\end{VCPicture}}
\end{postscript}
\end{center}
où la notation C|G|T|U signifie soit C, soit G, soit T, soit U.
\smallskip
On constate ainsi la concision de la description de l'automate par rapport à l'exposé de tout les cas possibles.
\end{Solution}
\begin{Solution}{6}
On doit tout d'abord faire un b, puis un nombre quelconque (voir nul) de b. Comme l'état de droite n'est pas final, il faut ensuite revenir à celui de gauche par un a. Enfin, on peut faire tout cela un nombre quelconque de fois, y compris aucune. L'expression rationnelle correspondante est :
\[(bb^*a)^*\]
\end{Solution}
\begin{Solution}{7}
De manière très naturelle, on a :
\[[A..Z]\{2\}[0..9]\{5\}\]
\end{Solution}
\begin{Solution}{8}
Il faut raisonner à partir de la dernière transition avant l'état final. Il s'agit toujours d'une transition b. Donc, l'expression régulière finira par un b. Puis, on a soit deux b, soit un a suivi d'un a ou b. Cela se traduit par :
\[(bb|a(a|b))b\]
\end{Solution}