Documentation of the Digraph3 Python resources


Raymond Bisdorff, Emeritus Professor of Computer Science and Applied Mathematics


Python 3.9.1


  1. Bisdorff Copyright 2013-2021

This documentation is dedicated to
our late colleague and dear friend


  1. Tutorials

    Start here
  2. Reference manual

    Technical documentation and source code of all modules
  3. Advanced topics

    Pearls of bipolar-valued epistemic logic
  4. Algorithimc Decision Theory Lectures

    2x2 reduced copies of the presentation slides
  5. Archives

    Historical case studies and example graphs

Indices and search results


The Digraph3 documentation, available on the Read The Docs site:, describes the Python3 resources for implementing decision aid algorithms in the context of a bipolar-valued outranking approach ([BISD-15], [BISD-00]). These computing resources are useful in the field of Algorithmic Decision Theory and more specifically in outranking based Multiple Criteria Decision Aid (MCDA). They provide practical tools for a Master Course on Algorithmic Decision Theory tought at the University of Luxembourg.

The documentation contains, first, a set of tutorials introducing the main objects like digraphs, outranking digraphs and performance tableaux. There is also a tutorial provided on undirected graphs. Some tutorials are problem oriented and show how to compute the winner of an election, how to build a best choice recommendation, or how to linearly rank or rate with multiple incommensurable performance criteria. Other tutorials concern more specifically operational aspects of computing maximal independent sets (MISs) and kernels in graphs and digraphs. The tutorial about split, interval and permutation graphs is inspired by Martin Golumbic ‘s book on Algorithmic Graph Theory and Perfect Graphs ([GOLU-04]). We also provide a tutorial on tree graphs and spanning forests.

The second Section concerns the extensive reference manual of the collection of provided Python3 modules, classes and methods. The main classes in this collection are the digraphs.Digraph overall root class, the perfTabs.PerformanceTableau class and the outrankingDigraphs.BipolarOutrankingDigraph class. The technical documentation also provides insight into the complete source code of all modules, classes and methods.

The third Section exhibits some pearls of bipolar-valued epistemic logic that enrich the Digraph3 resources. These short texts illustrate well the very computational benefit one may get when working in a bipolar-valued logical framework. And, more specifically, the essential part the logically neutral undeterminate value is judiciously playing therein.

The fourth section provides 2x2-reduced notes of the author’s lectures on Algorithmic Decision Theory given at the University of Luxembourg during Spring 2020.

The last section gathers historical case studies with example digraphs compiled before 2006 and concerning the early development of the Digraph3 collection of python3 modules for implementing tools and methods for enumerating non isomorphic maximal independent sets in undirected graphs and computing dominant digraph kernels.


  1. Bisdorff, L.C. Dias, P. Meyer, V. Mousseau and M. Pirlot (Eds.) (2015). Evaluation and decision models with multiple criteria: Case studies. Springer-Verlag Berlin Heidelberg, International Handbooks on Information Systems, ISBN 978-3-662-46815-9, 643 pages (see
  1. Bisdorff (2000). “Logical foundation of fuzzy preferential systems with application to the Electre decision aid methods”, Computers and Operations Research, 27: 673-687 (downloadable PDF file 159.1kB)
  1. Ch. Golumbic (2004), Agorithmic Graph Theory and Perfect Graphs 2nd Ed., Annals of Discrete Mathematics 57, Elsevier.