Birge–Sponer method: Difference between revisions
en>Mark91 ←Created page with 'In molecular spectroscopy, the '''Birge–Sponer method''' or '''Birge–Sponer plot''' is a way to calculate the dissociation energy of a molecule. By o...' |
en>Yobot m →References: WP:CHECKWIKI error fixes / special characters in sortkey fixed using AWB (9427) |
||
Line 1: | Line 1: | ||
In [[computer science]], '''double pushout graph rewriting''' or (DPO graph rewriting) refers to a mathematical framework for [[graph rewriting]]. It was introduced in as one of the first algebraic approaches to graph rewriting in the article "Graph-grammars: An algebraic approach" (1973).<ref name="ehrig73">"Graph-grammars: An algebraic approach", Ehrig, Hartmut and Pfender, Michael and Schneider, Hans-Jürgen, Switching and Automata Theory, 1973. SWAT'08. IEEE Conference Record of 14th Annual Symposium on, pp. 167-180, 1973, IEEE</ref> It has since been generalized to allow rewriting structures which are not graphs, and to handle negative application conditions,<ref name="ehrig2">"Constraints and application conditions: From graphs to high-level structures", Ehrig, Ehrig, Habel and Pennemann, Graph transformations, pp. 287--303, Springer</ref> among other extensions. | |||
== Definition == | |||
A DPO graph transformation system (or graph grammar) consists of a finite [[Graph (mathematics)|graph]], which is the starting state, and an a finite or countable set of labeled [[Span (category theory)|spans]] in the [[Category (mathematics)|category]] of finite graphs and graph homomorphisms, which serve as derivation rules. The rule spans are generally taken to be composed of [[monomorphism]]s, but the details can vary.<ref name="habel01">"Double-pushout graph transformation revisited", Habel, Annegret and Müller, Jürgen and Plump, Detlef, Mathematical Structures in Computer Science, vol. 11, no. 05., pp. 637--688, 2001, Cambridge University Press</ref> | |||
Rewriting is performed in two steps: deletion and addition. | |||
After a match from the left hand side to <math>G</math> is fixed, nodes and edges that are not in the right hand side are deleted. The right hand side is then glued in. | |||
Gluing graphs is in fact a [[Pushout_(category_theory)|pushout]] construction in the [[category]] of graphs, and the deletion is the same as finding a pushout complement, hence the name. | |||
== Uses == | |||
Double pushout graph rewriting allows the specification of graph transformations by specifying a pattern of fixed size and composition to be found and replaced, where part of the pattern can be preserved. The application of a rule is potentially non-deterministic: several distinct matches can be possible. These can be non-overlapping, or share only preserved items, thus showing a kind of [[concurrency]] known as parallel independence,<ref name="corradini">"Concurrent computing: from Petri nets to graph grammars", Corradini, Andrea, ENTCS, vol. 2, pp. 56--70, 1995, Elsevier</ref> or they may be incompatible, in which case either the applications can sometimes be executed sequentially, or one can even preclude the other. | |||
It can be used as a language for software design and programming (usually a variant working on richer structures than graphs is chosen). [[Halting problem|Termination]] for DPO graph rewriting is [[undecidable problem|undecidable]] because the [[Post correspondence problem]] can be reduced to it.<ref name="plump1998termination">, "Termination of graph rewriting is undecidable", Detlef Plump, Fundamenta Informaticae, vol. 33, no. 2, pp. 201--209, 1998, IOS Press</ref> | |||
<!-- does an implementation exist which is more than a prototype? for example, GROOVE can be used to simulate DPO rewriting --> | |||
DPO graph rewriting can be viewed as a generalization of [[Petri nets]].<ref name="corradini"/> | |||
== Generalization == | |||
Axioms have been sought to describe categories in which DPO rewriting will work. One possibility is the notion of an [[adhesive category]], which also enjoys many closure properties. Related notions are HLR systems, quasi-adhesive categories and <math>\mathcal{M}</math>-adhesive categories, adhesive HLR categories.<ref name="ahlr">Hartmut Ehrig and Annegret Habel and Julia Padberg and Ulrike Prange, "Adhesive high-level replacement categories and systems", 2004, Springer</ref> | |||
The concepts of [[adhesive category]] and HLR system are related (an adhesive category with [[coproduct]]s is a HLR system<ref name="Lack">"Adhesive categories", Stephen Lack and Paweł Sobociński, in ''Foundations of software science and computation structures'', pp. 273--288, Springer 2004</ref>). | |||
[[Hypergraph]], [[typed graph]] and [[attributed graph]] rewriting,<ref>"Fundamentals of Algebraic Graph Transformation", Hartmut Ehrig, Karsten Ehrig, Ulrike Prange and Gabriele Taentzer</ref> for example, can be handled because they can be cast as adhesive HLR systems. | |||
== Notes == | |||
<references/> | |||
[[Category:Graph algorithms]] | |||
[[Category:Graph rewriting]] |
Revision as of 11:10, 20 August 2013
In computer science, double pushout graph rewriting or (DPO graph rewriting) refers to a mathematical framework for graph rewriting. It was introduced in as one of the first algebraic approaches to graph rewriting in the article "Graph-grammars: An algebraic approach" (1973).[1] It has since been generalized to allow rewriting structures which are not graphs, and to handle negative application conditions,[2] among other extensions.
Definition
A DPO graph transformation system (or graph grammar) consists of a finite graph, which is the starting state, and an a finite or countable set of labeled spans in the category of finite graphs and graph homomorphisms, which serve as derivation rules. The rule spans are generally taken to be composed of monomorphisms, but the details can vary.[3]
Rewriting is performed in two steps: deletion and addition.
After a match from the left hand side to is fixed, nodes and edges that are not in the right hand side are deleted. The right hand side is then glued in.
Gluing graphs is in fact a pushout construction in the category of graphs, and the deletion is the same as finding a pushout complement, hence the name.
Uses
Double pushout graph rewriting allows the specification of graph transformations by specifying a pattern of fixed size and composition to be found and replaced, where part of the pattern can be preserved. The application of a rule is potentially non-deterministic: several distinct matches can be possible. These can be non-overlapping, or share only preserved items, thus showing a kind of concurrency known as parallel independence,[4] or they may be incompatible, in which case either the applications can sometimes be executed sequentially, or one can even preclude the other.
It can be used as a language for software design and programming (usually a variant working on richer structures than graphs is chosen). Termination for DPO graph rewriting is undecidable because the Post correspondence problem can be reduced to it.[5]
DPO graph rewriting can be viewed as a generalization of Petri nets.[4]
Generalization
Axioms have been sought to describe categories in which DPO rewriting will work. One possibility is the notion of an adhesive category, which also enjoys many closure properties. Related notions are HLR systems, quasi-adhesive categories and -adhesive categories, adhesive HLR categories.[6]
The concepts of adhesive category and HLR system are related (an adhesive category with coproducts is a HLR system[7]).
Hypergraph, typed graph and attributed graph rewriting,[8] for example, can be handled because they can be cast as adhesive HLR systems.
Notes
- ↑ "Graph-grammars: An algebraic approach", Ehrig, Hartmut and Pfender, Michael and Schneider, Hans-Jürgen, Switching and Automata Theory, 1973. SWAT'08. IEEE Conference Record of 14th Annual Symposium on, pp. 167-180, 1973, IEEE
- ↑ "Constraints and application conditions: From graphs to high-level structures", Ehrig, Ehrig, Habel and Pennemann, Graph transformations, pp. 287--303, Springer
- ↑ "Double-pushout graph transformation revisited", Habel, Annegret and Müller, Jürgen and Plump, Detlef, Mathematical Structures in Computer Science, vol. 11, no. 05., pp. 637--688, 2001, Cambridge University Press
- ↑ 4.0 4.1 "Concurrent computing: from Petri nets to graph grammars", Corradini, Andrea, ENTCS, vol. 2, pp. 56--70, 1995, Elsevier
- ↑ , "Termination of graph rewriting is undecidable", Detlef Plump, Fundamenta Informaticae, vol. 33, no. 2, pp. 201--209, 1998, IOS Press
- ↑ Hartmut Ehrig and Annegret Habel and Julia Padberg and Ulrike Prange, "Adhesive high-level replacement categories and systems", 2004, Springer
- ↑ "Adhesive categories", Stephen Lack and Paweł Sobociński, in Foundations of software science and computation structures, pp. 273--288, Springer 2004
- ↑ "Fundamentals of Algebraic Graph Transformation", Hartmut Ehrig, Karsten Ehrig, Ulrike Prange and Gabriele Taentzer