Regular Languages and Their Generating Functions: The Inverse Problem Regul¨areSprachen und ihre erzeugenden Funktionen: Das inverse Problem Friedrich-Alexander-Universit¨atErlangen-N¨urnberg Lehrstuhl f¨urInformatik 8 Diplomarbeit im Fach Informatik Christoph Koutschan
[email protected] Betreuer: Prof. Dr. Volker Strehl Beginn der Arbeit: 1. Februar 2005 Abgabe der Arbeit: 1. August 2005 Eidesstattliche Erkl¨arung Ich versichere, dass ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer als der angegebenen Quellen angefertigt habe und dass die Arbeit in gleicher oder ¨ahnlicher Form noch keiner anderen Pr¨ufungsbeh¨ordevorgele- gen hat und von dieser als Teil einer Pr¨ufungsleistungangenommen wurde. Alle Ausf¨uhrungen,die w¨ortlich oder sinngem¨aߨubernommen wurden, sind als solche gekennzeichnet. Erlangen, den Christoph Koutschan Abstract The technique of determining a generating function for an unambiguous context-free language, is known as the Schutzenberger¨ methodology. For regular languages, Barcucci et al. proposed1 a technology for inverting this methodology, which allows to give a combinatorial interpretation (by means of a regular expression) of certain positive integer sequences that are defined by a linear recurrence. In this thesis, we provide an implementation of this inverse methodology in Maple. Therefore, a detailed introduction to the underlying theory, i.e., the theory of formal power series and especially the question of deciding N-rationality, is given. Further, various aspects and problems concerning the implementation are discussed, and some examples from combinatorics illustrate its applicability. Kurzzusammenfassung Mit dem Verfahren von Schutzenberger¨ kann zu einer eindeutigen, kon- textfreien Sprache eine erzeugende Funktion bestimmt werden. Die Umkeh- rung dieses Verfahrens im Fall regul¨arerSprachen wurde von Barcucci et al.