Skip to content

Development of an application to teach learning content via e-graphs and equality saturation for teaching purposes

License

Notifications You must be signed in to change notification settings

BenSt099/Bachelorarbeit-EGraphs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bachelorarbeit - EGraphs

Das Ziel dieser Bachelorarbeit ist es, ein sinnvolles Werkzeug für die Lehre zu erstellen, um Studentinnen und Studenten die Themen E-Graphs und Equality Saturation näherzubringen. Dabei sollen sie die Möglichkeit haben, sich sowohl auf theoretischer als auch praktischer Ebene mit E-Graphs auseinandersetzen zu können. Die theoretische Ebene soll den Studenten die notwendigen Hintergrundkenntnisse vermitteln sowie einen Einblick in die Implementierung geben. Die praktische Ebene soll Schritt für Schritt aufzeigen, wie der E-Graph aufgebaut wird, und wie an diesem Equality Saturation durchgeführt werden kann. Für größtmöglichen Nutzen soll die Anwendung plattformunabhängig sein und möglichst nur von Open-Source-Software (OSS) Gebrauch machen. Damit wird das Problem der unterschiedlichen Betriebssysteme der Studenten umgangen und zeitgleich die Hürden für Erweiterungen gesenkt.

Overview

example of an egraph

Setup

  1. Bitte installieren Sie die Dependencies.
  2. Laden Sie sich den Code herunter.
  3. Führen Sie den Befehl fastapi run server.py im src Ordner aus.
  4. Falls sich der Browser nicht automatisch öffnet, öffnen Sie ihn manuell unter der Adresse http://127.0.0.1:8000.

Dokumentation

Die Dokumentation kann in der Anwendung unter Dokumentation gefunden werden (bzw. unter der Adresse http://127.0.0.1:8000/dokumentation.html).

Dependencies

  1. Graphviz
    1. PATH: Achten Sie während der Installation darauf, Graphviz zum PATH hinzuzufügen.
    2. Windows: Achten Sie darauf, dass dot vom Terminal aus aufrufbar ist; überprüfbar mit dot --version. Komplette Anleitung für Windows.
  2. Die notwendigen Pakete finden Sie in requirements.txt:
pip install -r requirements.txt

Tests

Wenn Sie die Tests ausführen möchten, fügen sie entweder Folgendes zu requirements.txt hinzu: pytest==8.3.3 oder installieren Sie das Paket händisch: pip install pytest==8.3.3.

License

Dieses Projekt wird unter der MIT License veröffentlicht. Für weiterführende Informationen klicken Sie bitte hier. Das Icon im Logo wurde aus dem Framework Bootstrap genommen.

About

Development of an application to teach learning content via e-graphs and equality saturation for teaching purposes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published