Files
Research-Eppsteins-Algorithm/notes.tex
2023-12-07 19:16:54 +01:00

99 lines
3.3 KiB
TeX

%https://ics.uci.edu/~eppstein/pubs/Epp-SJC-98.pdf%
\documentclass[a4paper,10pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[a4paper,margin=2.5cm,footskip=0.5cm]{geometry}
\usepackage[section]{placeins}
% Die nächsten vier Felder bitte anpassen:
\usepackage{lastpage}
% Kopf- und Fußzeilen
\usepackage{scrlayer-scrpage, lastpage}
\setkomafont{pageheadfoot}{\large\textrm}
\lohead{\Aufgabe}
\rohead{Team-ID: \TeamId}
\cfoot*{\thepage{}/\pageref{LastPage}}
% Position des Titels
\usepackage{titling}
\setlength{\droptitle}{-1.0cm}
% Für mathematische Befehle und Symbole
\usepackage{amsmath}
\usepackage{amssymb}
% Für Bilder
\usepackage{graphicx}
% Für Algorithmen
\usepackage{algpseudocode}
% Für Quelltext
\usepackage{listings}
\usepackage{color}
\definecolor{mygreen}{rgb}{0,0.6,0}
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
\definecolor{mymauve}{rgb}{0.58,0,0.82}
\lstset{
keywordstyle=\color{blue},commentstyle=\color{mygreen},
stringstyle=\color{mymauve},rulecolor=\color{black},
basicstyle=\footnotesize\ttfamily,numberstyle=\tiny\color{mygray},
captionpos=b, % sets the caption-position to bottom
keepspaces=true, % keeps spaces in text
numbers=left, numbersep=5pt, showspaces=false,showstringspaces=true,
showtabs=false, stepnumber=2, tabsize=2, title=\lstname
}
\lstdefinelanguage{JavaScript}{ % JavaScript ist als einzige Sprache noch nicht vordefiniert
keywords={break, case, catch, continue, debugger, default, delete, do, else, finally, for, function, if, in, instanceof, new, return, switch, this, throw, try, typeof, var, void, while, with},
morecomment=[l]{//},
morecomment=[s]{/*}{*/},
morestring=[b]',
morestring=[b]",
sensitive=true
}
% Diese beiden Pakete müssen zuletzt geladen werden
%\usepackage{hyperref} % Anklickbare Links im Dokument
\usepackage{cleveref}
% Daten für die Titelseite
\title{
K-Shortest-Path \\
Eppsteins Algorithmus}
\author{Darian L. Tratar}
\date{\LARGE\today}
\begin{document}
\maketitle
\section {Verwendung}
\begin{itemize}
\item Erf\"ullen zus\"atzlicher Bedingungen, die schwer zu optimieren sind
\item L\"osung f\"ur ein NP-Schweres Problem (unterschiedlich markierte Kanten + jede Kante des Weges muss unterschiedlich markiert sein) (siehe Dreyfus und Lawler)
\item Evaluieren eines Modells: $k$ als Ma\ss{}
\item Vieles mehr (komplizierter)
\end{itemize}
\section {Laufzeiten}
$m$ ist die Anzahl der Kanten und $n$ ist die Anzahl der Knoten
\begin{itemize}
\item F\"ur ein Paar von Punkten: $O(m + n \log n + k)$
\item F\"ur ein Punkt zu allen andern Punkten: $O(m + n \log n + kn)$
\item Aufstellen des Shortest-Path-Trees: $O( n \log n)$
\item Gleiche Laufzeit f\"ur alle Wege kleiner als eine gegebene Strecke
\item Dijkstra implementierung von Fox: $O(m + kn \log n)$
\item Mit negativen Kanten ohne negativen Zyklus: $O(mn)$ oder $O(mn^{1/2}\log N)$ mit $N$ als gr\"o\ss{}ter Absolutbetrag der negativen Kanten
\end{itemize}
\section {Basics des Algorithmus}
\begin{itemize}
\item Binary-Heap f\"ur jeden Knoten, der nicht zum shortest-Path-Tree geh\"ort und die von diesem ereicht werden k\"onnen
\item Heaps teilen sich gleiche Teile -> Graph mit $O(m + n\log n)$ Knoten
\item Verbesserung mit Fredericksons tree decomposition techniques
\end{itemize}
\end{document}