usarbeitung angefangen
This commit is contained in:
parent
d04313c4be
commit
97942d5ee1
9
.gitignore
vendored
9
.gitignore
vendored
@ -10,3 +10,12 @@ dist/setup-config
|
||||
*autogen*
|
||||
dist/build/
|
||||
dist/doc/
|
||||
doc/ausarbeitung/hgraph_doc.aux
|
||||
doc/ausarbeitung/hgraph_doc.bbl
|
||||
doc/ausarbeitung/hgraph_doc.bcf
|
||||
doc/ausarbeitung/hgraph_doc.blg
|
||||
doc/ausarbeitung/hgraph_doc.log
|
||||
doc/ausarbeitung/hgraph_doc.out
|
||||
doc/ausarbeitung/hgraph_doc.run.xml
|
||||
doc/ausarbeitung/hgraph_doc.synctex.gz
|
||||
doc/ausarbeitung/hgraph_doc.toc
|
||||
|
8
doc/ausarbeitung/hgraph.bib
Normal file
8
doc/ausarbeitung/hgraph.bib
Normal file
@ -0,0 +1,8 @@
|
||||
@article{Dummy,
|
||||
author = {Dummy},
|
||||
title = {Dummy},
|
||||
subtitle = {Dummy},
|
||||
journaltitle = {Dummy},
|
||||
date = {1929-10-26},
|
||||
hyphenation={USenglish},
|
||||
}
|
BIN
doc/ausarbeitung/hgraph_doc.pdf
Normal file
BIN
doc/ausarbeitung/hgraph_doc.pdf
Normal file
Binary file not shown.
158
doc/ausarbeitung/hgraph_doc.tex
Normal file
158
doc/ausarbeitung/hgraph_doc.tex
Normal file
@ -0,0 +1,158 @@
|
||||
\documentclass[a4paper]{scrartcl}
|
||||
\usepackage{titling}
|
||||
|
||||
% LANGUAGE and LOCALE
|
||||
\usepackage[USenglish,ngerman]{babel} % Deutsches Wörterbuch usw.
|
||||
\newcommand{\en}[1]{\selectlanguage{USenglish}#1\selectlanguage{ngerman}}
|
||||
|
||||
% FONT
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[babel=true]{microtype} % after babel
|
||||
\usepackage{lmodern}
|
||||
%\usepackage{times}
|
||||
\makeatletter
|
||||
\g@addto@macro\@verbatim{\microtypesetup{activate=false}}
|
||||
\makeatother
|
||||
|
||||
% ENUMERATE and ITEMIZE
|
||||
\usepackage{enumerate}
|
||||
\usepackage{paralist}
|
||||
|
||||
% SCIENCE and MATH
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amssymb}
|
||||
\usepackage{icomma}
|
||||
%\usepackage{units}
|
||||
\usepackage{xfrac} % Brüche im Stil von ½ (\sfrac)
|
||||
|
||||
% PROGRAMMING
|
||||
\usepackage{algorithm}
|
||||
\usepackage[noend]{algpseudocode}
|
||||
|
||||
% TABLES
|
||||
%\usepackage{array}
|
||||
%\usepackage{multicol}
|
||||
%\usepackage{dcolumn}
|
||||
%\usepackage{slashbox} % diagonale Linie in Tabellenzelle
|
||||
%\usepackage{tabularx}
|
||||
|
||||
% LINKS and REFS
|
||||
\usepackage[obeyspaces]{url}
|
||||
\usepackage{hyperref}
|
||||
|
||||
% BIBLIOGRAPHY
|
||||
\usepackage[style=german,german=quotes]{csquotes}
|
||||
\usepackage[style=alphabetic,backend=biber,babel=hyphen,maxbibnames=10]{biblatex}
|
||||
%\usepackage[authordate,backend=biber,babel=hyphen]{biblatex-chicago}
|
||||
\bibliography{hgraph.bib}
|
||||
|
||||
% FORMATING
|
||||
\usepackage{anysize} % Makros zum Einstellen der Seitenränder
|
||||
\parindent0em % Keine amerikanische Einrückung am Anfang von Paragraphen
|
||||
\clubpenalty = 10000 % Schusterungen bestrafen
|
||||
\widowpenalty = 10000 % Hurenkinder bestrafen
|
||||
\displaywidowpenalty = 10000
|
||||
|
||||
% math commands
|
||||
\newcommand{\trans}[1]{{#1}^\intercal}
|
||||
\newcommand{\abs}[1]{\left\vert #1 \right\vert}
|
||||
\newcommand{\card}[1]{\left\vert #1 \right\vert} % cardinality
|
||||
\newcommand{\norm}[1]{\left\Vert #1 \right\Vert}
|
||||
|
||||
\newcommand{\setR}{\mathbb{R}}
|
||||
\newcommand{\setN}{\mathbb{N}}
|
||||
|
||||
\DeclareMathOperator*{\argmin}{\arg\min}
|
||||
\DeclareMathOperator*{\argmax}{\arg\max}
|
||||
|
||||
\hyphenation{IEEE} % hyphenation of default language
|
||||
\begin{hyphenrules}{USenglish} % hyphenation of secondary language
|
||||
\hyphenation{IEEE}
|
||||
\end{hyphenrules}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\title{\en{Densely Connected Biclusters}}
|
||||
\author{Stefan Dresselhaus \and Thomas Pajenkamp}
|
||||
\date{\today} % TODO: Abgabedatum
|
||||
\newcommand{\thesemester}{Wintersemester 2013/14}
|
||||
\newcommand{\thecategory}{Programmierprojekt}
|
||||
\newcommand{\thecourse}{Parallele Algorithmen und Datenverarbeitung}
|
||||
|
||||
|
||||
%
|
||||
% Deckblatt
|
||||
%
|
||||
\begin{titlepage}
|
||||
\begin{center}
|
||||
\mbox{}
|
||||
\vspace{1cm}\\
|
||||
{\Huge \textbf{\thetitle}} \\[3em]
|
||||
{\huge \theauthor} \\[4em]
|
||||
{\Large \thecourse}\\[1em]
|
||||
{\Large \thecategory{} im \thesemester}\\[1em]
|
||||
|
||||
\vspace{3cm}
|
||||
|
||||
{\LARGE Universität Bielefeld -- Technische Fakultät}\\[2em]
|
||||
{\large \thedate}
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
%
|
||||
% Inhaltsverzeichnis
|
||||
%
|
||||
%\setcounter{page}{1}
|
||||
\microtypesetup{protrusion=false}
|
||||
\tableofcontents
|
||||
\microtypesetup{protrusion=true}
|
||||
|
||||
%\newpage
|
||||
|
||||
\section{Zielsetzung des Projekts}
|
||||
|
||||
Im Rahmen dieses Programmierprojekts wurde ein Programm entworfen und entwickelt, um \en{Densely Connected Biclusters}, im weiteren DCB, in einem biologischen Netzwerk zu ermitteln. Bei DCB handelt es sich um Teilgraphen eines Netzwerks, dessen Knoten untereinander hoch vernetzt sind und Objekte mit ähnlichen Eigenschaften repräsentieren. \par
|
||||
Die Suche nach DCB ist ein NP-schweres Problem~\cite{Dummy}. Da mit einem geeigneten Algorithmus jedoch voneinander unabhängige Lösungspfade einzeln verfolgt werden können, ist das Problem gut für eine parallele Berechnung geeignet, wodurch die Gesamtlaufzeit stark reduziert werden kann.\par
|
||||
%TODO: Referenz NP-schwer
|
||||
|
||||
%TODO ein bisschen biologische Motivation?
|
||||
|
||||
\en{
|
||||
\subsection{Densely Connected Biclusters}
|
||||
}
|
||||
|
||||
Ausgangsbasis ist ein ungerichteter ungewichteter Graph $G = (V, E)$, dessen Knoten mit $p$ Attributen versehen sind. Jedem Knoten $n$ ist zu jedem Attribut $i$ ein numerischer Wert $a_{ni}$ zugewiesen. \par
|
||||
Ein DCB $D_k = (V_k, E_k)$ ist ein Teilgraph von $G$, der durch die Paramter $\alpha \in [0, 1]$, $\delta \in \setN$ und $\omega \in \setR^p$ beschränkt wird und die folgende drei Eigenschaften erfüllt.
|
||||
\begin{itemize}
|
||||
\item Der Teilgraph ist zusammenhängend.
|
||||
\item Die Dichte des Teilgraphen unterschreitet einen Schwellenwert $\alpha$ nicht, also $\frac{2 \cdot \card{E_k}}{\card{V_k}(\card{V_k}-1)} \geq \alpha$.
|
||||
\item Für mindestens $\delta$ Attribute liegen die Werte aller Knoten des Teilgraphen höchstens $\omega_i$ auseinander. Anders ausgedrückt
|
||||
\begin{equation*}
|
||||
\delta \geq \card{\left\lbrace \sum_{k=1}^p \left(\max_n a_{nk} - \min_n a_{nk}\right) \leq \omega_{k} \right\rbrace}\text{\@.}
|
||||
\end{equation*}
|
||||
\end{itemize}
|
||||
|
||||
\section{Wahl der Programmiersprache}
|
||||
|
||||
Imperativ: Gefahr unerwünschter wechselseitiger Beeinflussung, Gefahr Verklemmung bei Kommunikation\\
|
||||
Funktional: Garantiert keine Nebenwirkung\\
|
||||
Haskell: Pakete zur einfachen Parallelisierung, kaum Änderung des sequentiellen Codes nötig\\
|
||||
zweischneidiges Schwert: Lazy-Evaluation $\rightarrow$ 1) nicht zu viele „Chunks” auf einmal 2) baut große Datenstrukturen, anstatt direkt zu reduzieren, wo das Gesamtergebnis immer benötigt wird (keine Parallelisierungs-Problem, muss man sich aber mit auseinandersetzen)
|
||||
|
||||
|
||||
\section{Der Algorithmus}
|
||||
|
||||
Von Pseudocode rüberkopieren, eventuell anpassen an Details der Programmierung zur besseren Effizienz.
|
||||
|
||||
|
||||
|
||||
\section{Ausführung und Auswertung}
|
||||
Amdahls Gesetz, Minskys Vermutung\\
|
||||
Nach jedem Erweiterungsschritt: Sammeln und Aufgaben neu verteilen $\rightarrow$ Kommunikation
|
||||
|
||||
\section{Fazit}
|
||||
|
||||
\newpage
|
||||
\printbibliography[heading=bibintoc]
|
||||
|
||||
\end{document}
|
Loading…
Reference in New Issue
Block a user