Zeichenkettenersetzungssysteme endlich präsentierter Kategorien M. Pfenniger 8. Juli 2013 Das zentrale Paradigma beim symbolischen Rechnen in Mathematik, Logik und theoretischer Informatik sind Termersetzungssysteme (Reduktionssysteme). Dabei geht man von einer Menge algebraischer Objekte (“Formeln”) und einer Menge von Regeln (“Gleichungen”) aus, mit denen man diese Objekte transformieren kann. Termersetzungssysteme sind normalerweise nicht deterministisch, weil oft mehrere Regeln auf die selbe Formel oder eine Regel auf mehrere Teilformeln einer Formel angewandt und dann unterschiedliche Endergebnisse entstehen können. Ein typisches Beispiel mit grosser Bedeutung für die theoretische Informatik ist der λ-Kalkül, der als allereinfachster Rahmen zum Studium berechenbarer Funktionen f : N → N betrachtet werden kann. Er hat sich als Turing-vollständig erwiesen und ist die Basis moderner Programmiersprachen wie ML oder Haskell. Um ein Termersetzungsystem als deterministischen Algorithmus benutzen zu können, braucht man ein Regelsystem, das terminiert 1 und das konfluent 2 ist. Falls ein Termersetzungssystem terminiert und konfluent, d.h. vollständig ist, wird der Termersetzungsprozess nach endlich vielen Transformationsschritten zu einer eindeutigen Normalform führen, die als “Resultat” der Rechnung dient. Insbesondere kann man mit einer solchen Normalform das sogn. Wortproblem lösen, d.h. entscheiden, ob zwei Objekte mit Hilfe der vorgegebenen Regeln ineinander transformiert werden können. Das Wortproblem ist auf Grund einer Arbeit von Church im allgemeinen unentscheidbar und es liegt deshalb nahe, Objekte aus einer möglichst einfachen algebraischen Struktur zu benutzen, falls man effizient rechnen können will. Beispielsweise basiert der Euklidsche Algorithmus zur Berechnung des grössten gemeinsamen Teilers von Elementen in einem Euklidschen Ring, das Gausssche bzw. das Fourier-Motzkinsche Eliminationsverfahren zur Lösung eines Systems linearer Gleichungen bzw.Ungleichungen über einem Körper, der Algorithmus von Quine-McClusky zur Minimierung Boolescher Formeln oder der Buchberger Algorithmus zur Berechnung einer Gröbner-Basis eines Ideals in einem Polynomring auf dieser Idee. Die unter Umständen riesigen Normalformen der letzten Beispiele zeigen, dass auch wenn das System vollständig ist, Raum- und Zeitkomplexität des Algorithmus explodieren können. Die allereinfachsten Termersetzungssysteme, die aber auf Grund einer Arbeit von Post immer noch Turing-vollständig sind, sind Zeichenkettensysteme, wo 1 Der Ersetzungsprozess endet immer nach endlich vielen Schritten. wenn die Transformationen eines Objektes auf verschiedene Arten gewählt werden können, lässt sich später immer eine Wahl finden, die zum selben Endergebnis führt. 2 Auch 1 die Objekte nicht durch komplexe Datenstrukturen, sondern bloss durch lineare Zeichenketten über einem endlichen Alphabet darstellbar sind. Dank einer mit der Komposition verträglichen Wohlordnung auf der Menge der Zeichenketten kann man nämlich garantieren, dass ein solches System immer terminiert. Ferner lässt sich für ein solches System effizient entscheiden, ob es konfluent ist. Dank der Verträglichkeit der Ordnung mit den involvierten algebraischen Operationen wird die Normalform eines vollständigen Zeichenkettensystems zudem klein und effizient erhältlich sein. Es ist also sinnvoll zu versuchen, solche Systeme gemäss eines Vorschlags von Knuth-Bendix zu vervollständigen. Falls man in einem Zeichenkettensystem als Alphabet eine endliche Menge verwendet, entspricht dies der endlichen Präsentierung eines Monoides. Endlich erzeugte Monoide und endlich präsentierte Gruppen spielen in der Informatik seit einer Arbeit von Thue und in der Mathematik dank Dyck, Dehn, etc. unter der Bezeichnung “kombinatorische Gruppentheorie” eine zentrale Rolle, weil es sich gezeigt hat, dass viele Gruppen, die in den Anwendungen — vor allem in der Geometrie — auf natürliche Art auftauchen, von dieser Art sind. Mittlerweile sind Programme erhältlich, mit denen für Monoide die Transformationen, der Konfluenz-Test und der (nicht unbedingt terminierender) Vervollständigungsprozess automatisch durchgeführt werden können. In der Projektarbeit geht es darum, diese Methoden von den über einer endlichen Menge erzeugten Monoiden und Gruppen auf über einem endlichen Graphen erzeugte Kategorien und Gruppoide zu verallgemeinern und entsprechende informatischen Werkzeuge zu entwickeln. Eine wesentliche Voraussetzung für die Arbeit wird darin bestehen, die erforderlichen theoretischen Grundlagen zu erwerben. Dazu wird man insbesondere Theorien der modernen Algebra — Kategorientheorie, Monoid- und etwas Gruppentheorie — studieren und einige typische Beispiele aus der Geometrie kennen lernen müssen, um dann das Vervollständigungsverfahren auf endlich erzeugte Kategorien übertragen und seine Korrektheit zeigen zu können. Vom informatischen Standpunkt wird man sich von der theoretischen Seite her mit den fundamentalen Fragestellungen und Methoden der Termersetzungssysteme und allenfalls der regulären Ausdrücke und Automatentheorie vertraut machen müssen. Von der praktischen Seite her wird man in einer geeigneten Programmiersprache die involvierten Datentypen — Zeichenketten und Köcher — implementieren und dann geeignete Algorithmen für das erforderliche Pattern matching bereit stellen müssen, bevor man sich daran machen kann, den Vervollständigungsalgorithmus zu realisieren. 2