{ "cells": [ { "cell_type": "markdown", "id": "cd27fe91", "metadata": {}, "source": [ "## Graphviz\n", "\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 suivante dans une fenêtre de terminal (console).\n", "\n", "> brew install graphviz\n", "\n", "#### Windows\n", "\n", "Le site https://graphviz.org/download/ vous indique comment procéder. Avec Conda :\n", "\n", "> 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\n", "\n", "### Autres méthodes d'installation\n", "\n", "- https://forum.graphviz.org/t/new-simplified-installation-procedure-on-windows/224" ] }, { "cell_type": "code", "execution_count": null, "id": "89ba9690", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.9" } }, "nbformat": 4, "nbformat_minor": 5 }