/double_pushout

Project concerning double pushout graph rewriting made for Graph Transformations and Graph Algorithms Course at AGH UST 2021/22.

Primary LanguagePython

Double Pushout Graph Rewriting

Project concerning double pushout graph rewriting made for Graph Transformations and Graph Algorithms Course at AGH UST 2021/22.

Authors

  • implementation of structures
  • project management and content supervision

User manual

To run the program you should:

  • install all packages listed in requirements file
  • run the following command

    python main.py
    
  • provide path to input file in console when asked for it e.g. src/input_files/ex1.txt
  • the interactive part of the program should be now visible in application window

Important

One should put indexes of vertices they want to conduct a production on:

  • in the order corresponding to indexes of vertices in the left hand side of the production in ascending order
  • separated with commas

Example of a proper input to a production

Input file format

Example of an input file

File:

  • Input Graph
  • Productions
  • NEWLINE AT THE END

    where:
    • Graph:

      • -->
      • labels
      • indexes
      • edges in format:
      • vi edge_label vj
      • --<
    • Production:

      • Graph
      • Graph
      • Graph

Models of transformations

Project files contain four example graph grammars concerning graph transformations.

addStat addStat

addStat addStat