In Brzozowski "Derivatives of Regular Expressions" und anderswo, die Funktion δ (R) zurückkehr λ, wenn eine R NULL sein kann, und ∅ Ansonsten enthält Klauseln, wie die folgenden:NULL-Zulässigkeit (Reguläre Ausdrücke)
δ(R1 + R2) = δ(R1) + δ(R2)
δ(R1 · R2) = δ(R1) ∧ δ(R2)
klar, wenn beide R1 und R2 sind NULL festlegbaren dann (R1 · R2) ist NULL festlegbaren, und wenn entweder R1 oder R2 ist NULL festlegbaren dann (R1 + R2) ist nullable. Es ist mir unklar, was die obigen Klauseln jedoch bedeuten sollen. Mein erster Gedanke, Mapping (+), (·) oder die Boolesche Operationen regelmäßig Sätze ist unsinnig, da im Basisfall,
δ(a) = ∅ (for all a ∈ Σ)
δ(λ) = λ
δ(∅) = ∅
und λ ist kein Satz (noch ist ein Satz der Rückgabetyp von δ, was ein regulärer Ausdruck ist). Außerdem wird diese Zuordnung nicht angezeigt, und es gibt eine separate Notation dafür. Ich verstehe NULL-Fähigkeit, aber ich bin bei der Definition der Summe, des Produkts und der Booleschen Operationen in der Definition von δ nicht mehr dabei: Wie werden λ oder ∅ beispielsweise von δ() ∧ δ (R2) zurückgegeben , in der Definition off δ (R1 · R2)?
Dies sollte auf Theoretische CS stattdessen sein: http://cstheory.stackexchange.com/ – Wolph
Ich hatte den Eindruck, dass * cstheorie.stackexchange * für Fragen auf Forschungsebene gedacht ist. Wenn ja, ist diese Frage sicherlich * nicht * für die Website geeignet. Es gibt viele Fragen auf dieser Ebene über reguläre Ausdrücke auf dieser Site. – danportin
Ich bin ziemlich zufrieden mit fast allem auf SO, aber diese Frage verwirrt mich zu keinem Ende. Ich denke, du wirst mehr Augen in der Theorie bekommen. – bukzor