2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-24 22:08:04 +02:00

Verbesserungsvorschlaege von C. Oessner (Email vom 15.01.2014) eingearbeitet; Definition von 'Random Walk' hinzugefügt

This commit is contained in:
Martin Thoma 2014-01-18 18:20:40 +01:00
parent c68eba2827
commit be452cf225
6 changed files with 114 additions and 62 deletions

View file

@ -2,15 +2,36 @@
DYCOS (\underline{DY}namic \underline{C}lassification DYCOS (\underline{DY}namic \underline{C}lassification
algorithm with c\underline{O}ntent and \underline{S}tructure) ist ein algorithm with c\underline{O}ntent and \underline{S}tructure) ist ein
Knotenklassifizierungsalgorithmus, der Ursprünglich in \cite{aggarwal2011} vorgestellt Knotenklassifizierungsalgorithmus, der Ursprünglich in \cite{aggarwal2011} vorgestellt
wurde. Er klassifiziert einzelne Knoten, indem $r$ Random Walks der Länge $l$, wurde.
Ein zentrales Element des DYCOS-Algorithmus ist der sog.
{\it Random Walk}:
\begin{definition}[Random Walk, Sprung]
Sei $G = (V, E)$ mit $E \subseteq V \times V$ ein Graph und
$v_0 \in V$ ein Knoten des Graphen.
%Sei außerdem $f: V \rightarrow \mathcal{P}(V)$ eine Abbildung
%mit der Eigenschaft:
%\[ \forall v \in V \forall v' \in f(v): \exists \text{Weg von } v \text{ nach } v'\]
Ein Random Walk der Länge $l$ auf $G$, startend bei $v_0$ ist
nun der zeitdiskrete stochastische Prozess, der $v_i$
auf einen zufällig gewählten Nachbarn $v_{i+1}$ abbildet
(für $i \in 0, \dots, l-1$).
Die Abbildung $v_i \mapsto v_{i+1}$ heißt ein Sprung.
\end{definition}
Der DYCOS-Algorithmus klassifiziert einzelne Knoten, indem $r$ Random Walks der Länge $l$,
startend bei dem zu klassifizierenden Knoten $v$ gemacht werden. Dabei startend bei dem zu klassifizierenden Knoten $v$ gemacht werden. Dabei
werden die Labels der besuchten Knoten gezählt. Das Label, das am häufigsten werden die Labels der besuchten Knoten gezählt. Das Label, das am häufigsten
vorgekommen ist, wird als Label für $v$ gewählt. vorgekommen ist, wird als Label für $v$ gewählt.
DYCOS nutzt also die sog. Homophilie, d.~h. die Eigenschaft, dass DYCOS nutzt also die sog. Homophilie, d.~h. die Eigenschaft, dass
Knoten, die nur wenige Hops von einander entfernt sind, häufig auch Knoten, die nur wenige Hops von einander entfernt sind, häufig auch
ähnlich sind \cite{bhagat}. Der DYCOS-Algorithmus nimmt jedoch nicht ähnlich sind \cite{bhagat}. Der DYCOS-Algorithmus arbeitet jedoch nicht
einfach den Graphen für dieses Verfahren, sondern erweitert ihn mit direkt auf dem Graphen, sondern erweitert ihn mit
Hilfe der zur Verfügung stehenden Texte.\\ Hilfe der zur Verfügung stehenden Texte. Wie diese Erweiterung
erstellt wird, wird im Folgenden erklärt.\\
Für diese Erweiterung wird zuerst wird Vokabular $W_t$ bestimmt, das Für diese Erweiterung wird zuerst wird Vokabular $W_t$ bestimmt, das
charakteristisch für eine Knotengruppe ist. Wie das gemacht werden kann charakteristisch für eine Knotengruppe ist. Wie das gemacht werden kann
und warum nicht einfach jedes Wort in das Vokabular aufgenommen wird, und warum nicht einfach jedes Wort in das Vokabular aufgenommen wird,
@ -38,25 +59,25 @@ jedes Wortes berücksichtigt.
Entsprechend werden zwei unterschiedliche Sprungtypen unterschieden, Entsprechend werden zwei unterschiedliche Sprungtypen unterschieden,
die strukturellen Sprünge und inhaltliche Mehrfachsprünge: die strukturellen Sprünge und inhaltliche Mehrfachsprünge:
\begin{definition} \begin{definition}[struktureller Sprung]
Sei $G_{E,t} = (V_t, E_{S,t} \cup E_{W,t}, V_{L,t}, W_{t})$ der Sei $G_{E,t} = (V_t, E_{S,t} \cup E_{W,t}, V_{L,t}, W_{t})$ der
um die Wortknoten $W_{t}$ erweiterte Graph. um die Wortknoten $W_{t}$ erweiterte Graph.
Dann heißt das zufällige wechseln des aktuell betrachteten Dann heißt das zufällige wechseln des aktuell betrachteten
Knoten $v \in V_t$ zu einem benachbartem Knoten $w \in V_t$ Knoten $v \in V_t$ zu einem benachbartem Knoten $w \in V_t$
ein \textbf{struktureller Sprung}. ein struktureller Sprung.
\end{definition} \end{definition}
\goodbreak \goodbreak
Im Gegensatz dazu benutzten inhaltliche Mehrfachsprünge Im Gegensatz dazu benutzten inhaltliche Mehrfachsprünge
tatsächlich die Grapherweiterung: tatsächlich die Grapherweiterung:
\begin{definition} \begin{definition}[inhaltlicher Mehrfachsprung]
Sei $G_t = (V_t, E_{S,t} \cup E_{W,t}, V_{L,t}, W_{t})$ der Sei $G_t = (V_t, E_{S,t} \cup E_{W,t}, V_{L,t}, W_{t})$ der
um die Wortknoten $W_{t}$ erweiterte Graph. um die Wortknoten $W_{t}$ erweiterte Graph.
Dann heißt das zufällige wechseln des aktuell betrachteten Dann heißt das zufällige wechseln des aktuell betrachteten
Knoten $v \in V_t$ zu einem benachbartem Knoten $w \in W_t$ Knoten $v \in V_t$ zu einem benachbartem Knoten $w \in W_t$
und weiter zu einem zufälligem Nachbar $v' \in V_t$ von $w$ und weiter zu einem zufälligem Nachbar $v' \in V_t$ von $w$
ein \textbf{inhaltlicher Mehrfachsprung}. ein inhaltlicher Mehrfachsprung.
\end{definition} \end{definition}
Jeder inhaltliche Mehrfachsprung beginnt und endet also in einem Strukturknoten, Jeder inhaltliche Mehrfachsprung beginnt und endet also in einem Strukturknoten,
@ -65,11 +86,11 @@ springt über einen Wortknoten und ist ein Pfad der Länge~2.
Ob in einem Sprung der Random Walks ein struktureller Sprung oder Ob in einem Sprung der Random Walks ein struktureller Sprung oder
ein inhaltlicher Mehrfachsprung gemacht wird, wird jedes mal zufällig ein inhaltlicher Mehrfachsprung gemacht wird, wird jedes mal zufällig
neu entschieden. Dafür wird der Parameter $0 \leq p_S \leq 1$ für den Algorithmus neu entschieden. Dafür wird der Parameter $0 \leq p_S \leq 1$ für den Algorithmus
gewählt. Mit einer Wahrscheinlichkeit von $p_S$ wird eine struktureller gewählt. Mit einer Wahrscheinlichkeit von $p_S$ wird ein struktureller
Sprung durchgeführt und mit einer Wahrscheinlichkeit Sprung durchgeführt und mit einer Wahrscheinlichkeit
von $(1-p_S)$ ein modifizierter inhaltlicher Mehrfachsprung, wie er in von $(1-p_S)$ ein modifizierter inhaltlicher Mehrfachsprung, wie er in
\cref{sec:sprungtypen} erklärt wird, gemacht. Dieser \cref{sec:sprungtypen} erklärt wird, gemacht. Der
Parameter gibt an, wie wichtig die Struktur des Graphen im Verhältnis Parameter $p_S$ gibt an, wie wichtig die Struktur des Graphen im Verhältnis
zu den textuellen Inhalten ist. Bei $p_S = 0$ werden ausschließlich zu den textuellen Inhalten ist. Bei $p_S = 0$ werden ausschließlich
die Texte betrachtet, bei $p_S = 1$ ausschließlich die Struktur des die Texte betrachtet, bei $p_S = 1$ ausschließlich die Struktur des
Graphen. Graphen.
@ -90,11 +111,11 @@ Pseudocode vorgestellt.
\Ensure Klassifikation von $V_t \setminus V_{L,t}$\\ \Ensure Klassifikation von $V_t \setminus V_{L,t}$\\
\\ \\
\ForAll{Knoten $v$ in $V_t \setminus V_{L,t}$} \ForAll{Knoten $v \in V_t \setminus V_{L,t}$}
\State $d \gets $ defaultdict \State $d \gets $ defaultdict
\For{$i$ von $1$ bis $r$} \For{$i = 1, \dots,r$}
\State $w \gets v$ \State $w \gets v$
\For{$j$ von $1$ bis $l$} \For{$j= 1, \dots, l$}
\State $sprungTyp \gets \Call{random}{0, 1}$ \State $sprungTyp \gets \Call{random}{0, 1}$
\If{$sprungTyp \leq p_S$} \If{$sprungTyp \leq p_S$}
\State $w \gets$ \Call{SturkturellerSprung}{$w$} \State $w \gets$ \Call{SturkturellerSprung}{$w$}
@ -132,10 +153,13 @@ verwaltet der DYCOS-Algorithmus zwei weitere Datenstrukturen:
assoziatives Array geschehen. Wörter, die nicht in assoziatives Array geschehen. Wörter, die nicht in
Texten von $v$ vorkommen, sind nicht im Array. Für Texten von $v$ vorkommen, sind nicht im Array. Für
alle vorkommenden Wörter ist der gespeicherte Wert zum alle vorkommenden Wörter ist der gespeicherte Wert zum
Schlüssel \enquote{Wort} die Anzahl der Vorkommen von Schlüssel $w \in W_t$ die Anzahl der Vorkommen von
\enquote{Wort} in den Texten von $v$. $w$ in den Texten von $v$.
\item Für jedes Wort des Vokabulars $W_t$ wird eine Liste von \item Für jedes Wort des Vokabulars $W_t$ wird eine Liste von
Knoten verwaltet, in deren Texten das Wort vorkommt. Knoten verwaltet, in deren Texten das Wort vorkommt.
Diese Liste wird bei den inhaltlichen Mehrfachsprung,
der in \cref{sec:sprungtypen} erklärt wird,
verwendet.
\item An einigen Stellen macht ein assoziatives Array, auch \item An einigen Stellen macht ein assoziatives Array, auch
\enquote{dictionary} oder \enquote{map} genannt, Sinn. \enquote{dictionary} oder \enquote{map} genannt, Sinn.
Zustätzlich ist es nützlich, wenn diese Datenstruktur für Zustätzlich ist es nützlich, wenn diese Datenstruktur für

Binary file not shown.

View file

@ -1,14 +1,20 @@
\subsection{Motivation} Im Folgenden werden in \cref{sec:Motivation} einge Beispiele, in denen
Teilweise gelabelte Netzwerke sind allgegenwärtig. Publikationsdatenbanken der DYCOS-Algorithmus anwendung finden könnte, dargelegt. In
\cref{sec:Problemstellung} wird die Problemstellung formal definiert
und in \cref{sec:Herausforderungen} wird auf besondere Herausforderungen
der Aufgabenstellung hingewiesen.
\subsection{Motivation}\label{sec:Motivation}
Teilweise beschriftete Graphen sind allgegenwärtig. Publikationsdatenbanken
mit Publikationen als Knoten, Literaturverweisen und Zitaten als Kanten mit Publikationen als Knoten, Literaturverweisen und Zitaten als Kanten
sowie Tags oder Kategorien als Labels; sowie von Nutzern vergebene Beschriftungen (sog. {\it Tags}) oder Kategorien als Labels;
Wikipedia mit Artikeln als Knoten, Links als Kanten und Kategorien Wikipedia mit Artikeln als Knoten, Links als Kanten und Kategorien
als Labels sowie soziale Netzwerke mit Eigenschaften der Benutzer als Labels sowie soziale Netzwerke mit Eigenschaften der Benutzer
als Labels sind drei Beispiele dafür. als Labels sind drei Beispiele dafür.
Häufig sind Labels nur teilweise vorhanden und es ist wünschenswert die Häufig sind Labels nur teilweise vorhanden und es ist wünschenswert die
fehlenden Labels zu ergänzen. fehlenden Labels automatisiert zu ergänzen.
\subsection{Problemstellung} \subsection{Problemstellung}\label{sec:Problemstellung}
Gegeben ist ein Graph, der teilweise gelabelt ist. Zusätzlich stehen Gegeben ist ein Graph, der teilweise gelabelt ist. Zusätzlich stehen
zu einer Teilmenge der Knoten Texte bereit. Gesucht sind nun Labels zu einer Teilmenge der Knoten Texte bereit. Gesucht sind nun Labels
für alle Knoten, die bisher noch nicht gelabelt sind.\\ für alle Knoten, die bisher noch nicht gelabelt sind.\\
@ -30,12 +36,13 @@ für alle Knoten, die bisher noch nicht gelabelt sind.\\
$\tilde{f}|_{V_{L,t}} = f$. $\tilde{f}|_{V_{L,t}} = f$.
\end{definition} \end{definition}
\subsection{Herausforderungen} \subsection{Herausforderungen}\label{sec:Herausforderungen}
Die Graphen, für die dieser Algorithmus konzipiert wurde, Die Graphen, für die dieser Algorithmus konzipiert wurde,
sind viele $\num{10000}$~Knoten groß und dynamisch. Das bedeutet, es sind viele $\num{10000}$~Knoten groß und dynamisch. \enquote{Dynamisch}
kommen neue Knoten und eventuell auch neue Kanten hinzu bzw. Kanten bedeutet in diesem Kontext, dass neue Knoten und eventuell auch neue
oder Knoten werden entfernt. Außerdem stehen textuelle Inhalte zu den Kanten hinzu kommen bzw. Kanten oder Knoten werden entfernt werden.
Außerdem stehen textuelle Inhalte zu den
Knoten bereit, die bei der Klassifikation genutzt werden können. Knoten bereit, die bei der Klassifikation genutzt werden können.
Bei kleinen Modifikationen sollte nicht alles nochmals berechnen Bei kleinen Änderungen sollte nicht alles nochmals berechnen
werden müssen, sondern basierend auf zuvor werden müssen, sondern basierend auf zuvor
berechneten Labels sollte die Klassifizierung modifiziert werden. berechneten Labels sollte die Klassifizierung angepasst werden.

View file

@ -2,3 +2,11 @@ Ausarbeitung zum Proseminar "Netzwerkanalyse" am KIT.
Die Ausarbeitung soll 10-12 Seiten haben und die Präsentation Die Ausarbeitung soll 10-12 Seiten haben und die Präsentation
25-30 Minuten dauern + 10-15 Minuten Diskussion. 25-30 Minuten dauern + 10-15 Minuten Diskussion.
TODO
-----
* label -> Beschriftung
* Abschnitt "Problemstellung" überarbeiten
* Abbildung verlinken
* Algorithmen erklären

View file

@ -18,7 +18,7 @@ gezeigt wird.
\label{alg:DYCOS-structural-hop} \label{alg:DYCOS-structural-hop}
\end{algorithm} \end{algorithm}
Bei inhaltlichen Mehrfachsprüngen ist jedoch nicht sinnvoll so direkt Bei inhaltlichen Mehrfachsprüngen ist jedoch nicht sinnvoll so strikt
nach der Definition vorzugehen, also nach der Definition vorzugehen, also
direkt von einem strukturellem Knoten direkt von einem strukturellem Knoten
$v \in V_t$ zu einem mit $v$ verbundenen Wortknoten $w \in W_t$ zu springen $v \in V_t$ zu einem mit $v$ verbundenen Wortknoten $w \in W_t$ zu springen
@ -30,52 +30,66 @@ Gemeint sein können z.~B. das Bauwerk, das Entwurfsmuster der
objektorientierten Programmierung oder ein Teil des Gehirns. objektorientierten Programmierung oder ein Teil des Gehirns.
Deshalb wird für jeden Knoten $v$, von dem aus man einen inhaltlichen Deshalb wird für jeden Knoten $v$, von dem aus man einen inhaltlichen
Mehrfachsprung machen will folgendes Clusteranalyse durchgeführt: Mehrfachsprung machen will folgende Textanalyse durchgeführt:
\begin{enumerate}[label=C\arabic*),ref=C\arabic*] \begin{enumerate}[label=C\arabic*,ref=C\arabic*]
\item[C1] Gehe alle in $v$ startenden Random Walks der Länge 2 durch \item \label{step:c1} Gehe alle in $v$ startenden Random Walks der Länge $2$ durch
und erstelle eine Liste $L$, der erreichbaren Knoten $v'$. Speichere und erstelle eine Liste $L$ der erreichbaren Knoten $v'$. Speichere
außerdem, durch wie viele Pfade diese Knoten $v'$ jeweils erreichbar sind. außerdem, durch wie viele Pfade diese Knoten $v'$ jeweils erreichbar sind.
\item[C2] Betrachte im folgenden nur die Top-$q$ Knoten, wobei $q \in \mathbb{N}$ \item \label{step:c2} Betrachte im folgenden nur die Top-$q$ Knoten bzgl. der
eine zu wählende Konstante des Algorithmus ist.\footnote{Sowohl für den DBLP, als auch für den Anzahl der Pfade von $v$ nach $v'$, wobei $q \in \mathbb{N}$
CORA-Datensatz wurde in \cite[S. 364]{aggarwal2011} $q=10$ gewählt.} \label{list:aggregate.2} eine zu wählende Konstante des DYCOS-Algorithmus ist.\footnote{Sowohl für den DBLP, als auch für den
\item[C3] Wähle mit Wahrscheinlichkeit $\frac{\Call{Anzahl}{v'}}{\sum_{w \in L} \Call{Anzahl}{v'}}$ CORA-Datensatz wurde in \cite[S. 364]{aggarwal2011} $q=10$ gewählt.}
den Knoten $v'$ als Ziel des Mehrfachsprungs. Diese Knotenmenge heiße im Folgenden $T(v)$ und $p(v, v')$
sei die Anzahl der Pfade von $v$ über einen Wortknoten nach $v'$.
\item \label{step:c3} Wähle mit Wahrscheinlichkeit $\frac{p(v, v')}{\sum_{w \in T(v)} p(v, w)}$
den Knoten $v' \in T(v)$ als Ziel des Mehrfachsprungs.
\end{enumerate} \end{enumerate}
Konkret könnte also ein Inhaltlicher Mehrfachsprung sowie wie in Konkret könnte also ein inhaltlicher Mehrfachsprung sowie wie in
\cref{alg:DYCOS-content-multihop} beschrieben umgesetzt werden. \cref{alg:DYCOS-content-multihop} beschrieben umgesetzt werden.
Der Algorithmus bekommt einen Startknoten $v \in V_T$ und
einen $q \in \mathbb{N}$ als Parameter. $q$ ist ein Parameter der
für den DYCOS-Algorithmus zu wählen ist. Dieser Parameter beschränkt
die Anzahl der möglichen Zielknoten $v' \in V_T$ auf diejenigen
$q$ Knoten, die $v$ bzgl. der Textanalyse am ähnlichsten sind.
In \cref{alg:l2} bis \cref{alg:l5} wird \cref{step:c1} durchgeführt.
In \cref{alg:l6} wird \cref{step:c2} durchgeführt. Bei der
Wahl der Datenstruktur $M_H$ ist zu beachten, dass man in
\cref{alg:21} über Indizes auf Elemente aus $M_H$ zugreifen können muss.
In \cref{alg:l8} bis \cref{alg:l13} wird ein Wörterbuch erstellt,
das von $v' \in T(v)$ auf die relative
Häufigkeit bzgl. aller Pfade von $v$ zu Knoten aus den Top-$q$ abbildet.
In \cref{alg:15} bis \cref{alg:22} wird ein Knoten $v' \in T(v)$ mit
einer Wahrscheinlichkeit, die seiner relativen Häufigkeit am Anteil
der Pfaden der Länge 2 von $v$ nach $v'$ über einen beliebigen
Wortknoten entspricht ausgewählt und schließlich zurückgegeben.
\begin{algorithm} \begin{algorithm}
\caption{Inhaltlicher Mehrfachsprung} \caption{Inhaltlicher Mehrfachsprung}
\label{alg:DYCOS-content-multihop} \label{alg:DYCOS-content-multihop}
\begin{algorithmic}[1] \begin{algorithmic}[1]
\Procedure{InhaltlicherMehrfachsprung}{Knoten $v$} \Procedure{InhaltlicherMehrfachsprung}{Knoten $v \in V_T$, $q \in \mathbb{N}$}
\State \textit{//Alle Knoten bestimmen, die von $v$ aus über Pfade der Länge 2 erreichbar sind} \State $reachableNodes \gets$ defaultdict\label{alg:l2}
\State \textit{//Zusätzlich wird für diese Knoten die Anzahl der Pfade der Länge 2 bestimmt,}
\State \textit{//durch die sie erreichbar sind}
\State $reachableNodes \gets$ defaultdict
\ForAll{Wortknoten $w$ in $v.\Call{getWordNodes}{ }$} \ForAll{Wortknoten $w$ in $v.\Call{getWordNodes}{ }$}
\ForAll{Strukturknoten $x$ in $w.\Call{getStructuralNodes}{ }$} \ForAll{Strukturknoten $x$ in $w.\Call{getStructuralNodes}{ }$}
\State $reachableNodes[x] \gets reachableNodes[x] + 1$ \State $reachableNodes[x] \gets reachableNodes[x] + 1$
\EndFor \EndFor
\EndFor \EndFor\label{alg:l5}
\State \label{alg:l6} $M_H \gets \Call{max}{reachableNodes, q}$ \Comment{Also: $|M_H| = q$, falls $|reachableNodes|\geq q$}
\State \textit{//Im folgenden wird davon ausgegangen, dass man über Indizes wahlfrei auf} \\
\State \textit{//Elemente aus $M_H$ zugreifen kann. Dies muss bei der konkreten Wahl} \State \label{alg:l8} $s \gets 0$
\State \textit{//der Datenstruktur berücksichtigt werden.}
\State $M_H \gets \Call{max}{reachableNodes, q}$ \Comment{Also: $|M_H| = q$, falls $|reachableNodes|\geq q$}
\State \textit{//Dictionary mit relativen Häufigkeiten erzeugen}
\State $s \gets 0$
\ForAll{Knoten $x$ in $M_H$} \ForAll{Knoten $x$ in $M_H$}
\State $s \gets s + reachableNodes[x]$ \State $s \gets s + reachableNodes[x]$
\EndFor \EndFor
\State $relativeFrequency \gets $ Dictionary \State $relativeFrequency \gets $ Dictionary
\ForAll{Knoten $x$ in $M_H$} \ForAll{Knoten $x$ in $M_H$}
\State $relativeFrequency \gets \frac{reachableNodes[x]}{s}$ \State $relativeFrequency \gets \frac{reachableNodes[x]}{s}$
\EndFor \EndFor\label{alg:l13}
\State \textit{//Wähle Knoten $i$ mit einer Wahrscheinlichkeit entsprechend seiner relativen} \\
\State \textit{//Häufigkeit an Pfaden der Länge 2} \State \label{alg:15} $random \gets \Call{random}{0, 1}$
\State $random \gets \Call{random}{0, 1}$
\State $r \gets 0.0$ \State $r \gets 0.0$
\State $i \gets 0$ \State $i \gets 0$
\While{$s < random$} \While{$s < random$}
@ -83,8 +97,8 @@ Konkret könnte also ein Inhaltlicher Mehrfachsprung sowie wie in
\State $i \gets i + 1$ \State $i \gets i + 1$
\EndWhile \EndWhile
\State $v \gets M_H[i-1]$ \State $v \gets M_H[i-1]$ \label{alg:21}
\State \Return $v$ \State \Return $v$ \label{alg:22}
\EndProcedure \EndProcedure
\end{algorithmic} \end{algorithmic}
\end{algorithm} \end{algorithm}

View file

@ -7,10 +7,9 @@ Struktur des Graphen sowie textuelle Informationen, die den Knoten
zugeordnet sind. Die in \cite{aggarwal2011} beschriebene experimentelle zugeordnet sind. Die in \cite{aggarwal2011} beschriebene experimentelle
Analyse ergab, dass er auch auf dynamischen Graphen mit $\num{19396}$ Analyse ergab, dass er auch auf dynamischen Graphen mit $\num{19396}$
bzw. $\num{806635}$ Knoten, von denen nur $\num{14814}$ bzw. $\num{18999}$ bzw. $\num{806635}$ Knoten, von denen nur $\num{14814}$ bzw. $\num{18999}$
beschriftet waren, innerhalb von weniger als einer Minute auf einer beschriftet waren, innerhalb von weniger als einer Minute auf einem
CPU eines Intel Xeon 2.5GHz mit 32G RAM ausgeführt Kern einer Intel Xeon 2.5GHz CPU mit 32G RAM ausgeführt werden kann.\\
werden kann.\\ Zusätzlich wird \cite{aggarwal2011} kritisch Erörtert und
Zusätzlich wird auf Schwächen von \cite{aggarwal2011} hingewiesen und es werden mögliche Erweiterungen des DYCOS-Algorithmus vorgeschlagen.
und mögliche Verbesserungen vorgeschlagen.
\textbf{Keywords:} DYCOS, Label Propagation, Knotenklassifizierung \textbf{Keywords:} DYCOS, Label Propagation, Knotenklassifizierung