diff --git a/TD06/INF-TC1-td06.ipynb b/TD06/INF-TC1-td06.ipynb index 40c5fbb5b73a5d9e0479e5ca4626048f90f9d202..8a1a6d8e6d8d14e5b36cdccef5c4ddb009a5ff63 100644 --- a/TD06/INF-TC1-td06.ipynb +++ b/TD06/INF-TC1-td06.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "013ab73d", + "id": "fe61912a", "metadata": {}, "source": [ "NAME:" @@ -112,7 +112,7 @@ "id": "07d1cd6d-1845-4707-b126-fbe219408a92", "metadata": {}, "source": [ - "**IMPORTANT :** vérifier que le code ci-dessus s'exécute bien (dans la cellule ci-dessous). Si cela n'est pas le cas alors suivez ces [instructions d'installation de la bibliothèque Graphviz](../graphviz.ipynb)." + "**IMPORTANT :** vérifier que le code ci-dessus s'exécute bien (dans la cellule ci-dessous). Si cela n'est pas le cas alors suivez ces [instructions d'installation de la bibliothèque Graphviz](https://gitlab.ec-lyon.fr/rvuillem/inf-tc1/-/blob/master/graphviz.ipynb)." ] }, { diff --git a/graphviz.ipynb b/graphviz.ipynb index c97987adfe3d635ead896c64de227874b3d251f7..039a3f3da7253ba028683b7548fc083bd8623390 100644 --- a/graphviz.ipynb +++ b/graphviz.ipynb @@ -9,12 +9,15 @@ "\n", "---\n", "\n", + "Graphviz une biobliothèque open-source de dessin de graphes (ce qui inclue les arbres et automates).\n", + "\n", + "\n", "### Installation\n", "\n", "\n", "#### Mac\n", "\n", - "Exécuter la commande \"brew install graphviz\" dans une fenêtre \"terminal\" (console).\n", + "Exécuter la commande suivante\" dans une fenêtre \"terminal\" (console).\n", "\n", "#### Windows\n", "\n", @@ -22,13 +25,43 @@ "\n", "Avec Conda :\n", "\n", - "> conda install -c anaconda graphviz" + "> conda install -c anaconda graphviz\n", + "\n", + "Une alternative consiste à installer le module Python à partir de `pip``:\n", + "\n", + "https://pypi.org/project/graphviz/\n", + "\n", + "### Alternatives\n", + "\n", + "Vous pouvez créer vos proprez diagrammes en ligne en utilisant le format `dot`. Un exemple en ligne :\n", + "\n", + "https://dreampuf.github.io/GraphvizOnline/#digraph%20auto%20%7B%0A%20%20%20%20rankdir%3D%22LR%22%3B%0A%0A%20%20%20%20%2F%2F%20Etats%20(12)%0A%20%20%20%20node%20%5Bshape%20%3D%20point%20%5D%3B%20%20%20%20%20__Qi__%20%2F%2F%20Etat%20initial%0A%20%20%20%20node%20%5Bshape%3Dcircle%5D%3B%20Q_0%20%5Blabel%3D0%5D%3B%0A%20%20%20%20node%20%5Bshape%3Ddoublecircle%5D%3B%20Q_1%20%5Blabel%3D1%5D%3B%0A%0A%20%20%20%20%2F%2F%20Transitions%0A%20%20%20%20__Qi__%20-%3E%20Q_0%3B%20%2F%2F%20Etat%20initial%20fleche%0A%20%20%20%20Q_0%20-%3E%20Q_0%20%5Blabel%3Db%5D%3B%0A%20%20%20%20Q_0%20-%3E%20Q_1%20%5Blabel%3Da%5D%3B%0A%20%20%20%20Q_1%20-%3E%20Q_1%20%5Blabel%3Da%5D%3B%0A%20%20%20%20Q_1%20-%3E%20Q_1%20%5Blabel%3Db%5D%3B%0A%7D\n", + "\n", + "```\n", + " digraph auto {\n", + " rankdir=\"LR\";\n", + "\n", + " // Etats (12)\n", + " node [shape = point ]; __Qi__ // Etat initial inivisble\n", + " node [shape=circle]; Q_0 [label=0];\n", + " node [shape=doublecircle]; Q_1 [label=1]; // Etat final\n", + "\n", + " // Transitions\n", + " __Qi__ -> Q_0; // Etat initial fleche\n", + " Q_0 -> Q_0 [label=b];\n", + " Q_0 -> Q_1 [label=a];\n", + " Q_1 -> Q_1 [label=a];\n", + " Q_1 -> Q_1 [label=b];\n", + "}\n", + "```\n", + "\n", + "D'autres modules de dessins de graphes existent comme NetworkX https://networkx.org/" ] }, { "cell_type": "code", "execution_count": null, - "id": "29fbc946", + "id": "c76ec3e2", "metadata": {}, "outputs": [], "source": []