diff --git a/kapitel/ameisen.tex b/kapitel/ameisen.tex index 22219903b7b5239467a9beca28dc1288f5f32e15..260bf7807b2ef52a0266d10622f384280bed86e0 100644 --- a/kapitel/ameisen.tex +++ b/kapitel/ameisen.tex @@ -27,7 +27,7 @@ Den k"urzesten Weg zu finden ist die emergente Eigenschaft. \frac{\tau_{ij}(t)^\alpha \cdot \eta^\beta_{ij}}{\sum\limits_{l \in \text{allowed}_k(t)} \tau_{il}(t)^\alpha \cdot \eta^\beta_{il}} & \text{ falls }j \in \text{allowed}_k(t) \\ % Bild IZ 0 & \text{ sonst} \end{cases} \\ - \eta_{ij} &= \text{ Sichtbarkeit, oft } \eta_{ij} = \frac 1{d_{ij}}. \text{ Heuristischer \emph{problemspezifischer} Wert.} + \eta_{ij} &= \text{ Sichtbarkeit, oft } \eta_{ij} = 1/{d_{ij}}. \text{ Heuristischer \emph{problemspezifischer} Wert.} \end{align*} \footnotetext{verwendet man heuzutage nicht mehr} Die k"unstlichen Ameisen haben ein Ged"achtnis, sie k"onnen sich ihren aktuellen Weg und die beste bislang gefundene Rundreise. Au{\ss}erdem sind sie @@ -47,13 +47,13 @@ $Q_1$ ist eine konstante, die ausdr"uckt, wie viel Pheromon von einer Ameise pro \emph{Ant-quantity:} k"urzere Kanten werden bevorzugt \[ \Delta\tau^{(k)}_{ij} (t, t+1) = \begin{cases} - \frac{Q_2}{d_{ij}} & \text{Ameise $k$ geht von $i$ nach $j$ zwischen $t$ und $t+1$} \\ + {Q_1}/{d_{ij}} & \text{Ameise $k$ geht von $i$ nach $j$ zwischen $t$ und $t+1$} \\ 0 & \text{sonst} \end{cases} \] Um den \glqq Explorationseffekt\grqq\ zu unterst"utzen kann man zus"atzlich einen Schwellwert $Q$ einf"uhren, -anhanddessen mithilfe eines von Ameise $k$ auf Punkt $i$ gew"urfelten Wertes \emph{rnd} bestimmt wird, +anhanddessen, mithilfe eines von Ameise $k$, auf Punkt $i$, gew"urfelten Wertes \emph{rnd}, bestimmt wird, ob die Ameise $p_{ij}^{(k)}(t)$ zum Punktwechsel verwendet, oder einen anderen Punkt besucht. \\\\ % \begin{ttfamily} @@ -69,7 +69,7 @@ Problem: nach $n$ Iterationen hat jede Ameise eine Tour, die \glqq Beste\grqq{} \begin{align*} L^{(k)} &= \text{ L"ange der bislang besten Tour der Ameise }k \\ \Delta\tau^{(k)}_{ij} (t, t+n) &= \begin{cases} - \frac{Q_2}{L^{(k)}} & \text{falls Ameise $k$ auf ihrer Tour $\{i,j\}$ benutzt} \\ + \frac{Q_1}{L^{(k)}} & \text{falls Ameise $k$ auf ihrer Tour $\{i,j\}$ benutzt} \\ 0 & \text{sonst} \end{cases} \end{align*} diff --git a/kapitel/ea.tex b/kapitel/ea.tex index 866c67af70e08f8f9f356e696dcffc7fb625ab6e..2e43e23ee8fc10a9d2937eb7cbb73f1a33ba81fa 100644 --- a/kapitel/ea.tex +++ b/kapitel/ea.tex @@ -1,6 +1,6 @@ \section{Evolution"are Algorithmen} \begin{itemize} - \setlength\itemsep{0.5em} + \setlength\itemsep{0.1em} \item \emph{Population} von \emph{Individuen} \item Reproduktion durch \emph{Vererbung} und \emph{Mutation} (neue Individuen aus den alten erzeugen) \item Selektionsprinzip @@ -24,7 +24,7 @@ Populationsgr"o"se $\mu$, Zahl der Nachkommen $\lambda$ und Zielfunktion $F$\\ \STATE $P''$ := erschaffe durch \emph{Rekombination} $\lambda$ Nachkommen aus $P'$ \STATE $P'''$ := mutiere die Nachkommen in $P''$ mittels \emph{Mutationsoperator}\footnotemark \STATE bewerte die Nachkommen mit Eval$_F(P''')$ - \STATE $P(t+1)$ := selektiere $\mu$ Individuen aus $P(t) \cup P'''$ mit Selektionsoperator\footnotemark + \STATE $P$(t+1) := selektiere $\mu$ Individuen aus $P$(t) $\cup$ $P'''$ mit Selektionsoperator\footnotemark \STATE t := t+1 \ENDWHILE \STATE gib bestes Idividuum aus @@ -101,43 +101,50 @@ Hillclimber, d.h. die Folge $\pi_0, \pi_1,..$ wird nie schlechter. \\\\ % \emph{Satz}: Die erwartete Anzahl an Auswertungen $f(\pi)$ des (1 + 1) EA f"ur $f \in \{\text{INV},\text{HAM}, \text{LAS} \}$ ist mindestens $\Omega(n^2)$. \\\\ % -\emph{Beweis}: Die Wahrscheinlichkeit, dass die erste gew"ahlte Permutation sortiert ist, ist $\frac 1{n!}$. \\ +\emph{Beweis}: Die Wahrscheinlichkeit, dass die erste gew"ahlte Permutation sortiert ist, ist $1/{n!}$. Die Permutation ist sortiert, wenn im letzten Schritt der Mutation die sortierte Folge erzeugt wird. Es gibt h"ochstens \emph{zwei} Paare, die das tun, und das je m"oglicher Operation. Erfolgswahrscheinlichkeit: $\frac 12 \cdot \frac{2}{n(n-1)} \cdot 2$ \\ $\Rightarrow \text{ E}[t] \ge \frac 12 n(n-1) = \Omega(n^2) \qquad \square$ \\\\ % -\emph{Satz}: Die erwartete Anzahl an Auswertungen $f(\pi)$ des (1+1) EA f"ur $f \in \{\text{INV},\text{HAM}\}$ ist h"ochstens $\mathcal O(n^2 \log n)$. +\emph{Satz}: Die erwartete Anzahl an Auswertungen $f(\pi)$ des (1+1) EA f"ur $f \in \{\text{INV},\text{HAM},\text{LAS}\}$ ist h"ochstens $\mathcal O(n^2 \log n)$. \paragraph{Beweis f"ur f = INV} \ \\\\ Sei $(i,j)$ ein Indexpaar mit $i < j$ und $\pi(i) > \pi(j)$ \\ -Sei $a$ die Anzahl der Schl"ussel an den Positionen $i+1, \dots, j-1$, die kleiner als $\pi(j)$ sind. \\ -Sei $b$ die Anzahl der Schl"ussel an den Positionen $i+1, \dots, j-1$, die zwischen $\pi(j)$ und $\pi(i)$ liegen. \\ -Sei $c$ die Anzahl der Schl"ussel an den Positionen $i+1, \dots, j-1$, die gr"o\ss er als $\pi(i)$ sind. \\ +Sei $a$ die Anzahl der Schl"ussel an den Positionen $i+1, \ldots, j-1$, die kleiner als $\pi(j)$ sind. \\ +Sei $b$ die Anzahl der Schl"ussel an den Positionen $i+1, \ldots, j-1$, die zwischen $\pi(j)$ und $\pi(i)$ liegen. \\ +Sei $c$ die Anzahl der Schl"ussel an den Positionen $i+1, \ldots, j-1$, die gr"o\ss er als $\pi(i)$ sind. % +\paragraph{Beispiel} +$(\pi(i) := 7~\underbrace{9~8~10}_{c=3}~\underbrace{6}_{b=1}~\underbrace{3~4}_{a=2}~5 =: \pi(j))$\\ \begin{addmargin}{0.5cm} - \texttt{exch}(i,j) vergr"o\ss ert die Zielfunktion um $2b+1$ \\ - \texttt{jump}(i,j) "andert die Zielfunktion um $a+b-c+1$ \\ - \texttt{jump}(j,i) "andert die Zielfunktion um $-a+b+c+1$ + \texttt{exch}(i,j) vergr"o\ss ert den Wert der Zielfunktion um $2b+1$ \\ + \texttt{jump}(i,j) "andert den Wert um $a+b-c+1$ \\ + \texttt{jump}(j,i) "andert den Wert um $-a+b+c+1$ \begin{addmargin}{0.5cm} $\to$ mindestens einer der Werte \texttt{jump}(i,j), \texttt{jump}(j,i) ist positiv. \end{addmargin} \end{addmargin} \ \\ % -Mindestens um 1 wird die Zielfunktion verbessert, falls genau \emph{eine} lokale Operation erfolgreich ausgef"uhrt wird, [genau eine lokale Operation hei\ss t S=0; $Pr[S=0] = \frac 1e$] und diese Operation ist \texttt{exch}(i,j) oder \texttt{exch}(j,i) [$\frac{2}{n(n-1)} \cdot \frac 12$ Wahrscheinlichkeit] oder die Operation ist die \grqq gute\grqq{} von \texttt{jump}(i,j) und \texttt{jump}(j,i) [Wahrscheinlichkeit $\frac 2{2n(n-1)} \cdot \frac 12$] +Mindestens um 1 wird der Wert verbessert, falls genau \emph{eine} lokale Operation ausgef"uhrt wird, +[bei $S=0 \text{ mit Wahrscheinlichkeit } \frac 1e$] \emph{und} diese Operation ist \texttt{exch}$(i,j)$ oder \texttt{exch}$(j,i)$ +$\left[ \frac 12 \cdot \frac{1}{\binom n2} = \frac{2}{n(n-1)} \cdot \frac 12 = \frac{1}{n(n-1)}\right]$ oder +die Operation ist die \glqq gute\grqq{} von \texttt{jump}$(i,j)$ und +\texttt{jump}$(j,i)$ $\left[ \frac{1}{2} \cdot \frac 12 \cdot \frac {1}{ \binom n2} =\frac{}{2 \cdot n(n-1)} \right]$ -Ist die Anzahl der falschherum stehenden Paare $m$, so ist die Wahrscheinlichkeit, den Wert der Zielfunktion zu verbessern mindestens +Ist die Anzahl der falschherum stehenden Paare $m$ (das hei{\ss}t $m$ \emph{Inversionen}), +so ist die Wahrscheinlichkeit, den Wert der Zielfunktion zu verbessern mindestens \[\frac 1e \cdot m \cdot \left(\frac 1{n(n-1)} + \frac 1{2n(n-1)}\right) = \frac {3m}{2n(n-1)e}\] -$\Rightarrow \frac 23 \cdot \frac 1m \cdot e \cdot n(n-1)$ erwartete Schritte, um den Wert der Zielfunktion zu verbessern. \\ -$\Rightarrow E[t] \le \sum\limits_{m=1}^{\frac 12 n(n-1)} \frac 23 \cdot \frac 1m \cdot e \cdot n(n-1) \le \frac 23 \cdot e \cdot n^2 \cdot \underbrace{\sum\limits_{m=1}^{\frac 12 n(n-1)} \frac 1m}_{\text{Harmonische Reihe}, \le \ln(\frac 12 n(n-1)) + 1} = \mathcal O( n^2 \cdot \log n)$ +$\Rightarrow \frac 23 \cdot \frac 1m \cdot e \cdot n(n-1)$ erwartete Schritte, um den Wert um 1 zu verbessern. \\ +$\Rightarrow \text E[t] \le \sum\limits_{m=1}^{\frac 12 n(n-1)} \frac 23 \cdot \frac 1m \cdot e \cdot n(n-1) \le \frac 23 \cdot e \cdot n^2 \cdot \underbrace{\sum\limits_{m=1}^{\frac 12 n(n-1)} \frac 1m}_{\text{Harmonische Reihe}, \le \ln(\frac 12 n(n-1)) + 1} = \mathcal O( n^2 \cdot \log n)$ % \paragraph{Beweis f"ur f = HAM} \ \\\\ % -Ist $HAM(\pi_t) = k$, stehen $n-k$ Schl"ussel an falschen Stellen.\\ +Ist $\texttt{HAM}(\pi_t) = k$, stehen $n-k$ Schl"ussel an falschen Stellen.\\ Ist der Schl"ussel $i$ an Position $j$ ($\pi_t(j) = i$), $i \neq j$ ist auch der Schl"ussel an Position $i$ an der falschen Stelle. \texttt{exch}(i,j) und \texttt{exch}(j,i) verbessen den Wert der Zielfunktion um mindestens 1. \\ $\Rightarrow$ es gibt mindestens $n-k$ \glqq gute\grqq{} \texttt{exch}-Operationen. \\ -$\Rightarrow$ Rechnung wie gerade eben: $E[t] \ge 2 en^2 \cdot \sum\limits_{k=1}^n \frac 1k = \mathcal O(n^2 \log n) \qquad \square$ +$\Rightarrow$ Rechnung wie gerade eben: $E[t] \leq 2 en^2 \cdot \sum\limits_{k=1}^n \frac 1k = \mathcal O(n^2 \log n) \qquad \square$ % \paragraph{Beweis f"ur f = LAS} \ \\\\ % @@ -161,7 +168,7 @@ $\Rightarrow$ Wahrscheinlichkeit f"ur Verbesserung: $\frac {n-k}{2en(n-1)}$ \\ $\Rightarrow$ Erwartete Wartezeit f"ur n"achste Verbesserung: $\frac {2en(n-1)}{n-k}$ \\ $\Rightarrow$ Erwartete Gesamtlaufzeit: $\sum\limits_{k=1}^{n-1} \frac {2en(n-1)}{n-k} = 2en(n-1) \sum\limits_{k=1}^{n-1} \frac 1l = \mathcal O(n^2 \log n)$ -\subsubsection{Selektionsverfahren} +\subsection{Selektionsverfahren} \paragraph{Turnierselektion} \begin{itemize} diff --git a/kapitel/peer2peer.tex b/kapitel/peer2peer.tex new file mode 100644 index 0000000000000000000000000000000000000000..03d03a80c02705ab264e2e9876ce224806caf75c --- /dev/null +++ b/kapitel/peer2peer.tex @@ -0,0 +1,67 @@ +\section{Peer-to-Peer-Netzwerke} + +\paragraph{Historie} +\begin{itemize} + \item 2004 besteht ein gro"steil des Traffics aus Filesharing. + \item Erstes derartiges Netzwerk: \emph{Napster} + \begin{itemize} + \item Ein zentralen Server der "uber alle Clients und alle Daten bescheid wei"s + \item Client schickt Anfrage an Server, Clients haben die Daten + \item Daten"ubertragung geht direkt "uber Clients + \item Skaliert schlecht, fehleranf"allig + \item Damit eigentlich kein P2P Netz, au"ser dem eigentlichem Download + \end{itemize} + \item \emph{Gnutella} soll Probleme von Napster l"osen und funktioniert ohne zentrale Strukturen + \begin{itemize} + \item Ist paretoverteilt: von $2$ bis $n$, dann haben $2$ ingesamt $\frac{1}{2}$ (H"alfte) + Anteil, die $n$ dann $\frac{1}{n}$\footnote{Die reichsten 10\% haben 90\% des Geldes} + \item Anfragen haben immer ein TTL, damit sie nicht zu lokal bleiben (\glqq 3 ist ein vern"uftiger Wert\grqq) + \item Flooding: Netzwerk wird mit Anfragen geflutet, ist zum gro"sen Teil nur noch damit anstelle von + Download besch"aftigt (Asynchronit"at: Download bereits stattgefunden, es kommen trotzdem noch Antworten + von anderen zur"uck) + \item Small world hypothesis: Experiment aus den USA bei denen Pakete nicht "uber die Post "uber die ganze + Welt verschickt werden sollten, mit der Anweisung \glqq gib das jemanden den du kennst \glqq. Die meisten Pakete + kamen innerhalb vom $5$ Hops an (daher TTL von $3$) + \item Verbesserungen: Random walks (Zeit vs. Anzahl der Anfragen) und Caching (entlang den Pfaden vorherige + Antworten speichern. Ackermann: eine L"osung f"ur passive Replikate) + \item Weiteres Problem: keine Struktur in der Datenablage (eine \glqq Nein \grqq Antwort muss nicht + unbedingt stimmen, wurde das ganze Netz durchsucht?) + \end{itemize} +\end{itemize} + +\paragraph{DHT} +\begin{itemize} + \item Wenn nur die Daten gehasht werden, gibt es Probleme wenn Peers hinzukommen oder gehen + \item Daher auch noch die Peers hashen +\end{itemize} + +\paragraph{Gradoptimierte Netzwerke} +\begin{itemize} + \item M"oglich: konstanter Grad, log. Durchmesser. Bsp: $n = 15$ Knoten, Durchmesser: $6 =2(\log(n+1)-1)$ + \item Problem mit B"aumen: es gibt Hotspots die nicht ausfallen dr"urfen + \item Besser \emph{Butterfly-Graph} was hotspots angeht, daf"ur schlechter wenn sich Peers spontan anmelden und abmelden wollen, + da immer eine bestimmte Anzahl gebraucht wird um eine neue Schicht erstellen zu k"onnen (Problem der Skalierbarkeit) + \item \emph{Viceroy} (eine Schmetterlingsart) + \item Besser als $\log$ Durchmesser kann man mit konstantem Grad nicht werden + \item Bei CAN war Durchmesser $\mathcal{O}(n^{\frac{1}{2}})$, Viceroy kann das in $\log(n)$ + \item Wrap-around-Kanten: die untersten Knoten gibt es eigentlich nicht, es sind die selben wie oben (so aber leichter zu + zeichnen). Dadurch hat jeder Knoten Grad $4$ (Beispiel siehe Folien) + \item Konstruktion Butterfly-Graphen: siehe Bild + \begin{itemize} + \item Jeder Knoten hat einer Adresse, $i$ f"ur das Level und ein bitstring der die Spalte angibt + \item Erst mal alle vertical verbinden (mit wrap around) + \item Danach im bitstring das $i$te Bit flippen und mit dem Knoten im n"achsten level verbinden + \end{itemize} + \item Wenn man von \texttt{000} nach \texttt{111} will, muss man nach und nach die Bits korrigieren, d.h. + \texttt{000}$\to$\texttt{100}$\to$\texttt{110}$\to$\texttt{111} ("uber Kreuzkanten) + \item Aufbau Viceroy: + \begin{itemize} + \item R"uckgrad: levels (Knoten die in Kreisen zusammengeschlossen sind) + \item Neuer Knoten w"ahlt erstmal ein level + \item Ein Ring der alle Knoten verbindet + \item Butterfly Netzwerk zwischen den levels + \item Falls ein Knoten in einem level nicht gefunden wird, dann kommen die Kreise ins Spiel + (da nochmal Datenstruktur dr"uber packen die daf"ur sorgt, dass immer ein weiteres Element gefunden + wird) + \end{itemize} +\end{itemize} diff --git a/kapitel/websuche_datamining.tex b/kapitel/websuche_datamining.tex index 5c192512eb20d71908dab9fe281266fcd5d74d85..845a2940e6cff46461a9aa51bee994a3958ed5a6 100644 --- a/kapitel/websuche_datamining.tex +++ b/kapitel/websuche_datamining.tex @@ -42,14 +42,14 @@ Gib allen Seiten, die den Suchstring $\sigma$ enthalten aus, und die, auf die am \item[$\to$] popul"are Seiten, die h"aufig verlinkt, werden zu Autorit"aten zu allen Themen \item[$\to$] \glqq gute \grqq Seiten brauchen $\sigma$ ja gar nicht zu enthalten (audi.de--Problematik) \end{itemize} -Hier f"ur uns: es gibt \underline{Autorit"aten} und die, die sie kennen. (Autorit"aten f"ur Autorit"aten, \underline{Hubs} +Hier f"ur uns: es gibt \emph{Autorit"aten} und die, die sie kennen. (Autorit"aten f"ur Autorit"aten, \emph{Hubs} \footnote{Nabe, wie das Zentrum von einem Rad mit vielen Speichen, z.B. beim Fliegen erst mal zu einem gro"sen Flughafen, vor dort aus weiter}) \\ \subsubsection{HITS-Algorithmus} Wie identifiziert man \emph{Autorit"aten} und \emph{Hubs}? (bzw. wie misst man diese?) -\paragraph{Achtung:} \underline{Clustering} ist etwas anderes, z.B. die Trennung von Seiten, die z.B. \glqq echte Schl"ussel\grqq{} meinen von denen, +\paragraph{Achtung:} \emph{Clustering} ist etwas anderes, z.B. die Trennung von Seiten, die z.B. \glqq echte Schl"ussel\grqq{} meinen von denen, die Kryptographie meinen, oder Fenster von Windows (vor allem im Englischen) \\ Vorstellung des HITS\footnote{Hypertext-Induced Topic Search}-Algorithmus von Kleinberg \\ @@ -77,17 +77,18 @@ auf sie zeigt. \begin{algorithmic}[1] \STATE $S_\sigma$ := $R_\sigma$ \FORALL{$p \in R_\sigma$} - \STATE $S_\sigma$ := $S_\sigma \cup \Gamma^{+} (p)$\footnote{Menge der Nachbarseiten von $p$ (Seiten, auf die $p$ zeigt), $\Gamma^-(p) sind - Seiten, die auf $p$ zeigen$} + \STATE $S_\sigma$ := $S_\sigma \cup \Gamma^{+} (p)$\footnotemark \IF{$ \lvert \Gamma^-(p) \rvert \leq d$} \STATE $S_\sigma := S_\sigma \cup \Gamma^-(p)$ \ELSE - \STATE $S_\sigma := S_\sigma \cup d$ (zufaellig aus $\Gamma^-(p)$ ausgewaehlte Seiten\footnote{nennt sich Sampling}) + \STATE $S_\sigma := S_\sigma \cup d$ (zufaellig aus $\Gamma^-(p)$ ausgewaehlte Seiten\footnotemark) \ENDIF \ENDFOR \end{algorithmic} \end{ttfamily} \end{algorithm} +\footnotetext{Menge der Nachbarseiten von $p$ (Seiten, auf die $p$ zeigt), $\Gamma^-(p) sind Seiten, die auf $p$ zeigen$} +\footnotetext{nennt sich Sampling} (Kleinbergs Experimente von 1999: $t = 200,\; d = 500$, $S_\sigma \approx 1000$ bis $5000$ Seiten) @@ -95,28 +96,28 @@ auf sie zeigt. \begin{itemize} \setlength\itemsep{0.1em} \item l"osche interne (bzgl. Domain) Links (Navigationslinks) - \item erlaube \underline{aus} einer Domain nur $m$ (ca. $4$ bis $8$) Links \underline{auf} eine Seite + \item erlaube \emph{aus} einer Domain nur $m$ (ca. $4$ bis $8$) Links \emph{auf} eine Seite (wegen: \glqq diese Seite wurde erstellt von...\grqq) \end{itemize} \begin{multicols}{2} \input{imgs/2_2_hits_result.tex} \vfill \columnbreak - Nun: Unterscheidung zwischen relevanten und blo"s popul"aren. Jetzt auch (iii)\\ + Nun: Unterscheidung zwischen relevanten und blo"s popul"aren. Jetzt auch (iii). Schon auf $S_\sigma$ ist die Sortierung nach dem Eingangsgrad recht gut, im Gegensatz zum Gesamtgraphen. \end{multicols} -\underline{Autorit"at berechnen} +\emph{Autorit"at berechnen} Seiten mit gro\ss er Autorit"at zur Anfrage $\sigma$ sollten nicht nur gro\ss en Eingangsgrad haben; -diejenigen, die auf sie zeigen, sollten sich erheblich "uberlappen; \underline{Hubs} \\ +diejenigen, die auf sie zeigen, sollten sich erheblich "uberlappen; \emph{Hubs} \\ Hubs und Autorit"aten verst"arken sich gegenseitig. \\ -\underline{Jede} Seite $p$ hat ein Autorit"atsgewicht $x^{\langle p \rangle}$, je gr"o{\ss}er, umso besser geeignet als Autorit"at auf $\sigma$. +\emph{Jede} Seite $p$ hat ein Autorit"atsgewicht $x^{\langle p \rangle}$, je gr"o{\ss}er, umso besser geeignet als Autorit"at auf $\sigma$. Jede Seite $p$ hat ein Hubgewicht $y^{\langle p \rangle}$, je gr"o{\ss}er, umso wertvoller als Autorit"at f"ur Autorit"aten bez"uglich $\sigma$ ist $p$. \begin{tabular}{ll} -Je gr"o\ss er der & $x$-Wert, um so besser zu $\sigma$ passt die Seite. \\ - & $y$-Wert, ein um so besserer Hub liegt vor. +Je gr"o\ss er der & $x$-Wert, umso besser passt die Seite zu $\sigma$. \\ + & $y$-Wert, ein um so besserer Hub liegt vor. \end{tabular} \allowdisplaybreaks @@ -148,7 +149,6 @@ Nun gilt: $\sum\limits_{p \in S_\sigma} (x^{\langle p \rangle})^2 = 1$ und $\sum \STATE $x^{\langle p \rangle} := \sum\limits_{q:\, (p \to q)} y^{\langle p \rangle}$ \STATE $y^{\langle p \rangle} := \sum\limits_{q:\, (p \to q)} x^{\langle p \rangle}$ \STATE normiere x und y auf 1 - \STATE gib die Seite(n) auf mit h"ochster Autorit"at in $x$ \ENDFOR \end{algorithmic} \end{ttfamily} @@ -170,28 +170,29 @@ Da $AA^T$ und $A^TA$ symmetrisch: alle Eigenwerte reell. Wegen der Normierung ko von $A^TA$ und $y \text{ gegen den von } AA^T$, d.h. dem Eigenvektor, der zum gr"o{\ss}ten Eigenwert geh"ort und L"ange 1 hat. \hfill$\square$\\ Experimente zeigen: $k \approx 20$ bis $30$ reicht aus (Expander: relativ gro\ss e Teilmenge von Knoten hat viele Nachbarn au\ss erhalb der Knotenmenge). -$S_\sigma$ ist Teil des WWW, und der WWW-Graph \underline{ist} ein Expander. +$S_\sigma$ ist Teil des WWW, und der WWW-Graph \emph{ist} ein Expander. \noindent -\underline{Literatur}: Jon M. Kleinberg: Authoritative Sources in a Hyperlinked Environment, J.ACM 1999 % TODO: wohin das? +\emph{Literatur}: Jon M. Kleinberg: Authoritative Sources in a Hyperlinked Environment, J.ACM 1999 % TODO: wohin das? \subsubsection{PageRank} -Eine Alternative zum Hits-Algorithmus ist der PageRank-Algorithmus. \\ -% -\begin{ttfamily} -Initialisiere die Relevanz der Seiten auf $\frac 1{\text{Anzahl Seiten}}$ \\ -W"ahle $d$, zB $d = \frac 45$ \\ -while kein Terminierungskriterium erf"ullt do - \begin{addmargin}{0.5cm} - for all Seiten S do - \begin{addmargin}{0.5cm} - Neue Relevanz von S ist $\frac{1-d}{\text{Anzahl Seiten}} + d \cdot \sum\limits_{\forall R: (R,S) \in E} \frac{\text{Relevanz von R}}{\text{Ausgangsgrad von R}}$ - \end{addmargin} - end for - \end{addmargin} -end while -\end{ttfamily} +Eine Alternative zum Hits-Algorithmus ist der PageRank-Algorithmus. + +\begin{algorithm}[H] + \caption{\texttt{PageRank}} + \begin{ttfamily} + \begin{algorithmic}[1] + \STATE Initialisiere die Relevanz der Seiten auf $\frac 1{\text{Anzahl Seiten}}$ + \STATE W"ahle $d$, zB $d = 4/5$ + \WHILE{Terminierungskriterium nicht erf"ullt} + \FORALL{Seiten S} + \STATE Neue Relevanz von S ist $(1-d) \cdot \frac{1}{\text{Anzahl Seiten}} + d \cdot \sum\limits_{\forall R: (R,S) \in E} \frac{\text{Relevanz von R}}{\text{Ausgangsgrad von R}}$ + \ENDFOR + \ENDWHILE + \end{algorithmic} + \end{ttfamily} +\end{algorithm} \subsubsection{Zentralit"atsma\ss e} @@ -200,18 +201,18 @@ end while \[C_D(e) = \frac{\text{deg}(e)}{n-1}\] Wobei deg$(e)$ den Grad des Knotens beschreibt (Anzahl der Nachbarn). \\ -\underline{Bedeutung}: Je mehr Nachbarn ein Knoten $e$ hat, desto wichtiger ist $e$. +\emph{Bedeutung}: Je mehr Nachbarn ein Knoten $e$ hat, desto wichtiger ist $e$. \paragraph{Betweeness Centrality} \[C_B(e) = \frac{2}{(n-1)(n-2)} \cdot \sum\limits_{s\neq e\neq t, t\neq s} \frac{\sigma_{st}(e)}{\sigma_{st}}\] $\sigma_{st}$ beschreibt die Anzahl der k"urzesten Wege von $s$ nach $t$, $\sigma_{st}(e)$ beschreibt die Anzahl derer, die dabei "uber $e$ verlaufen. \\ -\underline{Bedeutung}: Je mehr Bekanntschaften 'direkt' "uber einen Knoten $e$ verlaufen, desto wichtiger ist $e$. +\emph{Bedeutung}: Je mehr Bekanntschaften 'direkt' "uber einen Knoten $e$ verlaufen, desto wichtiger ist $e$. \paragraph{Closeness Centrality} \[C_C(e) = \frac{\sum\limits_{t\neq e}\text{dist}(e,t)}{n-1}\] dist$(e,t)$ bezeichnet hier die L"ange des k"urzesten Pfades zwischen $e$ und $t$. \\ -\underline{Bedeutung}: Je 'direkter' viele Leute einen Knoten $e$ kennen, desto wichtiger ist $e$. +\emph{Bedeutung}: Je 'direkter' viele Leute einen Knoten $e$ kennen, desto wichtiger ist $e$. diff --git a/lecture_notes.pdf b/lecture_notes.pdf index a990d4b4707f173c32f10448a19ea8f793f76550..c162945ee0dd44ff26f9d2bcff1e083098ed36e9 100644 Binary files a/lecture_notes.pdf and b/lecture_notes.pdf differ diff --git a/lecture_notes.tex b/lecture_notes.tex index d43bb73a9ee0c8449f632e33c389989888babb94..3031cab5afcc8946d419314ab1c45c2c654dfa29 100644 --- a/lecture_notes.tex +++ b/lecture_notes.tex @@ -49,5 +49,6 @@ \input{kapitel/websuche_datamining} \input{kapitel/ameisen} \input{kapitel/ea} +\input{kapitel/peer2peer} \ifthenelse{\boolean{englishDocument}}{}{ \renewcommand{\bibname}{Literatur} } \end{document}