Add détection de circuit - ordinateur

This commit is contained in:
flyingscorpio@clevo 2022-03-08 13:55:34 +01:00
parent b4958338fc
commit 06b9a267d0

View file

@ -412,9 +412,40 @@
\paragraph{Méthode pour les ordinateurs}
Contrairement aux humains, un ordinateur ne comprend pas un graph.
Il a besoin d'une matrice d'adjacence.
Le graphe précédent donne la matrice suivante~:
\begin{center}
\begin{tabular}{c|cccccccccccc}
& 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\
\hline
1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
2 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 1 \\
3 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 1 & 0 \\
4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 1 \\
5 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\
6 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\
7 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 \\
8 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\
9 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
10 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
11 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\
12 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
\hline
$d^-$ & 1 & 0 & 1 & 1 & 3 & 0 & 3 & 2 & 0 & 3 & 3 & 5 \\
\end{tabular}
\end{center}
En calculant le $d^-$ à chaque étape, on peut trouver les sommets à enlever~: il s'agit de ceux pour lesquels le $d^-$ est égal à 0.
Il suffit alors d'enlever ces sommets de la matrice et de recommencer.
La boucle s'arrête quand aucun $d^-$ est à 0, ou au maximum après $n$ fois (avec $n$ étant le nombre de sommets).
\subsubsection{Détection de cycle (algorithme de Rosalind-Marimond)}
L'algorithme de Rosalind-Marimond supprime les $d^-$ (connexions entrantes) et les $d^+$ (connexions sortantes) à chaque étape.
Ce qui reste à la fin est forcément un cycle, puisque tous les sommets ont à la fois des arcs entrants et sortants.
\subsubsection{Parcours en largeur}
@ -498,5 +529,4 @@
\end{multicols}
\end{document}