Dateien nach "Report" hochladen

This commit is contained in:
2026-10-26 14:29:20 +01:00
parent b39ba9d894
commit 8a8d03d0b3
3 changed files with 20 additions and 2 deletions
+7 -2
View File
@@ -196,7 +196,12 @@
%%==================================================================================
\chapter{Einleitung}
\section{Einleitung: ILP und Graphtransformation}
Das Ziel bei der Synthese chemischer Moleküle ist die Maximierung der Ausbeute und die Minimierung des nötigen Aufwands. Bekannte Reaktionen können dabei auf eine Vielzahl von Startmolekülen angewandt werden. Aber auch für ein gewähltes Startmolekül ist sowohl in der Auswahl der verwendeten Reaktionen, als auch der gewählten Reihenfolge, große Varianz möglich. Um aus diesem Netzwerk an Reaktionen eine optimale Syntheseplanung zu entwickeln eignet sich das Integer Linear Programming (ILP). Dabei werden alle über die einzelnen Reaktionsschritte bekannten Informationen in einem Reaktionsnetzwerk zusammengefasst. Zu den geeigneten Informationen zählen bevorzugte Stoichiometrien, Energiebarrieren oder Kosten für Katalysatoren und Reaktanten. All diese Informationen können mittels ILP gewichtet zu einem geeigneten Syntheseplan optimiert werden \cite{ilpmot}. Es ist dabei möglich das Reaktionsnetzwerk ausschließlich mit festen Reaktionen zusammenzusetzen. In der Chemie werden Reaktionen aber meistens für Kategorien von Molekülen mit bestimmten Eigenschaften angegeben. Dabei kann das vorliegen einer funktionellen Gruppe oder spezieller Bindungs- und Atomkonfigurationen entscheidend sein, ob eine Reaktion auf die Edukte anwendbar ist und welche Produkte zu erwarten sind. Diese Entscheidung kann bei kleinen Reaktionsnetzwerken händisch durchgeführt werden, steigt in ihrem Aufwand aber schnell an. Eine zeitsparende Alternative ist die Entwicklung des Reaktionsnetzwerks durch Graphtransformationen. Dabei werden Moleküle als Graphen und chemische Reaktionen als Graphentransformation abstrahiert \cite{andersenhyperflow}. So sind Reaktionsnetzwerke mit mehr Reaktionstypen, sowie mehr und größere Moleküle möglich.
\section{Einleitung: NMR-Spektroskopie}
NMR Spektroskopie ist die eine der wichtigsten chemischen Werkzeuge zur Strukturaufklärung unbekannter Moleküle. Die Spektren sind dabei charakteristisch für eine Struktur, und ermöglichen so eine Bestätigung des Erfolgs einer geplanten Synthese zu. Über die vorliegenden Zusammenhänge ist zudem auch eine weitgehende Analyse der Nachbarschaftsbeziehungen in unbekannten Molekülen möglich. Diese Analyse wird meistens mit weiteren Methoden kombiniert, wobei die verschiedenen NMR-Typen einen wesentlichen Anteil ausmachen \cite{ocwiley}. Insbesondere in Artikeln über die Synthese neuer Moleküle wird so meistens das NMR-Spektrum angegeben, um eine externe Verifikation der Synthese durch unabhängige Chemiker verifizieren zu lassen. Auch bei der eigenen Synthese ist der Vergleich des NMR-Spektrums mit bekannten Spektren der Literatur eine zentrale Möglichkeit der Verifikation. Dieser Vergleich passiert meistens empirisch und ist zeitaufwändig, was die Automatisierung dieser Analyse nahelegt.
\section{Einleitung: Zielsetzung}
Das Ziel dieser Masterarbeit ist die Kombination des mathematischen Integer Linear Programming, der Informatischen Methode des Hypergraphen und der chemischen Methode des NMR-Spektrums. Dabei soll für bekannte Reaktionen und Moleküle ein chemisches Reaktionsnetzwerk in der Form eines Hypergraphen entwickelt werden. Für die so gefundenen Moleküle sollen NMR-Spektren bestimmt werden. Diese NMR-Spektren können dabei sowohl durch Quantenchemische Programme berechnet werden, als auch aus den Literaturangaben zu Experimentell bestimmten Spektren stammen. Diese NMR-Spektren sollen miteinander verglichen werden und ihre Ähnlichkeit, sowie ihre charakteristischen Unterschiede, quantifiziert werden. Dieser Grad der Ähnlichkeit soll anschießend genutzt werden um einen Reaktionspfad zu bestimmen, der diese Ähnlichkeit maximiert. Das angestrebte Ziel ist dabei die Automatisierung der Verifizierung unbekannter Moleküle.
\chapter{Theoretische Grundlagen}
\section{Graphen Theorie}
Die Graphen Theorie befasst sich mit dem Abbilden von Netzwerken und Entitätenbeziehungen. Dabei werden die Netzwerkteilnehmer und Entitäten als Menge von Knoten ($V$) und ihre Verbindungen oder Beziehungen als Menge von Kanten ($E$) abstrahiert. Ein Knoten $v$ ist dabei ein Element der Menge $V$ und eine Kante ein Element der Teilmenge $E \subseteq P_{2}(V)$ Das Tupel $(u,v)$ aus zwei Knoten u und v, mit $u,v \in V$ ist ein Element der Menge $(u,v) \in E$. Ein einfacher Graph ($G$) besteht aus einer Menge von Knoten und Kanten $G = (V, E)$ \cite{bender2006foundations}. Bei einem gerichteten Graph gilt dabei, dass die Kante von Knoten u zu Knoten v gerichtet verläuft. Es gilt $(u,v) \neq (v,u)$, weshalb beide in der Menge von Kanten vorkommen können. In einem ungerichteten Graphen gilt, dass die beiden Tupel dieselbe Kante beschreiben. Es gilt also $(u,v) = (v,u)$. Ein Multigraph ist darüber definiert, dass anders als in einem einfachen Graphen, eine identische Kante mehrmals enthalten ist. Die Kanten sind also keine Menge. Die beiden Kannten haben dann die selbe Repräsentation $(u,v)\stackrel{r}{=}(u,v)$, aber sind nicht die gleiche Kante $(u,v) \neq (u,v)$. Es besteht auch die Möglichkeit, dass eine Kante von einem Knoten zu sich selber führt, also $(v,v)$, was als Schleife bezeichnet wird. Sowohl gerichtete, als auch ungerichtete Graphen können gelabelt sein. Sie werden dann als gelabelter Graph bezeichnet. Dabei lässt sich zwischen Kanten und Knotenlabeln unterscheiden. Für Kantenlabel (\ref{edgelabel}) und Knotenlabel (\ref{verticelabel}) gilt, das Label muss einzigartig sein.
@@ -399,7 +404,7 @@ Ein $s$,$t$-Superpfad in einem Hypergraphen $\mathcal{H} = (V,E)$ für die unter
Ein Hyperpfad $P$ ist ein minimaler Superpfad. Also gilt: $\forall e \in P: P \setminus {e}$ ist kein Superpfad.
\subsection{Zyklen}
Für einen endlichen ungerichteten Graphen $G =(V, E)$ ist ein einfacher Pfad definiert als endliche Sequenz $V_{P} = \langle v_{1}, ... , v_{k} \rangle$ mit $v_{1}, ... , v_{k} \in V$ und $E_{P} = \{(v_{1}, v_{2}), ..., (v_{k-1}, v_{k})\}$ mit $(v_{i}, v_{i+1}) \in E$ mit $i \in {1, ..., k-1}$. Ein solcher Pfad ist ein Zyklus, wenn gilt $(v_{k}, v_{1}) \in E$. Eine Sehne in einem Pfad ist eine Kante $e_{c} \in E$ zwischen zwei Knoten des Pfades $e_{i}, e_{j} \in V_{P}$, welche wiederum nicht Teil des Pfades ist $(_{i}, e_{j}) \notin E_{P}$. Ein sehnen loser Zyklus ist sehnen loser Pfad, bei dem der erste und letzte Knoten über eine Kante verbunden sind.
\subsection{Integer Linear Programming ILP}
\subsection{Integer Linear Programming (ILP)}
Ein Lineares Programmier (LP) Problem ist ein mathematisches Problem, bei dem für eine Menge an Variablen $\{x_{1},..., x_{n}\}$ Werte gefunden werden, so dass eine Zielfunktion maximiert oder minimiert wird. Ein LP kann mathematisch als eine Zielfunktion und eine Menge von Bedingungen beschrieben werden:
\begin{itemize}
\item $max z = \sum_{j} c_{j} \times x_{j}$