Dateien nach "Report" hochladen

This commit is contained in:
2026-10-15 13:50:06 +02:00
parent bb3dfe8de0
commit 8aaee86de4
2 changed files with 91 additions and 6 deletions
+81 -5
View File
@@ -4,6 +4,8 @@
\renewcommand{\baselinestretch}{1.0} \renewcommand{\baselinestretch}{1.0}
\usepackage{graphicx} \usepackage{graphicx}
\usepackage{amsmath} \usepackage{amsmath}
\usepackage{quiver}
%\usepackage{tikz-cd}
\usepackage[style=numeric, sorting=none,backend=biber]{biblatex} \usepackage[style=numeric, sorting=none,backend=biber]{biblatex}
\addbibresource{refs.bib} \addbibresource{refs.bib}
\title{Graph Rewriting and NMR Spectroscopy in Chemical Reaction Network Modelling} \title{Graph Rewriting and NMR Spectroscopy in Chemical Reaction Network Modelling}
@@ -87,7 +89,6 @@
\caption{Beispiel für eine Gruppe mit einem Pushout D. Die Knoten $A,B,C,D,D'' \in Obj(\textbf{C})$ stellen selber Graphen dar. Die Kanten $g, g', g'',f,f',f'', d'' \in Mor(\textbf{C})$ stellen Morphismen dieser Graphen dar. \cite{andersenphd}. } \caption{Beispiel für eine Gruppe mit einem Pushout D. Die Knoten $A,B,C,D,D'' \in Obj(\textbf{C})$ stellen selber Graphen dar. Die Kanten $g, g', g'',f,f',f'', d'' \in Mor(\textbf{C})$ stellen Morphismen dieser Graphen dar. \cite{andersenphd}. }
\label{pushout} \label{pushout}
\end{figure} \end{figure}
Beispiel:
\paragraph{Pullback} \paragraph{Pullback}
Bei zwei gegebenen Morphismen $g': B \rightarrow D$ und $f': C \rightarrow D$ erzeugen die Morphismen $g: A \rightarrow C$ und $f: A \rightarrow B$ genau dann ein Pulback A von f' und g', wenn: Bei zwei gegebenen Morphismen $g': B \rightarrow D$ und $f': C \rightarrow D$ erzeugen die Morphismen $g: A \rightarrow C$ und $f: A \rightarrow B$ genau dann ein Pulback A von f' und g', wenn:
\begin{itemize} \begin{itemize}
@@ -99,10 +100,84 @@
\caption{Beispiel für eine Gruppe mit einem Pullback A. Die Knoten $A,B,C,D,A'' \in Obj(\textbf{C})$ stellen selber Graphen dar. Die Kanten $g, g', g'',f,f',f'', a'' \in Mor(\textbf{C})$ stellen Morphismen dieser Graphen dar. \cite{andersenphd}. } \caption{Beispiel für eine Gruppe mit einem Pullback A. Die Knoten $A,B,C,D,A'' \in Obj(\textbf{C})$ stellen selber Graphen dar. Die Kanten $g, g', g'',f,f',f'', a'' \in Mor(\textbf{C})$ stellen Morphismen dieser Graphen dar. \cite{andersenphd}. }
\label{pullback} \label{pullback}
\end{figure} \end{figure}
Beispiel: \begin{figure}
\begin{tikzcd}
\bullet && \bullet & \bullet &&&& \bullet && \bullet & \bullet && \\
\\
\bullet && \bullet & \bullet &&&& \bullet && \bullet \\
\bullet && \bullet &&&&& \bullet &&& \bullet \\
&&&&&&&&&&& \bullet & \bullet \\
&&&&&&&&&&& \bullet \\
&&&&&& \bullet \\
\bullet && \bullet & \bullet &&&& \textcolor{white}{\bullet} && \bullet & \bullet \\
\\
\bullet && \bullet & \bullet &&&& \bullet && \bullet & \bullet \\
\bullet && \bullet & \bullet && \bullet && \bullet && \bullet \\
&&&& \bullet & \bullet \\
&&& \bullet & \bullet
\arrow[color={rgb,255:red,214;green,92;blue,92}, dashed, from=1-1, to=1-3]
\arrow[color={rgb,255:red,214;green,92;blue,92}, dashed, from=1-1, to=3-1]
\arrow[no head, from=1-3, to=1-4]
\arrow[color={rgb,255:red,214;green,92;blue,92}, dashed, from=1-3, to=3-3]
\arrow[color={rgb,255:red,214;green,92;blue,92}, dashed, from=1-4, to=3-4]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=1-8, to=1-10]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=1-8, to=3-8]
\arrow[no head, from=1-10, to=1-11]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=1-10, to=3-10]
\arrow[color={rgb,255:red,214;green,92;blue,92}, dashed, from=1-11, to=4-11]
\arrow[color={rgb,255:red,214;green,92;blue,92}, dashed, from=3-1, to=3-3]
\arrow[no head, from=3-3, to=3-4]
\arrow[no head, from=3-3, to=4-3]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=3-8, to=3-10]
\arrow[no head, from=3-10, to=4-11]
\arrow[color={rgb,255:red,214;green,92;blue,92}, curve={height=-6pt}, dashed, from=3-10, to=5-12]
\arrow[color={rgb,255:red,214;green,92;blue,92}, curve={height=-12pt}, dashed, from=3-10, to=5-13]
\arrow[color={rgb,255:red,214;green,92;blue,92}, curve={height=12pt}, dashed, from=3-10, to=6-12]
\arrow[no head, from=4-1, to=3-1]
\arrow[color={rgb,255:red,214;green,92;blue,92}, dashed, from=4-1, to=4-3]
\arrow[no head, from=4-8, to=3-8]
\arrow[color={rgb,255:red,214;green,92;blue,92}, dashed, from=4-8, to=4-11]
\arrow[no head, from=5-12, to=5-13]
\arrow[no head, from=5-12, to=6-12]
\arrow[color={rgb,255:red,214;green,92;blue,92}, curve={height=-6pt}, dashed, from=7-7, to=8-10]
\arrow[color={rgb,255:red,214;green,92;blue,92}, curve={height=6pt}, dashed, from=7-7, to=10-8]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=8-1, to=8-3]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=8-1, to=10-1]
\arrow[no head, from=8-3, to=8-4]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=8-3, to=10-3]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=8-4, to=10-4]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=8-8, to=8-10]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=8-8, to=10-8]
\arrow[no head, from=8-10, to=8-11]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=8-10, to=10-10]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=8-11, to=10-11]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=10-1, to=10-3]
\arrow[no head, from=10-3, to=10-4]
\arrow[no head, from=10-3, to=11-3]
\arrow[no head, from=10-3, to=11-4]
\arrow[color={rgb,255:red,214;green,92;blue,92}, curve={height=-6pt}, dashed, from=10-3, to=12-5]
\arrow[color={rgb,255:red,214;green,92;blue,92}, dashed, from=10-4, to=11-6]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=10-8, to=10-10]
\arrow[no head, from=10-10, to=10-11]
\arrow[no head, from=10-10, to=11-10]
\arrow[no head, from=11-1, to=10-1]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=11-1, to=11-3]
\arrow[color={rgb,255:red,214;green,92;blue,92}, dashed, from=11-3, to=13-4]
\arrow[color={rgb,255:red,92;green,214;blue,92}, curve={height=-6pt}, dashed, from=11-4, to=12-6]
\arrow[color={rgb,255:red,92;green,92;blue,214}, curve={height=6pt}, dashed, from=11-4, to=13-5]
\arrow[no head, from=11-8, to=10-8]
\arrow[draw={rgb,255:red,214;green,92;blue,92}, dashed, from=11-8, to=11-10]
\arrow[no head, from=12-5, to=11-6]
\arrow[no head, from=12-5, to=12-6]
\arrow[no head, from=12-5, to=13-5]
\arrow[no head, from=13-4, to=12-5]
\end{tikzcd}
\caption{Beispiel für ein tatsächliches Pushout-Pullback Konstrukt (oben links), ein zu kleines Pushout (oben rechts), ein zu großes Pushout (unten links) und ein zu kleines Pullback (unten rechts). }
\label{pushpullex}
\end{figure}
Wir betrachten zum Pushout und Pullback vier Beispiele (Abb. \ref{pushpullex}). Im oben rechten Beispiel fügen die Morphismen jeweils eine Horizontale oder vertikale Kant mit Knoten hinzu. Das Pushout hat beides hinzugefügt. Im unten linken Beispiel wird für das Pushout nur insgesamt eine Kante hinzugefügt. Die beiden zuvor erzeugten Kanten werden also kombiniert, weshalb zwei unterschiedliche Morphismusmen $d'':D \rightarrow D''$ mit D'' als tatsächliches Pushout existieren würden. Das Pushout ist in diesem Fall also zu klein. Beim unten linken Beispiel wird für das Pushout eine Kante zu viel eingefügt. Dadurch existieren ebenfalls zwei verschiedene Morphismen (grün und blau) zu einem weiteren vier Stern Graphen. Ebenso existiert kein Morphismus von dem drei Stern Graphen zu dem tatsächlichen Pushout. Das Pushout ist also zu groß. In dem Beispiel unten links wird für das Pullback angenommen, dass wenn die Kante entfernt wird, auch die zugehörigen Knoten entfernt werden. Dadurch ist aber kein Morphismus von dem tatsächlichen Pullback zu diesem Pullback möglich. Ebenso würden, wenn jeweils zwei Knoten mit einer Kante mit $g$ und $f$ hinzugefügt würden, diese im Pushout kombiniert werden. Beides wiederspricht den etablierten Regeln.
\paragraph{Pushout Complement} \paragraph{Pushout Complement}
Bei zwei gegebenen Morphismen $g': B \rightarrow D$ und $f: A \rightarrow B$ erzeugen die Morphismen $g: A \rightarrow C$ und $f': C \rightarrow D$ genau dann ein Pushoutcomplement C von f und g', wenn f' und g' der Pushout von f und g ist oder f und g der Pullback von f' und g' ist. Bei zwei gegebenen Morphismen $g': B \rightarrow D$ und $f: A \rightarrow B$ erzeugen die Morphismen $g: A \rightarrow C$ und $f': C \rightarrow D$ genau dann ein Pushoutcomplement C von f und g', wenn f' und g' der Pushout von f und g ist oder f und g der Pullback von f' und g' ist.
Beispiel:
\paragraph{Double Pushout} \paragraph{Double Pushout}
Eine Graphtransformation lässt sich mit dem Double Pushout (DPO) Ansatz realisieren. Der DPO ist dabei eine Kombination aus den Morphismen l, r, l', r', m, m' (Abbildung \ref{dpo}) und einer Transformations Regel $p = (L \stackrel{l}{\leftarrow} K \stackrel{r}{\rightarrow} R)$. Die Regel besteht aus dem Kontext $K$, den zwei Morphismen $l$ und $r$. Bei einer angenommen Transformation von links nach rechts stellt $L$ die Vorbedingung, $R$ die Folgebedingung, $G$ den Vorzustand und $H$ den Folgezustand dar. Die Graphransformation eines Graphen $G$ zu einem Graphen $H$ mit der Regel $p$ und dem Morphismus $m$ wird über den Ausdruck $G \stackrel{p,m}{\implies} H$ dargestellt. Die nötigen Schritte lauten: Eine Graphtransformation lässt sich mit dem Double Pushout (DPO) Ansatz realisieren. Der DPO ist dabei eine Kombination aus den Morphismen l, r, l', r', m, m' (Abbildung \ref{dpo}) und einer Transformations Regel $p = (L \stackrel{l}{\leftarrow} K \stackrel{r}{\rightarrow} R)$. Die Regel besteht aus dem Kontext $K$, den zwei Morphismen $l$ und $r$. Bei einer angenommen Transformation von links nach rechts stellt $L$ die Vorbedingung, $R$ die Folgebedingung, $G$ den Vorzustand und $H$ den Folgezustand dar. Die Graphransformation eines Graphen $G$ zu einem Graphen $H$ mit der Regel $p$ und dem Morphismus $m$ wird über den Ausdruck $G \stackrel{p,m}{\implies} H$ dargestellt. Die nötigen Schritte lauten:
\begin{itemize} \begin{itemize}
@@ -166,7 +241,7 @@
\begin{equation} \begin{equation}
\begin{bmatrix} \begin{bmatrix}
z & -c_{1}& ... & -c_{j} & 0 & ... & 0 &| 0\\ z & -c_{1}& ... & -c_{j} & 0 & ... & 0 &| 0\\
0 & -a_{1,1}& ... & -a_{1,j} & s_{1} & ... & 0 &| b_{1}\\ 0 & -a_{1,1} & ... & -a_{1,j} & s_{1} & ... & 0 &| b_{1}\\
0 & ...& ... & ... & ... & ... & 0 &| ...\\ 0 & ...& ... & ... & ... & ... & 0 &| ...\\
0 & -a_{i,1}& ... & -a_{i,j} & 0 & ... & s_{i} &| b_{i} 0 & -a_{i,1}& ... & -a_{i,j} & 0 & ... & s_{i} &| b_{i}
\end{bmatrix} \times \end{bmatrix} \times
@@ -332,6 +407,7 @@
Die hierfür verwendeten Basisfunktionen können variieren, sind aber meistens Slater oder Gauss-Funktionen \cite{DFTORCA}. Die hierfür verwendeten Basisfunktionen können variieren, sind aber meistens Slater oder Gauss-Funktionen \cite{DFTORCA}.
\section{Methoden} \section{Methoden}
\subsection{M\o{}d} \subsection{M\o{}d}
\cite{mod}
\subsection{ORCA} \subsection{ORCA}
\cite{ORCA} \cite{ORCA}
\section{Ergebnisse} \section{Ergebnisse}
+10 -1
View File
@@ -153,7 +153,7 @@
adsnote = {Provided by the SAO/NASA Astrophysics Data System} adsnote = {Provided by the SAO/NASA Astrophysics Data System}
} }
@inbook{ilp, @inbook{ilp,
publisher = {John Wiley & Sons, Ltd}, publisher = {John Wiley and Sons, Ltd},
isbn = {9781118166000}, isbn = {9781118166000},
title = {Linear Programming—Fundamentals}, title = {Linear Programming—Fundamentals},
booktitle = {Applied Integer Programming}, booktitle = {Applied Integer Programming},
@@ -193,5 +193,14 @@
title = {Molecular quantum mechanics }, title = {Molecular quantum mechanics },
year = {2011}, year = {2011},
} }
@misc{mod,
title={A Software Package for Chemically Inspired Graph Transformation},
author={Jakob L. Andersen and Christoph Flamm and Daniel Merkle and Peter F. Stadler},
year={2016},
eprint={1603.02481},
archivePrefix={arXiv},
primaryClass={cs.FL},
url={https://arxiv.org/abs/1603.02481},
}