Inclusion of Pattern Languages and Related Problems
Wedi'i Gadw mewn:
| Cyhoeddwyd yn: | PQDT - Global (2011) |
|---|---|
| Prif Awdur: | |
| Cyhoeddwyd: |
ProQuest Dissertations & Theses
|
| Pynciau: | |
| Mynediad Ar-lein: | Citation/Abstract Full text outside of ProQuest |
| Tagiau: |
Dim Tagiau, Byddwch y cyntaf i dagio'r cofnod hwn!
|
| Crynodeb: | Pattern und ihre SprachenPattern, d. h. endliche Wörter aus Variablen und Terminalsymbolen, stellen eine kom-pakte, elegante und natürliche Methode dar, gewisse kontextsensitive Sprachen zu re-präsentieren. Ein Pattern erzeugt ein Wort durch eine Substitution, die alle Variablen im Pattern durch beliebige endliche Wörter über einem festen Terminalalphabet ersetzt. Die Patternsprache eines Pattern ist somit die Menge aller Wörter, die durch die Substituti-on des Pattern gebildet werden können; etwas formaler ist eine Patternsprache also die Menge aller Bilder des Pattern unter beliebigen terminalerhaltenden Homomorphismen. Wenn wir beispielsweise das Pattern az, arab, (mit Variablen 11,12 und Termi-nalsymbolen a, b) betrachten, liegen folglich (unter anderem) die Wörter w₁=aabbba, W₂:abababab und waaabaa in der von a erzeugten Patternsprache L(a), woge-gen die Beispielworter w₁=ba, w: babbba und wabba nicht von a erzeugt werden können.Die Untersuchung von Pattern in Wörtern lässt sich bis zu Thue [103] zurückverfolgen und zählt mittlerweile zu den etablierten Teilgebieten der Wortkombinatorik (s. Cas-saigne [17]), während die explizite Verwendung von Pattern als Sprachgeneratoren von Angluin [4] eingeführt wurden. In Angluins Definition ist es nicht erlaubt, Variablen löschend zu ersetzen, daher wird diese Klasse von Patternsprachen in der Literatur im Allgemeinen als NE-Patternsprachen bezeichnet („NE" steht in diesem Fall für non-erasing"). Ebenfalls häufig betrachtet werden die von Shinohara [102] eingeführten so-genannten E-Patternsprachen" („E" wie erasing" oder extended"); bei dieser Sprach-klasse ist die löschende Substitution gestattet. Im obigen Beispiel ist somit das Wort W3 zwar in der E-Patternsprache, nicht jedoch in der NE-Patternsprache von a enthalten. Durch diesen scheinbar kleinen definitorischen Unterschied besitzen die beiden Sprachklassen sehr unterschiedliche Eigenschaften. Beispielsweise lässt sich das Äqui-valenzproblem (d. h. die Frage, ob zwei Pattern die gleiche Sprache erzeugen) für NE-Patternsprachen trivial in Polynomialzeit entscheiden, während die Entscheidbarkeit des Aquivalenzproblems für E-Patternsprachen ein schweres und seit rund 30 Jahren offenes Problem darstellt (s. Ohlebusch und Ukkonen [79]. Reidenbach [87]).Beide Sprachklassen wurden zuerst in der Induktiven Inferenz, einem Teilgebiet der (mathematischen) Lerntheorie, eingeführt. Ziel dieser Betrachtungen war es, zu gege-benen Mengen von Wörtern effektiv Pattern zu finden, die diese Wörter beschreiben. Inzwischen wurden Patternsprachen auch in der Theorie der formalen Sprachen ausgie-big untersucht. Wegen ihrer einfachen Definition kommen Pattern und ihre Sprachen in einer Vielzahl anderer Gebiete der Informatik und der diskreten Mathematik vor.Aufgrund der einfachen Definition von Patternsprachen ließe sich vermuten, dass sich die meisten interessanten Eigenschaften einer Patternsprache direkt aus dem sie erzeu-genden Wort ablesen lassen. Insbesondere sollte sich daher leicht entscheiden lassen, ob zwei Pattern die gleiche oder vergleichbare Sprachen erzeugen (d. h. ob eine Äquivalenz-oder Inklusionsbeziehung vorliegt), und ob ein Wort in der Sprache eines Patterns ist (das sogenannte „Wortproblem"). Tatsächlich ist diese Vermutung aber in den meisten Fällen ein Trugschluss beispielsweise ist das Inklusionsproblem im Allgemeinen unent-scheidbar, und das Wortproblem NP-vollständig.Die vorliegende Dissertation beschäftigt sich mit verschiedenen Aspekten des Inklu-sionsproblems. Den eigentlichen Hauptteil der Arbeit bilden die Kapitel 3 bis 7, die sich sich grob in zwei Teile unterteilen lassen.Der erste Teil, der aus den Kapiteln 3 und 4 besteht, befasst sich direkt mit dem Inklusionsproblem für Patternsprachen und wendet eine in diesem Kontext entwickelte Technik auf eine in der Praxis weit verbreitete Erweiterung der regulären Ausdrücke an. 1.1 On PatternsPatterns – finite strings that consist of variables and terminals – are compact and natural devices for the definition of formal languages. A pattern generates a word by a substitution of the variables with arbitrary strings of terminals from a fixed alphabet Σ (where all occurrences of a variable in the pattern must be replaced with the same word), and its language is the set of all words that can be obtained under substitutions. In a more formal manner, the language of a pattern can be understood as the set of all images under terminal-preserving morphisms; i. e., morphisms that map variables to terminal strings, and each terminal to itself. For example, the pattern α = x1x1 a b x2 (where x1 and x2 are variables, and a and b are terminals) generates the language L(α) of all words that have a prefix that consists of a square, followed by the word a b, and are followed by an arbitrary word.The study of patterns in strings goes back to Thue [103] and is a central topic of combinatorics on words (cf. the survey by Choffrut and Karhum¨aki [18]), while the investigation of pattern languages was initiated by Angluin [4]. Angluin’s definition of pattern languages permits only the use of nonerasing substitutions (hence, this class of pattern languages is called NE-pattern languages). Later, Shinohara [102] introduced E-pattern languages (E for ‘erasing’ or ‘extended’), where erasing substitutions are permitted.This small difference in the definitions leads to immense differences in the properties of these two classes. For example, while the equivalence problem for NE-pattern languages is trivially decidable, the equivalence problem for E-pattern languages is a hard open problem. Although both classes were first introduced in the context of inductive inference (which deals with the problem of learning patterns for given sets of strings, for a survey see Ng and Shinohara [76]), they have been widely studied in Formal Language Theory (cf. the surveys by Mateescu and Salomaa [69], Mitrana [72], Salomaa [98]). Due to their compact definition, patterns or their languages occur in numerous prominent areas of computer science and discrete mathematics, including unavoidable patterns (cf. Jiang et al. [50]), extended regular expressions (cf. Chapter 4), word equations and the positive theory of concatenation (cf. Section 3.4.1), and recently, database theory (cf. Barcel´o et al. [8]).From the simple definition of pattern languages, one might expect that all properties of the language of a pattern are immediately obvious from the pattern itself (and the information which terminal alphabet one substitutes the variables into and whether variables may be erased), and hence, comparing pattern languages (more formally, deciding the equivalence or inclusion problem of a pattern language) or deciding whether a given word belongs to the language of a pattern (the membership problem) should simply be a straightforward matter of comparing patterns, or the pattern and the word. With few exceptions, this is not the case – in general, inclusion for pattern languages is undecidable (cf. Chapter 3), and the membership is NP-complete even for many subclasses (cf. Section 2.2). |
|---|---|
| Ffynhonnell: | ProQuest Dissertations & Theses Global |