Zeichenkettenersetzungssysteme endlich präsentierter Kategorien

Werbung
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
Herunterladen