diff --git a/Exam/Correction.pdf b/Exam/Correction.pdf new file mode 100644 index 0000000000000000000000000000000000000000..def3f27dcc39c2e7aff79aa64c7d4fbf017a3dfb Binary files /dev/null and b/Exam/Correction.pdf differ diff --git a/Exam/Correction.tex b/Exam/Correction.tex new file mode 100644 index 0000000000000000000000000000000000000000..c635b1383899794a53bef0d6afddf510f4265bc2 --- /dev/null +++ b/Exam/Correction.tex @@ -0,0 +1,187 @@ +\documentclass{article} +\usepackage{nopageno} +\usepackage[T1]{fontenc} +\usepackage[a4paper, top=2.5cm, bottom=2.5cm, left=1.8cm, right=1.8cm]{geometry} +\usepackage[utf8]{inputenc} + +\usepackage{color} +\usepackage{enumitem} +\usepackage{lastpage} +\usepackage{subcaption} +\usepackage{graphicx} +\usepackage{fancyhdr} +\pagestyle{fancy} +\renewcommand\headrulewidth{1pt} +\fancyhead[L]{M1 Mathématiques et Applications\\M1 IWOCS} +\fancyhead[R]{Université du Havre} +\renewcommand\footrulewidth{1pt} +\fancyfoot[L]{Examen terminal de Graphes} +\fancyfoot[C]{Mercredi 6 janvier 2021} +\fancyfoot[R]{Page \thepage/\pageref{LastPage}} + +\title{Graphes - Examen terminal\\Éléments de correction} +\author{Mathilde Vernet} +\date{6 janvier 2021, 13h30 à 15h30} + + + +\begin{document} + + \maketitle + \thispagestyle{fancy} + + Les ordinateurs ainsi que tout appareil permettant de communiquer sont interdits. + + Tous les documents sont autorisés. + + Les exercices sont indépendants, ils peuvent être réalisés dans n'importe quel ordre. Pour chaque exercice, lisez toutes les instructions avant de commencer. + + \section{Balade dans des parcs} + \begin{center} + \begin{figure}[h] + \begin{subfigure}{0.45\textwidth} + \centering + \includegraphics[scale=0.2]{ParcA.pdf} + \caption{Parc A} + \end{subfigure} + \begin{subfigure}{0.45\textwidth} + \centering + \includegraphics[scale=0.2]{ParcB.pdf} + \caption{Parc B} + \end{subfigure} + \end{figure} + \end{center} + \paragraph{}Les figures ci-dessus représentent les plans de deux parcs. Une arête est un chemin, un sommet est un croisement entre des chemins. + \begin{enumerate} + \item Je souhaite visiter le parc A en parcourant tous les chemins une et une seule fois. Est-ce possible ? Pourquoi ? {\color{red}On cherche ici un cycle eulérien. Un graphe est eulérien (c'est-à -dire qu'il contient un cycle eulérien) si et seulement si tous les sommets sont de degré pair. Le parc A a des sommets de degré 3 donc on ne peut pas le visiter comme on le souhaite.} + \item Même question pour le parc B. {\color{red}C'est possible car tous les sommets sont de degré pair.} + \end{enumerate} + \section{Existence de graphes} + \paragraph{}Nous considérons ici des graphes simples et non orientés ayant les propriétés indiquées. Dans chaque cas, si un tel graphe existe, dessinez-le et si un tel graphe n'existe pas, expliquez pourquoi. + \begin{enumerate} + \item n = 6, graphe 1-régulier {\color{red}Le graphe existe. Il n'est pas connexe. Il s'agit d'un graphe composé de trois fois $K_2$.} + \item n = 6, liste des degrés : 1, 2, 2, 3, 5, 5 {\color{red}Le graphe n'existe pas. Il y a deux sommets de degré 5, c'est-à -dire deux sommets reliés à tous les autres sommets du graphe. Donc tous les sommets sont reliés au moins à ces deux sommets-là et ont donc au moins degré 2.} + \item n = 6, liste des degrés : 1, 2, 2, 3, 4, 5 {\color{red}Le graphe n'existe pas car il a un nombre impair de sommets de degré pair.} + \end{enumerate} + \newpage + \section{Réalisation d'un plan de table} + \paragraph{}Dans un monde post-pandémie de Covid, un couple souhaite inviter pour son mariage plusieurs familles. Malheureusement, certains membres de certaines familles détestent certains membres d'autres familles. On souhaite réaliser un plan de table en respectant certaines contraintes. Les membres d'une même famille doivent se trouver à la même table. Et deux familles qui ont des membres qui ne s'aiment pas doivent se trouver à deux tables différentes. On sait que : + \begin{itemize} + \item Le fils de la famille A et la fille de la famille B se détestent + \item Le père de la famille A et le fils de la famille C se détestent + \item Le fils de la famille B et le père de la famille C se détestent + \item La fille de la famille B et le fils de la famille E se détestent + \item Le fils de la famille C et le fils de la famille D se détestent + \item La mère de la famille C et la mère de la famille E se détestent + \item Le fils de la famille C et la fille de la famille F se détestent + \item La fille de la famille C et la mère de la famille H se détestent + \item Le père de la famille D et le père de la famille E se détestent + \item La fille de la famille D et le fils de la famille F se détestent + \item Le fils de la famille E et la fille de la famille F se détestent + \item Le père de la famille E et la mère de la famille G se détestent + \item Le fils de la famille E et la fille de la famille H se détestent + \item La fille de la famille F et la fille de la famille G se détestent + \item La mère de la famille G et le père de la famille H se détestent + \end{itemize} + \subsection{Modélisation} + \paragraph{} On souhaite résoudre ce problème grâce à nos connaissances de graphes. Pour cela, on doit représenter cette situation par un graphe. + \begin{enumerate} + \item À quoi correspond un sommet ? À quoi correspond une arête ? {\color{red}Un sommet est une famille, une arête représente le fait que ces deux familles ont des membres qui se détestent.} + \item Dessinez le graphe correspondant à cette situation.\\ \textit{Conseil : Réalisez le dessin d'abord sur un brouillon afin de mieux voir comment placer les sommets.} + \item Dans quel cas, en terme de graphes, deux familles peuvent-elles se trouver à la même table ? {\color{red}Deux familles peuvent être à la même table si aucun des membres ne se détestent, c'est-à -dire si elles ne sont pas reliés par une arête dans le graphe.} + \item Quel problème de graphe identifiez-vous ? {\color{red}Il s'agit d'un problème de coloration, ou problème de partition en stables.} + \end{enumerate} + \subsection{Résolution} + \begin{enumerate}[resume] + \item Expliquez, à partir du graphe, pourquoi il faudra a moins 4 tables pour placer tout le monde ? {\color{red}Le graphe contient $K_4$ (une clique de taille 4).} + \item Quelle particularité remarquez-vous sur ce graphe ? {\color{red}Il est planaire.} + \item Déduisez des deux questions précédentes combien de tables sont nécessaires au minimum. {\color{red}Puisque le graphe contient $K_4$ alors il faudra au moins 4 couleurs pour le colorier. Puisque le graphe est planaire, il faudra au plus 4 couleurs pour le colorier (théorème des 4 couleurs). Donc il faut exactement 4 couleurs pour le colorier.} + \item Proposez une solution avec le nombre minimum de tables. {\color{red}Table 1 : familles A et E. Table 2 : familles B et D. Table 3 : familles C et G. Table 4 : familles F et H.} + \end{enumerate} + + \section{Aidons Marty à libérer le Doc} + \paragraph{}Le Doc Emmett Brown est détenu prisonnier dans une grotte à l'extérieur de Hill Valley par le vil Biff Tannen qui souhaite obtenir le secret de sa machine à voyager dans le temps. Marty souhaite aller délivrer son ami, le Doc Brown, et a en sa possession la DeLorean : la fameuse voiture qui permet de se déplacer dans l'espace ainsi que dans le temps. + \par Pour cela, Marty doit traverser Hill Valley avec la DeLorean en partant de chez lui pour aller retrouver le doc dans la grotte. Marty peut emprunter des rues de Hill Valley, qui sont toutes en sens unique. Certaines de ces rues sont remplies de passants, ce qui oblige Marty à être discret et à rouler normalement sans utiliser la possibilité de voyage dans le temps. Au contraire, certaines rues sont désertes, ce qui permet à Marty d'utiliser la fonction de voyage dans le temps de la DeLorean, il peut ainsi arriver tout en ayant remonté le temps. On indique ci-dessous le temps nécessaire pour relier les différents points de la ville. + \begin{itemize} + \item Marty peut aller de chez lui vers la maison du Doc en 2 minutes dans une rue remplie de passants + \item Marty peut aller de la maison du Doc vers l'Hôtel de Ville en 1 minute dans une rue remplie de passants + \item Marty peut aller de l'hôtel de ville vers la grotte en 2 minutes dans une rue remplie de passants + \item Marty peut partir de la maison du Doc et arriver au lycée 3 minutes avant d'être parti car la rue est déserte + \item Marty peut partir du lycée et arriver à l'Hôtel de ville 1 minute avant d'être parti car la rue est déserte + \item Marty peut aller du lycée vers la Promenade des 2 Pins en 2 minutes dans une rue remplie de passants + \item Marty peut partir de la Promenade des 2 Pins et arriver à l'Hôtel de Ville 2 minutes avant d'être parti car la rue est déserte + \item Marty peut aller de la Promenade des 2 Pins vers la grotte en 1 minute dans une rue remplie de passants + \item Marty peut aller du lycée vers la grotte en 1 minute dans une rue remplie de passants + \item Marty peut aller de chez lui vers le lycée en 1 minute dans une rue remplie de passants + \end{itemize} + \par Marty part de chez lui et souhaite arriver à la grotte le plus vite possible. Aidons-le ! +% +% Chez Marty +% Chez le Doc +% Lycée de Hill Valley +% Hôtel de ville de Hill Valley +% Promenade des deux pins +% Lieu de détention du doc +% + \subsection{Modélisation} + \begin{enumerate} + \item Quel problème de graphe reconnaissez-vous ici ? {\color{red}Il s'agit d'un problème de plus court chemin.} + \item À quoi correspondent les couts dans cette situation ? {\color{red}Les couts sont des temps de trajet d'un point à un autre. Les couts sont positifs lorsque Marty circule normalement dans la rue remplie de passants, et les couts sont négatifs sont Marty remonte le temps dans des rues désertes.} + \item Représenter cette situation par un graphe en indiquant les couts sur les arcs. + \end{enumerate} + \subsection{Résolution} + \begin{enumerate}[resume] + \item Parmi les algorithmes que vous connaissez pour résoudre le problème identifié, lesquels peut-on utiliser ici, lesquels ne peut-on pas utiliser ici, et pourquoi ? {\color{red}On ne peut pas utiliser Dijkstra car il y a des poids négatifs. Floyd-Warshall est utilisable mais peu efficace car on ne cherche pas les plus courts chemins entre chaque paire de sommets. Bellman-Ford est utilisable car il l'est toujours. Puisque le graphe est un DAG, on peut utiliser la version de Bellman-Ford qui ne parcourt les arêtes qu'une seule fois.} + \item Quel est le meilleur en terme de complexité dans le cas présent ? {\color{red}Cas particulier de Bellman-Ford avec parcourt des arêtes dans l'ordre puisque le graphe est un DAG, la complexité est O(m).} + \item Appliquez cet algorithme sur le graphe que vous avez représenté en détaillant chaque étape. {\color{red}Tri des sommets dans l'ordre topologique : Chez Marty, chez le Doc, lycée, promenade des 2 pins, Hôtel de ville, grotte. Application de l'algorithme : le plus court chemin vaut 0. Il y a deux chemins possibles avec ce cout : chez Marty -> chez le Doc -> lycée -> Hôtel de ville -> grotte, ou bien chez Marty -> chez le Doc -> lycée -> grotte.} + \end{enumerate} + +% \section{Générateur de graphes}\label{Gen} +% \paragraph{}La librairie GraphStream propose différents générateurs de graphes. Ces générateurs permettent de créer de façon aléatoire des graphes selon différents modèles. +% \begin{enumerate} +% \item Consultez la documentation disponible sur les générateurs sur le site de GraphStream (graphstream-project.org/doc/Generators) +% \item Intéressez-vous plus particulièrement au générateur \texttt{Random Euclidean Generator} qui permet de générer des graphes dans lesquels les noeuds sont disposés sur un espace $[0,1] \times [0,1]$ et connectés par une arête s'ils sont "suffisamment proches" +% \item Consultez la javadoc de ce générateur +% \item Essayez-le avec des exemples simples +% \end{enumerate} +% +% \section{Algorithme de plus court chemin}\label{ImplemPCC} +% \paragraph{}Vous avez travaillé en cours sur des algorithmes de plus courts chemin. +% \begin{enumerate} +% \item En utilisant le cours, implémentez une version naïve de l'algorithme de Dijkstra +% \item Pensez à documenter et tester votre code. En bref, faites un travail propre +% \item Consultez maintenant la documentation de GraphStream pour trouver la version de Dijkstra déjà implémenté et essayez-la sur des exemples simples +% \end{enumerate} +% +% \section{Campagne de tests}\label{Tests} +% \paragraph{}Lorsqu'on implémente un nouvel algorithme, il est important de tester son efficacité. Pour cela on fait des tests sur des graphes aléatoires. +% \begin{enumerate} +% \item Créez un graphe de grande taille en utilisant un générateur de GraphStream +% \item Choisissez un sommet qui sera la source +% \item Lancez l'algorithme de Dijkstra que vous avez implémenté en prenant soin de mesurer son temps d'exécution +% \item Lancez l'algorithme de Dijkstra de GraphStream sur le même graphe en prenant soin de mesurer son temps d'exécution +% \item Comparez le temps d'exécution de votre version avec celle de GraphStream +% \end{enumerate} +% \par Il est évident qu'un seul exemple n'est pas représentatif. Nous souhaitons ici comparer consciencieusement les deux versions de Dijkstra (la vôtre et celle de GraphStream). De plus, le temps d'exécution de Dijkstra dépend du nombre de noeud du graphe. +% \begin{enumerate}[resume] +% \item Recommencez les étapes précédentes sur un nombre significatif de graphes construit de la même manière +% \item Faites de même pour des graphes de différentes taille +% \end{enumerate} +% +% \section{Rapport}\label{Rapport} +% \paragraph{}Vous avez suivi une démarche scientifique pour tester des algorithmes. Il s'agit donc maintenant de rendre compte de cette démarche en d'en tirer des conclusions. +% \begin{enumerate} +% \item Commencez par décrire le générateur que vous avez utilisé +% \item Décrivez l'algorithme que vous avez implémenté et testé +% \item Décrivez l'algorithme avec lequel vous le comparer (la version de Dijkstra de GraphStream) +% \item Décrivez les tests que vous avez fait en justifiant les choix que vous avez fait +% \item Présentez les résultats obtenus (les résultats bruts sous forme de courbes du temps d'exécution moyen en fonction du nombre de sommets dans le graphe par exemple, et description de ces résultats) +% \item Expliquez ces résultats en utilisant vos connaissances (comparaison des deux versions de l'algorithme, et explication de la différence entre les deux) +% \item Réalisez un document complet avec une introduction et une conclusion +% \end{enumerate} +% +% \section{Pour aller plus loin...} +% \paragraph{}Pour celles et ceux qui ont le temps, l'envie, vous pouvez implémenter d'autres versions de Dijkstra (comme vu en cours) pour les tester de la même manière. Vous pouvez également faire des tests avec d'autres générateurs et inclure tout cela dans votre rapport. + +\label{lastpage} +\end{document} \ No newline at end of file diff --git a/Exam/ParcA.pdf b/Exam/ParcA.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3293cb6fb4ec201d98fff08bcd0af49cdbf188cc --- /dev/null +++ b/Exam/ParcA.pdf @@ -0,0 +1,71 @@ +%PDF-1.5 +%µí®û +4 0 obj +<< /Length 5 0 R + /Filter /FlateDecode +>> +stream +xœVKn1ÝÏ)t²’HýNP @i—E…´(âEÐE¯_ŽER²ÆŽ#Ö#ùøDi‚óüùøAÈä1ºÓy{Ûüå§ÏŸÜÇïÞýü³T÷—½Oüÿ{ûúÍyðîÇFîÙ½¹pYÜ¿]=d%ð„îìÄι’>®‰ur1ù,öæP +é† Nb +@WKºq¸“TW‰FÐ_‡ê¿¸—í@14„ÆÁB*àkäeæ)Jhü¬àsf„LWVàxjž\À +¥á6Vĵ„AmÉq,@”4û¤¸‡’$ÝÞZ…x¬J°ðØpäv³è`I£Qêµb@ɤ%@ yV:B¨Nû1CL¦µš&Œ:LïZö@½™âš»ÛZ˜@—ÂwÊ.7SôPÒÜóˆdäyNÈÅš úYtÌ RŽCt¤ÆÏdÌ6AÌ#’Iˆ!ºe1ÕµqX•aå±wàÈífò1AS£Ô!²¥P!ÆbcÕ*¤:‰N¼µÍdAájš4êé®cÞ£Ù5{·µ4Á.¥ï¤lÞåsnéD:ÖzišæEî{.Ùh«=ñ¶%JLB˜-I&ê´Ó1ê±ï M"Ž‰¾z¬Ìaå1w`p{wÖÇ2óHý:qÊOÇ}´ Oìè€ ´FPÛÊ3O¯_FÞ )F´õX‘=ÀÊbžü ÐCÊV©CŠ—ýkêö 5“¿ìÁM=rn Z,+Kl¥Ý<áÔCok;1»C+ëè¥ðé‚»fŒù~?yW×óY‰i®WÅzþ·’2¿þïŽ['äp9r·9yÐ΂å,º[ß–{ë*T„²_Ç5‚/´ã(_ÎêH<±Ýê²Â¯_˜öׄé>¬ü³Á05háJ"%̃"wšïš Èyó#Ô²VÅÞZhÙö²ýòyõ +endstream +endobj +5 0 obj + 722 +endobj +3 0 obj +<< + /ExtGState << + /a0 << /CA 1 /ca 1 >> + >> +>> +endobj +2 0 obj +<< /Type /Page % 1 + /Parent 1 0 R + /MediaBox [ 0 0 543.631775 314.164032 ] + /Contents 4 0 R + /Group << + /Type /Group + /S /Transparency + /I true + /CS /DeviceRGB + >> + /Resources 3 0 R +>> +endobj +1 0 obj +<< /Type /Pages + /Kids [ 2 0 R ] + /Count 1 +>> +endobj +6 0 obj +<< /Producer (cairo 1.16.0 (https://cairographics.org)) + /CreationDate (D:20210103210844+01'00) +>> +endobj +7 0 obj +<< /Type /Catalog + /Pages 1 0 R +>> +endobj +xref +0 8 +0000000000 65535 f +0000001140 00000 n +0000000908 00000 n +0000000836 00000 n +0000000015 00000 n +0000000814 00000 n +0000001205 00000 n +0000001321 00000 n +trailer +<< /Size 8 + /Root 7 0 R + /Info 6 0 R +>> +startxref +1373 +%%EOF diff --git a/Exam/ParcA.svg b/Exam/ParcA.svg new file mode 100644 index 0000000000000000000000000000000000000000..f2fd594bcdcc024bb2c612536b4e462f76ac507b --- /dev/null +++ b/Exam/ParcA.svg @@ -0,0 +1,589 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="191.78122mm" + height="110.83009mm" + viewBox="0 0 679.53977 392.70498" + id="svg2" + version="1.1" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" + sodipodi:docname="ParcA.svg"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path10142" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4820" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker4596" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4598" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker4526" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4528" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4172" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1-1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6-6-9" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1-1-4" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6-6-9-0" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1-1-4-9" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6-6-9-0-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1-1-4-9-7" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6-6-9-0-7-1" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1-1-4-9-7-5" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.7" + inkscape:cx="228.3243" + inkscape:cy="113.22359" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1856" + inkscape:window-height="1016" + inkscape:window-x="64" + inkscape:window-y="27" + inkscape:window-maximized="1" + fit-margin-top="2.5" + fit-margin-left="2.5" + fit-margin-right="2.5" + fit-margin-bottom="2.5" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Calque 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-58.856341,-226.43364)"> + <g + id="g4737" + transform="translate(-374.71023,111.02413)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5" + cx="489.87155" + cy="171.71449" + r="44.446712" /> + <flowRoot + transform="translate(586.3071,203.38164)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280" + xml:space="preserve"><flowRegion + id="flowRegion4282"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284" /></flowRegion><flowPara + id="flowPara4286" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + transform="translate(-232.97779,251.07165)" + id="g4774"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6" + cx="489.87155" + cy="171.71449" + r="44.446712" /> + <flowRoot + transform="translate(586.3071,203.38164)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7" + xml:space="preserve"><flowRegion + id="flowRegion4282-5"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3" /></flowRegion><flowPara + id="flowPara4286-5" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + id="g5068" + transform="translate(129.97807,154.46072)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-2" + cx="268.64813" + cy="128.27792" + r="44.446712" /> + <flowRoot + transform="translate(364.75165,159.92554)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-9" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-1"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-2" /></flowRegion><flowPara + id="flowPara4286-5-7" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + id="g5056" + transform="translate(-26.284496,467.2443)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-9" + cx="566.64313" + cy="-44.458157" + r="44.446712" /> + <flowRoot + transform="translate(660.56891,-12.79101)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-3" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-6"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-0" /></flowRegion><flowPara + id="flowPara4286-5-6" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + id="g5044" + transform="translate(8.3717651,327.1968)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-6" + cx="673.7193" + cy="-44.458157" + r="44.446712" /> + <flowRoot + transform="translate(770.50641,-12.79101)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-1" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-8"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-7" /></flowRegion><flowPara + id="flowPara4286-5-9" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + id="g5032" + transform="translate(-115.87701,607.29181)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-23" + cx="797.96808" + cy="-44.458157" + r="44.446712" /> + <flowRoot + transform="translate(895.77081,-12.79101)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-7" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-5"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-9" /></flowRegion><flowPara + id="flowPara4286-5-2" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + transform="translate(-492.2759,607.29181)" + id="g5020"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-97" + cx="890.9021" + cy="-44.458157" + r="44.446712" /> + <flowRoot + transform="translate(986.02905,-12.79101)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-36" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-12"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-93" /></flowRegion><flowPara + id="flowPara4286-5-1" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + id="g5008" + transform="translate(-757.55804,466.8806)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-4" + cx="872.71936" + cy="95.953056" + r="44.446712" /> + <flowRoot + transform="translate(967.78772,127.6202)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-78" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-4"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-5" /></flowRegion><flowPara + id="flowPara4286-5-0" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 115.16132,327.18534 0,191.2016" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g4737" + inkscape:connection-end="#g5008" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 159.60803,562.83366 194.57146,-10e-6" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-3" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5008" + inkscape:connection-end="#g5020" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 443.07291,562.83365 H 637.64436" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-6" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5020" + inkscape:connection-end="#g5032" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 682.09107,327.18536 0,191.20158" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-7" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5044" + inkscape:connection-end="#g5032" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 443.07291,282.73864 194.57144,0" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-5" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5068" + inkscape:connection-end="#g5044" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 159.60803,282.73863 194.57146,10e-6" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-35" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g4737" + inkscape:connection-end="#g5068" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 288.5091,454.02564 78.50176,77.56852" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-62" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g4774" + inkscape:connection-end="#g5020" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 367.01086,313.97814 288.5091,391.54665" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-9" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5068" + inkscape:connection-end="#g4774" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 430.24154,313.97814 78.50175,77.56851" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-1" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5068" + inkscape:connection-end="#g5056" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 508.74329,454.02564 -78.50175,77.56852" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-2" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5056" + inkscape:connection-end="#g5020" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 225.27842,454.02564 -78.50176,77.56852" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-62-6" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g4774" + inkscape:connection-end="#g5008" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 571.97397,391.54665 78.50175,-77.56851" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-62-5" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5056" + inkscape:connection-end="#g5044" /> + </g> +</svg> diff --git a/Exam/ParcB.pdf b/Exam/ParcB.pdf new file mode 100644 index 0000000000000000000000000000000000000000..242b87a255ed580d2e132b68ad5f0fcac95095f9 Binary files /dev/null and b/Exam/ParcB.pdf differ diff --git a/Exam/ParcB.svg b/Exam/ParcB.svg new file mode 100644 index 0000000000000000000000000000000000000000..ca23f22c77b61fa86d95d40a79b2c7c16a2110aa --- /dev/null +++ b/Exam/ParcB.svg @@ -0,0 +1,573 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="191.78122mm" + height="110.83009mm" + viewBox="0 0 679.53977 392.70498" + id="svg2" + version="1.1" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" + sodipodi:docname="ParcB.svg"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path10142" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4820" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker4596" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4598" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker4526" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4528" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4172" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1-1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6-6-9" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1-1-4" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6-6-9-0" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1-1-4-9" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6-6-9-0-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1-1-4-9-7" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="marker4818-8-6-9-4-1-7-6-6-9-0-7-1" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4820-9-6-5-8-7-2-1-1-4-9-7-5" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.7" + inkscape:cx="160.46716" + inkscape:cy="-1.0621221" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1856" + inkscape:window-height="1016" + inkscape:window-x="64" + inkscape:window-y="27" + inkscape:window-maximized="1" + fit-margin-top="2.5" + fit-margin-left="2.5" + fit-margin-right="2.5" + fit-margin-bottom="2.5" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Calque 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-58.856341,-226.43364)"> + <g + id="g4737" + transform="translate(-374.71023,111.02413)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5" + cx="489.87155" + cy="171.71449" + r="44.446712" /> + <flowRoot + transform="translate(586.3071,203.38164)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280" + xml:space="preserve"><flowRegion + id="flowRegion4282"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284" /></flowRegion><flowPara + id="flowPara4286" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + transform="translate(-232.97779,251.07165)" + id="g4774"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6" + cx="489.87155" + cy="171.71449" + r="44.446712" /> + <flowRoot + transform="translate(586.3071,203.38164)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7" + xml:space="preserve"><flowRegion + id="flowRegion4282-5"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3" /></flowRegion><flowPara + id="flowPara4286-5" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + id="g5068" + transform="translate(129.97807,154.46072)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-2" + cx="268.64813" + cy="128.27792" + r="44.446712" /> + <flowRoot + transform="translate(364.75165,159.92554)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-9" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-1"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-2" /></flowRegion><flowPara + id="flowPara4286-5-7" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + id="g5056" + transform="translate(-26.284496,467.2443)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-9" + cx="566.64313" + cy="-44.458157" + r="44.446712" /> + <flowRoot + transform="translate(660.56891,-12.79101)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-3" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-6"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-0" /></flowRegion><flowPara + id="flowPara4286-5-6" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + id="g5044" + transform="translate(8.3717651,327.1968)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-6" + cx="673.7193" + cy="-44.458157" + r="44.446712" /> + <flowRoot + transform="translate(770.50641,-12.79101)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-1" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-8"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-7" /></flowRegion><flowPara + id="flowPara4286-5-9" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + id="g5032" + transform="translate(-115.87701,607.29181)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-23" + cx="797.96808" + cy="-44.458157" + r="44.446712" /> + <flowRoot + transform="translate(895.77081,-12.79101)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-7" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-5"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-9" /></flowRegion><flowPara + id="flowPara4286-5-2" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + transform="translate(-492.2759,607.29181)" + id="g5020"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-97" + cx="890.9021" + cy="-44.458157" + r="44.446712" /> + <flowRoot + transform="translate(986.02905,-12.79101)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-36" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-12"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-93" /></flowRegion><flowPara + id="flowPara4286-5-1" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <g + id="g5008" + transform="translate(-757.55804,466.8806)"> + <circle + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:6;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4136-5-6-4" + cx="872.71936" + cy="95.953056" + r="44.446712" /> + <flowRoot + transform="translate(967.78772,127.6202)" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="flowRoot4280-7-78" + xml:space="preserve"><flowRegion + id="flowRegion4282-5-4"><rect + y="-56.956486" + x="-110.10663" + height="62.629459" + width="74.751289" + id="rect4284-3-5" /></flowRegion><flowPara + id="flowPara4286-5-0" + style="font-size:40px;line-height:1.25" /></flowRoot> </g> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 115.16132,327.18534 0,191.2016" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g4737" + inkscape:connection-end="#g5008" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 159.60803,562.83366 194.57146,-10e-6" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-3" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5008" + inkscape:connection-end="#g5020" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 443.07291,562.83365 H 637.64436" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-6" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5020" + inkscape:connection-end="#g5032" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 682.09107,327.18536 0,191.20158" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-7" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5044" + inkscape:connection-end="#g5032" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 443.07291,282.73864 194.57144,0" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-5" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5068" + inkscape:connection-end="#g5044" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 159.60803,282.73863 194.57146,10e-6" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-35" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g4737" + inkscape:connection-end="#g5068" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 288.5091,454.02564 78.50176,77.56852" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-62" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g4774" + inkscape:connection-end="#g5020" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 367.01086,313.97814 288.5091,391.54665" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-9" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5068" + inkscape:connection-end="#g4774" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 430.24154,313.97814 78.50175,77.56851" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-1" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5068" + inkscape:connection-end="#g5056" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 508.74329,454.02564 -78.50175,77.56852" + id="path4455-3-6-7-5-3-5-2-4-1-4-9-2-2" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#g5056" + inkscape:connection-end="#g5020" /> + </g> +</svg> diff --git a/Exam/Sujet.pdf b/Exam/Sujet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a10934e9a2e5848fdd3f7754a877bd0e6b8c2dce Binary files /dev/null and b/Exam/Sujet.pdf differ diff --git a/Exam/Sujet.tex b/Exam/Sujet.tex new file mode 100644 index 0000000000000000000000000000000000000000..346d855cb18f9680375011040f26ace2f441fa96 --- /dev/null +++ b/Exam/Sujet.tex @@ -0,0 +1,186 @@ +\documentclass{article} +\usepackage{nopageno} +\usepackage[T1]{fontenc} +\usepackage[a4paper, top=2.5cm, bottom=2.5cm, left=1.8cm, right=1.8cm]{geometry} +\usepackage[utf8]{inputenc} + +\usepackage{enumitem} +\usepackage{lastpage} +\usepackage{subcaption} +\usepackage{graphicx} +\usepackage{fancyhdr} +\pagestyle{fancy} +\renewcommand\headrulewidth{1pt} +\fancyhead[L]{M1 Mathématiques et Applications\\M1 IWOCS} +\fancyhead[R]{Université du Havre} +\renewcommand\footrulewidth{1pt} +\fancyfoot[L]{Examen terminal de Graphes} +\fancyfoot[C]{Mercredi 6 janvier 2021} +\fancyfoot[R]{Page \thepage/\pageref{LastPage}} + +\title{Graphes - Examen terminal} +\author{Mathilde Vernet} +\date{6 janvier 2021, 13h30 à 15h30} + + + +\begin{document} + + \maketitle + \thispagestyle{fancy} + + Les ordinateurs ainsi que tout appareil permettant de communiquer sont interdits. + + Tous les documents sont autorisés. + + Les exercices sont indépendants, ils peuvent être réalisés dans n'importe quel ordre. Pour chaque exercice, lisez toutes les instructions avant de commencer. + + \section{Balade dans des parcs} + \begin{center} + \begin{figure}[h] + \begin{subfigure}{0.45\textwidth} + \centering + \includegraphics[scale=0.2]{ParcA.pdf} + \caption{Parc A} + \end{subfigure} + \begin{subfigure}{0.45\textwidth} + \centering + \includegraphics[scale=0.2]{ParcB.pdf} + \caption{Parc B} + \end{subfigure} + \end{figure} + \end{center} + \paragraph{}Les figures ci-dessus représentent les plans de deux parcs. Une arête est un chemin, un sommet est un croisement entre des chemins. + \begin{enumerate} + \item Je souhaite visiter le parc A en parcourant tous les chemins une et une seule fois. Est-ce possible ? Pourquoi ? + \item Même question pour le parc B. + \end{enumerate} + \section{Existence de graphes} + \paragraph{}Nous considérons ici des graphes simples et non orientés ayant les propriétés indiquées. Dans chaque cas, si un tel graphe existe, dessinez-le et si un tel graphe n'existe pas, expliquez pourquoi. + \begin{enumerate} + \item n = 6, graphe 1-régulier + \item n = 6, liste des degrés : 1, 2, 2, 3, 5, 5 + \item n = 6, liste des degrés : 1, 2, 2, 3, 4, 5 + \end{enumerate} + \newpage + \section{Réalisation d'un plan de table} + \paragraph{}Dans un monde post-pandémie de Covid, un couple souhaite inviter pour son mariage plusieurs familles. Malheureusement, certains membres de certaines familles détestent certains membres d'autres familles. On souhaite réaliser un plan de table en respectant certaines contraintes. Les membres d'une même famille doivent se trouver à la même table. Et deux familles qui ont des membres qui ne s'aiment pas doivent se trouver à deux tables différentes. On sait que : + \begin{itemize} + \item Le fils de la famille A et la fille de la famille B se détestent + \item Le père de la famille A et le fils de la famille C se détestent + \item Le fils de la famille B et le père de la famille C se détestent + \item La fille de la famille B et le fils de la famille E se détestent + \item Le fils de la famille C et le fils de la famille D se détestent + \item La mère de la famille C et la mère de la famille E se détestent + \item Le fils de la famille C et la fille de la famille F se détestent + \item La fille de la famille C et la mère de la famille H se détestent + \item Le père de la famille D et le père de la famille E se détestent + \item La fille de la famille D et le fils de la famille F se détestent + \item Le fils de la famille E et la fille de la famille F se détestent + \item Le père de la famille E et la mère de la famille G se détestent + \item Le fils de la famille E et la fille de la famille H se détestent + \item La fille de la famille F et la fille de la famille G se détestent + \item La mère de la famille G et le père de la famille H se détestent + \end{itemize} + \subsection{Modélisation} + \paragraph{} On souhaite résoudre ce problème grâce à nos connaissances de graphes. Pour cela, on doit représenter cette situation par un graphe. + \begin{enumerate} + \item À quoi correspond un sommet ? À quoi correspond une arête ? + \item Dessinez le graphe correspondant à cette situation.\\ \textit{Conseil : Réalisez le dessin d'abord sur un brouillon afin de mieux voir comment placer les sommets.} + \item Dans quel cas, en terme de graphes, deux familles peuvent-elles se trouver à la même table ? + \item Quel problème de graphe identifiez-vous ? + \end{enumerate} + \subsection{Résolution} + \begin{enumerate}[resume] + \item Expliquez, à partir du graphe, pourquoi il faudra a moins 4 tables pour placer tout le monde ? + \item Quelle particularité remarquez-vous sur ce graphe ? + \item Déduisez des deux questions précédentes combien de tables sont nécessaires au minimum. + \item Proposez une solution avec le nombre minimum de tables. + \end{enumerate} + + \section{Aidons Marty à libérer le Doc} + \paragraph{}Le Doc Emmett Brown est détenu prisonnier dans une grotte à l'extérieur de Hill Valley par le vil Biff Tannen qui souhaite obtenir le secret de sa machine à voyager dans le temps. Marty souhaite aller délivrer son ami, le Doc Brown, et a en sa possession la DeLorean : la fameuse voiture qui permet de se déplacer dans l'espace ainsi que dans le temps. + \par Pour cela, Marty doit traverser Hill Valley avec la DeLorean en partant de chez lui pour aller retrouver le doc dans la grotte. Marty peut emprunter des rues de Hill Valley, qui sont toutes en sens unique. Certaines de ces rues sont remplies de passants, ce qui oblige Marty à être discret et à rouler normalement sans utiliser la possibilité de voyage dans le temps. Au contraire, certaines rues sont désertes, ce qui permet à Marty d'utiliser la fonction de voyage dans le temps de la DeLorean, il peut ainsi arriver tout en ayant remonté le temps. On indique ci-dessous le temps nécessaire pour relier les différents points de la ville. + \begin{itemize} + \item Marty peut aller de chez lui vers la maison du Doc en 2 minutes dans une rue remplie de passants + \item Marty peut aller de la maison du Doc vers l'Hôtel de Ville en 1 minute dans une rue remplie de passants + \item Marty peut aller de l'hôtel de ville vers la grotte en 2 minutes dans une rue remplie de passants + \item Marty peut partir de la maison du Doc et arriver au lycée 3 minutes avant d'être parti car la rue est déserte + \item Marty peut partir du lycée et arriver à l'Hôtel de ville 1 minute avant d'être parti car la rue est déserte + \item Marty peut aller du lycée vers la Promenade des 2 Pins en 2 minutes dans une rue remplie de passants + \item Marty peut partir de la Promenade des 2 Pins et arriver à l'Hôtel de Ville 2 minutes avant d'être parti car la rue est déserte + \item Marty peut aller de la Promenade des 2 Pins vers la grotte en 1 minute dans une rue remplie de passants + \item Marty peut aller du lycée vers la grotte en 1 minute dans une rue remplie de passants + \item Marty peut aller de chez lui vers le lycée en 1 minute dans une rue remplie de passants + \end{itemize} + \par Marty part de chez lui et souhaite arriver à la grotte le plus vite possible. Aidons-le ! +% +% Chez Marty +% Chez le Doc +% Lycée de Hill Valley +% Hôtel de ville de Hill Valley +% Promenade des deux pins +% Lieu de détention du doc +% + \subsection{Modélisation} + \begin{enumerate} + \item Quel problème de graphe reconnaissez-vous ici ? + \item À quoi correspondent les couts dans cette situation ? + \item Représenter cette situation par un graphe en indiquant les couts sur les arcs. + \end{enumerate} + \subsection{Résolution} + \begin{enumerate}[resume] + \item Parmi les algorithmes que vous connaissez pour résoudre le problème identifié, lesquels peut-on utiliser ici, lesquels ne peut-on pas utiliser ici, et pourquoi ? + \item Quel est le meilleur en terme de complexité dans le cas présent ? + \item Appliquez cet algorithme sur le graphe que vous avez représenté en détaillant chaque étape. + \end{enumerate} + +% \section{Générateur de graphes}\label{Gen} +% \paragraph{}La librairie GraphStream propose différents générateurs de graphes. Ces générateurs permettent de créer de façon aléatoire des graphes selon différents modèles. +% \begin{enumerate} +% \item Consultez la documentation disponible sur les générateurs sur le site de GraphStream (graphstream-project.org/doc/Generators) +% \item Intéressez-vous plus particulièrement au générateur \texttt{Random Euclidean Generator} qui permet de générer des graphes dans lesquels les noeuds sont disposés sur un espace $[0,1] \times [0,1]$ et connectés par une arête s'ils sont "suffisamment proches" +% \item Consultez la javadoc de ce générateur +% \item Essayez-le avec des exemples simples +% \end{enumerate} +% +% \section{Algorithme de plus court chemin}\label{ImplemPCC} +% \paragraph{}Vous avez travaillé en cours sur des algorithmes de plus courts chemin. +% \begin{enumerate} +% \item En utilisant le cours, implémentez une version naïve de l'algorithme de Dijkstra +% \item Pensez à documenter et tester votre code. En bref, faites un travail propre +% \item Consultez maintenant la documentation de GraphStream pour trouver la version de Dijkstra déjà implémenté et essayez-la sur des exemples simples +% \end{enumerate} +% +% \section{Campagne de tests}\label{Tests} +% \paragraph{}Lorsqu'on implémente un nouvel algorithme, il est important de tester son efficacité. Pour cela on fait des tests sur des graphes aléatoires. +% \begin{enumerate} +% \item Créez un graphe de grande taille en utilisant un générateur de GraphStream +% \item Choisissez un sommet qui sera la source +% \item Lancez l'algorithme de Dijkstra que vous avez implémenté en prenant soin de mesurer son temps d'exécution +% \item Lancez l'algorithme de Dijkstra de GraphStream sur le même graphe en prenant soin de mesurer son temps d'exécution +% \item Comparez le temps d'exécution de votre version avec celle de GraphStream +% \end{enumerate} +% \par Il est évident qu'un seul exemple n'est pas représentatif. Nous souhaitons ici comparer consciencieusement les deux versions de Dijkstra (la vôtre et celle de GraphStream). De plus, le temps d'exécution de Dijkstra dépend du nombre de noeud du graphe. +% \begin{enumerate}[resume] +% \item Recommencez les étapes précédentes sur un nombre significatif de graphes construit de la même manière +% \item Faites de même pour des graphes de différentes taille +% \end{enumerate} +% +% \section{Rapport}\label{Rapport} +% \paragraph{}Vous avez suivi une démarche scientifique pour tester des algorithmes. Il s'agit donc maintenant de rendre compte de cette démarche en d'en tirer des conclusions. +% \begin{enumerate} +% \item Commencez par décrire le générateur que vous avez utilisé +% \item Décrivez l'algorithme que vous avez implémenté et testé +% \item Décrivez l'algorithme avec lequel vous le comparer (la version de Dijkstra de GraphStream) +% \item Décrivez les tests que vous avez fait en justifiant les choix que vous avez fait +% \item Présentez les résultats obtenus (les résultats bruts sous forme de courbes du temps d'exécution moyen en fonction du nombre de sommets dans le graphe par exemple, et description de ces résultats) +% \item Expliquez ces résultats en utilisant vos connaissances (comparaison des deux versions de l'algorithme, et explication de la différence entre les deux) +% \item Réalisez un document complet avec une introduction et une conclusion +% \end{enumerate} +% +% \section{Pour aller plus loin...} +% \paragraph{}Pour celles et ceux qui ont le temps, l'envie, vous pouvez implémenter d'autres versions de Dijkstra (comme vu en cours) pour les tester de la même manière. Vous pouvez également faire des tests avec d'autres générateurs et inclure tout cela dans votre rapport. + +\label{lastpage} +\end{document} \ No newline at end of file