C’est un article d’Alain Busser, sur le site de l’IREM de La Réunion.
Alain Busser vient de faire une importante mise à jour de l’article (20.04.21). Il écrit :
J’ai ajouté un passage en bas sur la modélisation en Python, d’un réseau de Petri (la modélisation en Scratch reste à faire, avis aux amateurs !).
Exercice intéressant, il m’a vite paru naturel de programmer objet, avec deux classes différentes, l’une pour les places, l’autre pour les transitions. Comme il peut y avoir plusieurs arcs reliant une place et une transition, j’ai opté pour deux attributs d’une transition : pré, qui est un dictionnaire de places, et post qui est aussi un dictionnaire de places. Dictionnaires, parce que chaque arc est associé à un nombre entier, le nombre de fois qu’il existe (on peut dire que c’est un multi-ensemble d’arcs ; là, je deviens dangereusement bourbakiste !).
Pour les arcs inhibiteurs, j’ai fait un peu plus simple : un petit raisonnement logique m’a convaincu qu’il est inutile d’avoir plusieurs copies d’un arc inhibiteur, donc j’ai opté pour un dictionnaire sans valeurs, autrement dit, un ensemble.