summaryrefslogtreecommitdiffstats
path: root/errata-notes-inf105.tex
diff options
context:
space:
mode:
authorDavid A. Madore <david+git@madore.org>2021-04-21 16:12:02 +0200
committerDavid A. Madore <david+git@madore.org>2021-04-21 16:12:02 +0200
commitaa0f04df8f3bf0941d8362640c17a2989b05b017 (patch)
treeabbd6a40a75b4f0203cc4d15ea21f5b74a5d49b9 /errata-notes-inf105.tex
parentd8e4b3111009e9415b70fc48ae30a506ce6287c4 (diff)
downloadinf105-aa0f04df8f3bf0941d8362640c17a2989b05b017.tar.gz
inf105-aa0f04df8f3bf0941d8362640c17a2989b05b017.tar.bz2
inf105-aa0f04df8f3bf0941d8362640c17a2989b05b017.zip
Write a list of errata (relative to version 28531fcd).
Diffstat (limited to 'errata-notes-inf105.tex')
-rw-r--r--errata-notes-inf105.tex212
1 files changed, 65 insertions, 147 deletions
diff --git a/errata-notes-inf105.tex b/errata-notes-inf105.tex
index 4afd008..f233a55 100644
--- a/errata-notes-inf105.tex
+++ b/errata-notes-inf105.tex
@@ -71,187 +71,105 @@ Git: \input{vcline.tex}
%
%
+\newlength{\oldparindent}
+\oldparindent=\parindent
+\renewcommand{\narrower}{\advance\leftskip\oldparindent\advance\rightskip\oldparindent}
+\parindent=0pt
+\parskip=6ptplus6pt
+
Les errata suivants sur le document « THL (Théorie des langages) /
Notes de cours » sont relatifs à la version étiquetée
-\verb=f1826f0 Tue Nov 14 13:05:17 2017 +0100=
-et distribuée pour l'année universitaire 2017–2018.
-
-\medskip
-
-¶1.2.6, dernier paragraphe, (page 5), l'affirmation « Le suffixe
-correspondant au préfixe $abb$ est $bcab$ puisque $abbcab =
-(abb)(bcab)$ » est incorrecte, il faut remplacer $bcab$ par $cab$ et
-lire : « Le suffixe correspondant au préfixe $abb$ est $cab$ puisque
-$abbcab = (abb)(cab)$ ».
+\verb=28531fc Thu Jan 23 14:37:46 2020 +0100=
+et distribuée pour l'année universitaire 2020–2021.
\medskip
-{\footnotesize
+Dans la démonstration de la proposition 3.2.4, qui constitue la
+construction de l'automate de Glushkov d'une concaténation, la
+construction donnée affirme à tort que les états finaux de l'automate
+construit sont uniquement ceux du second automate ($A_2$) concaténé.
+Or il faut aussi marquer comme finaux les états finaux de $A_1$
+\emph{lorsque (et seulement lorsque)} l'état initial $q_2$ de $A_2$
+était final.
-¶1.5.3, dernier paragraphe, (page 14), au lieu de « racourcis », lire
-« raccourcis ».
+Pour corriger cette erreur, ajouter à la fin de la phrase (page 32,
+lignes 11–13)
-\medskip
-
-Démonstration de la proposition 2.4.6, deuxième paragraphe, (page 27),
-dans la phrase « on crée une transition $q\to q'$ étiquetée par $x$ »,
-la précision que $x \in \Sigma$ peut être utile : remplacer par « on
-crée une transition $q\to q'$ étiquetée par $x \in \Sigma$ ».
-
-\par}
-
-\medskip
+{\narrower
-Démonstration du lemme 3.2.2, deuxième paragraphe, (page 30), le
-traitement des états finaux de l'automate $A'$ construit n'est pas
-correct, il faut marquer le nouvel état $q_0$ créé comme final
-lorsqu'il existait un état initial qui était aussi final. En
-conséquence, remplacer les $F$ de ce paragraphe par $F'$, retirer le
-mot « et » devant « $\delta'$ est la réunion », et ajouter à la fin du
-paragraphe : « et enfin $F' = F$ ou $F' = F\cup\{q_0\}$ selon que
-$I\cap F = \varnothing$ ou $I\cap F \neq \varnothing$ respectivement
-(i.e., $q_0$ est final lorsqu'il existait déjà un état à la fois
-initial et final) ». Le paragraphe ainsi modifié est le suivant :
-
-{\smallskip
-
-Formellement : soit $A = (Q,I,F,\delta)$. On définit alors $A' =
-(Q',\{q_0\},F',\delta')$ de la manière suivante : $Q' = Q \uplus
-\{q_0\}$ (où $\uplus$ désigne une réunion disjointe), $\delta'$ est la
-réunion de l'ensemble des transitions $(q,x,q')$ qui étaient déjà
-dans $\delta$ et de l'ensemble des $(q_0,x,q')$ telles qu'il existe
-une transition $(q,x,q') \in \delta$ avec $q\in I$, et enfin $F' = F$
-ou $F' = F\cup\{q_0\}$ selon que $I\cap F = \varnothing$ ou $I\cap F
-\neq \varnothing$ respectivement (i.e., $q_0$ est final lorsqu'il
-existait déjà un état à la fois initial et final).
+L'automate $A'$ s'obtient en réunissant $A_1$ et $A_2$, en ne gardant
+que les états finaux de $A_2$, en supprimant $q_2$ et en remplaçant
+chaque transition sortant de $q_2$ par une transition identiquement
+étiquetée, et de même cible, partant de \emph{chaque} état final
+de $A_1$.
\par}
-\medskip
-
-{\footnotesize
-
-¶3.6.3 (page 56), au lieu de « fącon », lire « façon ».
-
-\medskip
-
-¶4.0.1 (page 50), au lieu de « démarré », lire « démarrée ».
-
-\medskip
-
-¶4.1.7, second paragraphe, (page 53), pour alléger la syntaxe,
-déplacer la parenthèse commençant par « plus le numéro du type » à la
-fin du paragraphe : « Les grammaires de types 0 et 1, avec celles de
-type 2 c'est-à-dire hors contexte, et celles de type 3 (= régulières)
-qui seront définies en 4.2.2 ci-dessous, forment une hiérarchie
-appelée hiérarchie de Chomsky : plus le numéro du type est élevé plus
-la grammaire est contrainte et plus la classe de langages définie est
-petite. ».
-
-\medskip
-
-¶4.2.4, deuxième paragraphe, (page 55), au lieu de « racourci », lire
-« raccourci ».
-
-\par}
+la parenthèse suivante
-\medskip
+{\narrower
-¶4.4.1 (page 58), la rédaction ne rend pas suffisamment explicite le
-fait que tout nœud qui n'est pas une feuille doit être étiqueté par un
-nonterminal. Pour rendre ce fait plus explicite, remplacer dans le
-deuxième tiret « si un nœud de l'arbre est étiqueté par $T$ et n'est
-pas une feuille (i.e., s'il a des fils) » par « si un nœud de l'arbre
-n'est pas une feuille (i.e., s'il a des fils) et si on appelle $T$ son
-étiquette », et ajouter après les deux sous-cas de ce tiret
-(c'est-à-dire après « dans $G$ », en passant à la ligne) la
-parenthèse : « dans ces deux sous-cas, il résulte de l'existence d'une
-règle $T\rightarrow\cdots$ que $T$ est un nonterminal : seules les
-feuilles peuvent être étiquetées par un terminal ou $\varepsilon$ ».
-Le passage ainsi modifié est le suivant :
-
-{\smallskip
-
-Soit $G$ une grammaire hors contexte sur un alphabet $\Sigma$ et $N$
-l'ensemble de ses nonterminaux. Un \textbf{arbre d'analyse} (ou
-\textbf{arbre de dérivation} ; en anglais \textbf{parse tree})
-\textbf{incomplet} pour $G$ est un arbre (fini, enraciné et ordonné)
-dont les nœuds sont étiquetés par des éléments de $\Sigma \cup N \cup
-\{\varepsilon\}$, vérifiant les propriétés suivantes :
-\begin{itemize}
-\item la racine de l'arbre est étiquetée par l'axiome $S$ de $G$ ;
-\item si un nœud de l'arbre n'est pas une feuille (i.e., s'il a des
- fils) et si on appelle $T$ son étiquette, alors
-\begin{itemize}
-\item soit ce nœud a un unique fils étiqueté $\varepsilon$ et il
- existe une règle $T \rightarrow \varepsilon$ dans $G$,
-\item soit ce nœud a des fils étiquetés par des éléments $x_1\cdots
- x_n$ (où $n\geq 1$) de $\Sigma \cup N$ et il existe une règle $T
- \rightarrow x_1\cdots x_n$ dans $G$,
-\end{itemize}
-(dans ces deux sous-cas, il résulte de l'existence d'une règle
-$T\rightarrow\cdots$ que $T$ est un nonterminal : seules les feuilles
-peuvent être étiquetées par un terminal ou $\varepsilon$).
-\end{itemize}
+(ces derniers seront marqués finaux si $q_2$ était final dans $A_2$)
\par}
-\medskip
-
-¶4.5.2, avant-dernier paragraphe (en-dessous des arbres, page 61),
-l'affirmation « Cette grammaire n'est donc pas ambiguë » est
-incorrecte. Lire à la place : « Cette grammaire est donc ambiguë ».
-
-\medskip
-
-{\footnotesize
-
-¶4.7.5, dernier paragraphe, (page 66), au lieu de « complexitée »,
-lire « complexité ».
+et remplacer la phrase (page 32, lignes 15–18)
-\smallskip
+{\narrower
-¶4.7.6, premier paragraphe, (page 66), au lieu de « meme », lire
-« même ».
+On définit alors l'automate $A'$ dont l'ensemble d'états est $Q'$,
+l'état initial est $q_1$, les états finaux $F' = F_2$, et la relation
+de transition $\delta$ est la réunion de $\delta_1$, de l'ensemble des
+triplets $(q,x,q') \in \delta_2$ tels que $q\neq q_2$, et enfin de
+l'ensemble des triplets $(q,x,q')$ tels que $(q_2,x,q') \in \delta_2$
+et que $q\in F_1$.
\par}
-\medskip
+par
-Définition 5.1.5, premier paragraphe, (page 70), retirer la parenthèse
-« (fonction) » après « calculable » (qui était destinée à l'index
-uniquement).
+{\narrower
-\medskip
+On définit alors l'automate $A'$ dont l'ensemble d'états est $Q'$,
+l'état initial est $q_1$, l'ensemble $F'$ des états finaux est $F_2$
+si $q_2$ n'était pas final dans $A_2$ et $F_1 \cup F_2$ si $q_2$ était
+final dans $A_2$, la relation de transition $\delta'$ est la réunion
+de $\delta_1$, de l'ensemble des triplets $(q,x,q') \in \delta_2$ tels
+que $q\neq q_2$, et enfin de l'ensemble des triplets $(q,x,q')$ tels
+que $(q_2,x,q') \in \delta_2$ et que $q\in F_1$.
-{\footnotesize
+\par}
-Définition 5.1.5, deuxième paragraphe, (page 66), pour éclaircir la
-syntaxe, ajouter « et » devant « « non » ($0$) ».
+On notera que, en revanche, la remarque qui suit la démonstration, et
+qui décrit une façon de voir la construction en passant par l'ajout
+temporaire de transitions spontanées, est correcte (l'élimination des
+transitions spontanées en question conduira à rendre finaux les états
+de $A_1$ lorsque $q_2$ l'état), et est probablement la façon la plus
+simple de mémoriser cette construction sans se tromper.
-\medskip
-
-¶5.1.10 (page 72), il manque « comme » avant le dernier mot :
-remplacer « donne bien le résultat final de $T$ résultat » par « donne
-bien le résultat final de $T$ comme résultat ».
+\hbox to\hsize{\hfill\hbox to4cm{\hrulefill}\hfill}
\medskip
-¶5.2.1, note en bas de page 28, (page 73), retirer la virgule après
-« Java ».
+Dans la démonstration de la proposition 3.4.7, qui constitue la
+procédure d'élimination des états, il n'est pas suffisamment clair
+quelles sont les paires d'états concernées par l'élimination de
+l'état $q$. Pour remédier à ce manque de clarté, ajouter une note en
+bas de page après « simultanément pour toute paire » (page 40,
+ligne 14 en partant du bas) :
-\medskip
+{\narrower
-Démonstration du théorème 5.2.4, premier paragraphe, (page 74),
-remplacer « on n'a pas de choix que de ne pas terminer » par « la
-seule possibilité est de ne pas terminer ».
+Plutôt qu'examiner toutes les paires, on peut se contenter d'examiner
+les cas où \emph{soit} il existe une transition de $q_1$ vers $q_2$
+\emph{soit} il existe à la fois une transition de $q_1$ vers $q$ et
+une transition de $q$ vers $q_2$. En revanche, insistons bien sur le
+fait que le cas où $q_1$ et $q_2$ coïncide doit être traité comme les
+autres.
-\medskip
+\par}
-Démonstration du théorème 5.2.4, deuxième paragraphe, (page 74), pour
-éclaircir la syntaxe, ajouter « et ensuite » devant « (2º) ».
-\par}
%
%