efrei/maths-pour-info/main.tex

112 lines
3.7 KiB
TeX

\documentclass[a4paper,french]{article}
\title{Mathématiques pour l'informatique}
\author{}
\date{Dernière compilation~: \today{} à \currenttime}
\usepackage{../cours}
\begin{document}
\maketitle
\tableofcontents
\clearpage
\section{Automates finis}
Automate = fonction qui dépend d'un état et d'un changement d'état.
Par exemple ON / OFF, la machine est en état d'arrêt ou en état de marche.
Autre exemple~: téléphone.
\begin{tabular}{l|ll}
\toprule
Mode & Évènement & Nouvel état \\
\midrule
avion & appel émis & avion \\
avion & bouton téléphonie & téléphonie \\
\midrule
téléphonie & bouton décrocher & communication \\
\midrule
communication & bouton raccrocher & téléphonie \\
\bottomrule
\end{tabular}
L'automate est sous un état, il a des entrées qui le font peut-être passer d'un état à un autre ou effectuer des actions.
Il faut en plus de cela définir un état initial (quel état avoir quand l'automate est mis en marche~?) et final (quel état avoir pour éteindre l'automate proprement~?)
Un nouvel état peut dépendre de l'état précédent ou pas.
On peut très bien trouver une action qui mette l'automate dans un état Y sans se soucier d'un autre état X dans lequel se trouve l'automate à un moment donné.
\subsection{Automates accepteurs}
Valide une suite d'entrée en fonction de certains critères.
Le changement d'état est interne à l'automate, et c'est une fois que toutes les entrées ont été analysées que la sortie se fait connaître.
Exemple~: déterminer si une suite de chiffres en entrée constitue un mois de l'année.
\subsection{Définitions}
\begin{itemize}
\item \textbf{Alphabet}~:
Ensemble des éléments en entrée de l'automate.
\item \textbf{Mot}~:
Suite d'éléments issus de l'alphabet.
Cas particulier~: le mot vide, noté $\epsilon$.
On a du coup $x = x\epsilon = \epsilon x$.
\item \textbf{Langage}~:
Ensemble de tous les mots pouvants être construits sur un alphabet donné.
On note $A^*$ tous les mots y compris le mot vide.
On note $A^+$ tous les mots sauf le mot vide.
On appelle \emph{langage reconnu} l'ensemble des mots que l'automate a validé.
\end{itemize}
\subsection{Reconnaissance de mot}
\begin{itemize}
\item Principe
\item ...
\end{itemize}
\subsection{Automate déterministe}
À un état donné, il n'y a qu'une seule transition possible.
\subsubsection{Automate complet}
\subsubsection{Automate non complet}
\subsection{Automate non déterministe}
À un état donné, il y a plusieurs transitions possibles.
Un automate non déterministe est plus difficile à mettre en \oe{}uvre en algorithmique qu'un automate déterministe.
En effet, il faudra en plus des pointeurs d'état et de symbole courant maintenir une pile des opérations possibles.
\subsection{Accessibilité}
\begin{itemize}
\item Un automate accessible ne contient que des états qui peuvent être atteints.
\item Un automate coaccessible ne contient que des états pouvant mener à un état terminal.
\item Un automate émondé est à la fois accessible et coaccessible.
\end{itemize}
\subsection{Automate standard}
Un automate standard ne contient qu'un seul état initial.
Aucune transition n'arrive sur cet état initial.
\end{document}