Projekt 2: Algorithms to identify clusters of similar objects in

Liste over førsteårsprojekter
Projekt 2: Algorithms to identify clusters of similar objects in
biomedical data
Vejleder:
Institut:
Praktisk del:
Gruppeplacering:
Gruppestørrelse:
Kommentar:
Henvendt til:
Nøgleord:
Christian Wiwie, [email protected]
Institut for Matematik og Datalogi
Programming skills not required, but recommended
IMADA at campus
Mindst 3 og maks 5 deltagere. To grupper kan arbejde med projektet.
Ingen
Projektet tilbydes til naturvidenskab, biologi og datalogi studerende.
Algorithms, Clustering, Groups, Similarity, Computational Biology
Beskrivelse
Technological advances in many scientific areas lead to an increasingly large number of data sets
and also to individual data sets of larger size. This trend is also present in the biomedical area,
where new biotechnological discoveries lead to more sensitive ways to analyze complex biological
systems such as the human cell. No scientist today can analyze these data amounts manually
anymore, which is why they are strongly assisted by software specifically designed to analyze
biomedical data in various ways. Often, such software is based on algorithms for formalized
Computer Science problems, which can be applied to but are not limited to biomedical data. One
such class of algorithms are clustering methods that belong to the field of unsupervised learning.
They assist scientists in getting an overview over their data and based on these in suggesting
reasonable (and expensive) follow-up experiments.
Assuming, that a data set is a collection of data for a set of objects, clustering approaches identify
groups (called clusterings) of similar objects (e.g. genes, proteins, patients, …) in such a data set.
Clustering approaches are utilized in many different scientific fields, which all define the “similar” in
“groups of similar objects” slightly differently. Thus, there is no unique definition of the Clustering
Problem and many clustering tools exist that identify different clusterings for the same data set. The
same holds for the validation of the identified clusterings. Various mathematically defined indices
exist to measure how well an identified clustering separates the objects of the data sets into distinct
groups.
Tasks:
Study the mathematical models and algorithms behind Clustering Algorithms
Become familiar with available clustering software tools (e.g. k-Means, Hierarchical
Clustering) and ways to validate the clusterings produced by these tools.
Apply the acquired knowledge to analyze biomedical data sets of a particular disease or
biological function.
Minikurser
Obligatorisk: Introduktion til projektarbejde på IMADA, Rapportskrivning med LaTeX,
Posterfremstilling med LaTeX, Naturvidenskabelig informationskompetence
Litteratur
M. R. Anderberg. Cluster Analysis for Applications. Academic Press, 1973.
Anil K. Jain and Richard C. Dubes. Algorithms for clustering data. Prentice-Hall, Inc., Upper Saddle
River, NJ, USA, 1988.
Side 4 / 98
Liste over førsteårsprojekter
Projekt 3: Analysis and Performance Evaluations of Big Data Tools
Vejleder:
Institut:
Praktisk del:
Gruppeplacering:
Gruppestørrelse:
Kommentar:
Henvendt til:
Nøgleord:
Ahmed Khan Leghari, Kasper Grud Skat Madsen
Institut for Matematik og Datalogi
Programming
IMADA
Mindst 3 og maks 5 deltagere. To grupper kan arbejde med projektet.
Projektet er særligt velegnet til studieordning i datalogi
Projektet tilbydes til naturvidenskab, biologi og datalogi studerende.
Big data, Parallel and distributed processing
Beskrivelse
Due to the exponential growth of data, many new applications together with appropriate big data
processing tools are currently explored. The applications involving big data are often about
extracting knowledge that can add value for companies.
The students who would like to work on the aforementioned topic will be involved in the collection,
normalization, processing and presentation of large data sets using at least two big data processing
tools of their choice, such as Apache Storm [1] and Hadoop [2]. The student will approach any
real-life, big data problem using these tools and learn the setting, complexity, user-friendliness,
resource consumption, fault tolerance, process of information extraction, domain suitability, and
other features of the tools.
This project will give students a fundamental experience to work with cutting edge big data tools
used in the computing industry.
Minikurser
Obligatorisk: Introduktion til projektarbejde på IMADA, Rapportskrivning med LaTeX,
Posterfremstilling med LaTeX, Naturvidenskabelig informationskompetence
Litteratur
[1]. https://storm.apache.org/
[2]. http://hadoop.apache.org/
Side 5 / 98
Liste over førsteårsprojekter
Projekt 28: Graf-transformation
Vejleder:
Institut:
Praktisk del:
Gruppeplacering:
Gruppestørrelse:
Kommentar:
Henvendt til:
Nøgleord:
Jakob Lykke Andersen, [email protected]
Institut for Matematik og Datalogi
Evt. programming og modellering
IMADA
Mindst 3 og maks 5 deltagere. To grupper kan arbejde med projektet.
Projektet er særligt velegnet til studieordning i datalogi.
Projektet tilbydes til naturvidenskab, biologi og datalogi studerende.
grafer, graf-transformation, enumerering, (del)graf-isomorfi
Beskrivelse
Grafer kan bruges som modeller i mange forskellige
sammenhænge, eksempelvis til at repræsentere vejnet,
molekyler eller kode til software. Graf-transformation er når
man ved brug af forudbestemte regler finder mønstre i
grafer og erstatter dem med nye delgrafer. Eksempelvis kan
nogle optimeringer af kode beskrives som transformationer
af kode-grafen, og kemiske reaktioner kan beskrives som
omskrivninger af molekyle-grafer. Ligeledes kan man også
modellere visse spil ved at udtrykke et træk i spillet som
transformationsregler.
Som et eksempel på et umiddelbart simpelt problem kan vi
spørge: hvor mange forskellige grafer kan vi få ved at fjerne præcis 4 kanter fra den viste graf, når
der ikke tages højde for positionen af knuderne? På grund af symmetrier kan svaret (26) være
besværligt at finde.
Projekt omhandler den generelle brug af graf-transformation til beregninger, og algoritmer relateret
til implementeringen af programmer til graf-transformation. I starten af projektet vil der være en kort
introduktion til et program der kan benyttes til graf-transformation, og det vil derefter være muligt at
arbejde med både praktiske aspekter, eksempelvis modellering af problemer, og mere teoretiske
aspekter, ekempelvis algoritmer til at finde delgrafer (delgraph-isomorfi) og checke om to grafer er
ens (graf-isomorfi).
Minikurser
Obligatorisk: Introduktion til projektarbejde på IMADA, Posterfremstilling med LaTeX,
Rapportskrivning med LaTeX, Naturvidenskabelig informationskompetence
Litteratur
http://en.wikipedia.org/wiki/Graph_rewriting
Et graf-transformationsspil: http://www.increpare.com/2011/01/catalan/
Side 30 / 98
Liste over førsteårsprojekter
Projekt 62: Online Planlægning
Vejleder:
Institut:
Praktisk del:
Gruppeplacering:
Gruppestørrelse:
Kommentar:
Henvendt til:
Nøgleord:
Lene Favrholdt, [email protected]
Institut for Matematik og Datalogi
Evt. programmering
IMADA
Mindst 3 og maks 6 deltagere. Tre grupper kan arbejde med projektet.
Projektet er særligt velegnet til studieordning i datalogi
Projektet tilbydes til naturvidenskab, biologi og datalogi studerende.
Online-algoritmer, planlægning, optimering, graffarvning
Beskrivelse
En online-algoritme er en algoritme, som får sit input bid for bid, og som skal reagere løbende uden
at kende de fremtidige dele af input. Der er mange eksempler på problemer, som skal løses online.
Dette projekt fokuserer på forskellige planlægningsproblemer.
Et eksempel er pladsreservationsproblemet: Når en rejsende bestiller en pladsbillet, skal han med
det samme tildeles en bestemt plads i en bestemt vogn. Det giver plads til færre passagerer, end
hvis man kunne vente med at tildele pladserne, til man kendte alle bestillinger.
Et andet eksempel er afvikling af jobs. Jobs'ne kan f.eks. være produkter, der skal produceres på
nogle maskiner, eller de kan være processer, der skal afvikles på computere. Der findes mange
varianter af dette problem: antallet af maskiner kan variere, de kan have forskellige hastigheder, de
kan have restriktioner på, hvilke typer jobs de kan afvikle, o.s.v. Derudover kan der være forskellige
målsætninger: at afslutte alle jobs hurtigst muligt, at minimere overskridelsen af deadlines for de
enkelte jobs, eller noget helt tredje.
Mange planlægningsproblemer kan modelleres som et graffarvningsproblem.
Man kan vælge at fokusere på algoritmernes køretid og/eller kvaliteten af den løsning, de leverer.
Det er muligt at lave et rent teoretisk projekt, hvor man udvælger/designer algoritmer, som man
beskriver og analyserer. Man kan også lægge hovedvægten på implementering og afprøvning af
relevante algoritmer. En mellemting mellem disse to yderpunkter vil også være en mulighed.
Minikurser
Obligatorisk: Introduktion til projektarbejde på IMADA, Rapportskrivning med LaTeX,
Posterfremstilling med LaTeX, Naturvidenskabelig informationskompetence
Litteratur
On-Line Algorithms, Edited by Lyle A. McGeoch and Daniel D. Sleator, DIMACS Series in Discrete
Mathematics and Theoretical Computer Science, 7: 163-165, 1992.
Online Algorithms. The State of the Art, Edited by Amos Fiat and Gerhard J. Woeginger, Lecture
Notes in Computer Science, volume 1442, 1998, kapitel 8, 9 og 13.
Approximation Algorithms for NP-Hard Problems, Edited by Dorit S. Hochbaum, kapitel 1.
The seat reservation problem, Joan Boyar and Kim S. Larsen, Algorithmica 25(4): 403-417, 1999.
Side 64 / 98
Liste over førsteårsprojekter
Projekt 68: Programming without Side Effects
Vejleder:
Felix Palludan Hargreaves, [email protected]
Daniel Merkle, [email protected]
Institut:
Institut for Matematik og Datalogi
Praktisk del:
Programming, report
Gruppeplacering: Institut for Matematik og Datalogi
Gruppestørrelse: Mindst 3 og maks 5 deltagere. To grupper kan arbejde med projektet.
Kommentar:
Projektet er særligt velegnet til studieordning i datalogi
Henvendt til:
Projektet tilbydes til naturvidenskab, biologi og datalogi studerende.
Nøgleord:
Programming, side effects, immutable data structures, concurrency, algebraic
data structures
Beskrivelse
The fundamental model of computation is most often based on the Turing Machine whose basic
concept revolves around a state and a tape, both which can be modified according to the
programming of the machine. For the most part, modern computers work in the same way - using a
state and reading/writing to some kind of memory in order to compute functions. This model has
leaked into programming languages for decades, leading to what we know as imperative
programming, a paradigm in which we program the computer using lists of statements that mutate
the state and memory of the computer, e.g. C, Java, Python, etc.
With the advent of multicore computers and growing need of bigger, more parallel programs, the
classical imperative paradigm often falls short due to unmanageable code complexity and explicit
handling of concurrency. As it turns out, many of the problems inherent to imperative programming
stem from the use of unnecessary state mutation and side effects. If we rid a data structure of state
mutation and side effects we get what is called an immutable data structure. This notion gives rise to
a number of initial questions:
+
+
+
+
Can we offer immutable versions of classical data structures with the same flexibility?
What impact does immutability have on performance and memory footprint?
Does this programming pattern lend itself to concurrency and parallelism?
How do we reason about the correctness of immutable programs?
The aim of this project is to understand the basic principles of immutable data structures and the
effects of state as presented in Okasaki, “Purely Functional Data Structures”, and Friedman & Wand,
“Essentials of Programming Languages”. Philip Wadler’s article, “Why no one uses functional
languages”, and Dijkstras open letter, “Go-to statement considered harmful”, can be used as
motivational/educational reading.
Minikurser
Obligatorisk: Introduktion til projektarbejde på IMADA, Rapportskrivning med LaTeX,
Naturvidenskabelig informationskompetence, Posterfremstilling med LaTeX
Litteratur
+ Thesis, Purely Functional Data Structures http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
+ Book, Essentials of Programming Languages http://www.researchgate.net/profile/Christopher_Hayn
es/publication/220689009_Essentials_of_programming_languages_%282._ed.%29/links/02bfe511905
6b370a3000000
+ Open Letter, Go-to statement considered harmful
https://www.cs.utexas.edu/users/EWD/ewd02xx/EWD215.PDF
+ Lecture Notes, Persistent Data Structures http://ocw.mit.edu/courses/electrical-engineering-and-co
mputer-science/6-854j-advanced-algorithms-fall-2005/lecture-notes/persistent.pdf
+ Article, Why no one uses functional languages
http://homepages.inf.ed.ac.uk/wadler/papers/sigplan-why/sigplan-why.ps
Side 70 / 98
Liste over førsteårsprojekter
Projekt 72: Real-time web user activity analysis
Vejleder:
Kasper Grud Skat Madsen, [email protected]
Li Su, [email protected]
Institut:
Institut for Matematik og Datalogi
Praktisk del:
Project implies programming
Gruppeplacering: IMADA
Gruppestørrelse: Mindst 3 og maks 4 deltagere. To grupper kan arbejde med projektet.
Kommentar:
Projektet er særligt velegnet til studieordning i datalogi.
Henvendt til:
Projektet tilbydes til naturvidenskab, biologi og datalogi studerende.
Nøgleord:
Data management, cloud, clickstream, real-time processing
Beskrivelse
It is becoming increasingly common for companies to record how customers are interacting with
their websites. One example is monitoring each time a customer clicks on a link, and storing a tuple
with relevant information such as timestamp, ip, fromPage, toPage, timeOnPage and more. This
stored data can then be processed (preferably in real-time), in order to extract knowledge and
improve the user experience. The two main issues to handle when handling a clickstream is thus
storing data and processing it.
This project consists of two parts, (1) comparing the performance characteristics of different ways to
store a clickstream and (2) doing real-time processing on it to extract knowledge. You will be granted
access to Amazon Elastic Compute Cloud, where you can execute all your experiments. Your findings
will be used to guide us to select the most effective solution for handling the clickstream at sdu.dk.
Select this project if you are interested in:
Learning to use the cloud to solve a real problem currently faced by many companies.
Learning to use major Apache top-level projects such as Storm and Kafka.
Distributed computing.
Databases.
Minikurser
Obligatorisk: Introduktion til projektarbejde på IMADA, Rapportskrivning med LaTeX,
Posterfremstilling med LaTeX, Naturvidenskabelig informationskompetence
Litteratur
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/
http://docs.mongodb.org/manual/core/introduction/
http://kafka.apache.org/documentation.html
https://storm.apache.org/documentation/Home.html
Side 74 / 98
Liste over førsteårsprojekter
Projekt 77: Ruteplanlægning for fly
Vejleder:
Institut:
Praktisk del:
Gruppeplacering:
Gruppestørrelse:
Kommentar:
Henvendt til:
Nøgleord:
Anders Nicolai Knudsen, [email protected]
Institut for Matematik og Datalogi
Programmering
IMADA
Mindst 3 og maks 5 deltagere. To grupper kan arbejde med projektet.
Projektet er særligt velegnet til studieordning i datalogi
Projektet tilbydes til naturvidenskab, biologi og datalogi studerende.
Flyruter, Algoritmer, Grafer, Korteste vej
Beskrivelse
Dette projekt handler om at finde optimale
ruter for flyrejser og derved minimere både
tid og brændstof brugt. Flyrejser er en af
nutidens mest anvendte transportformer.
Hver dag flyver over 100.000 fly verden over
med mange forskellige formål som for
eksempel turisme, erhverv og militær. Der
bruges over 250 milliarder liter brændstof
som både er dyrt og en anseelig del af
verdens samlede CO2-udslip. Ud over
brændstof har luftfartsselskaber også mange
andre udgifter som er forbundet med hvor
længe flyet er i luften. Det er derfor i
flyindustriens interesse at minimere den
samlede flyvetid for deres flyvninger.
Flyruter er ikke så nemme at lave som man
skulle tro. Hvis man fx. skal flyve fra
København til Paris er det ikke tilladt blot at
flyve den direkte vej, da sammenstød i så fald
ville være svære at forhindre. I stedet har man opdelt luftrum rundt omkring i verden i netværk af
punkter, også kaldet waypoints. Disse waypoints danner en 3D-graf som man så skal finde den
billigste vej igennem. Netværket er underlagt en række regler og gebyrer som besværliggør
rutegenereringen. Desuden varierer et flys ydeevne baseret på betingelserne i luften omkring det,
hvilket yderligere komplicerer problemstillingen.
Målet for projektet er at udvikle et program som givet et netværk af waypoints og data for et flys
ydeevne kan generere en optimal rute fra én lufthavn til en anden. Problemet er af den velkendte
type korteste-vej, men de unikke betingelser som netværket samt flyets ydeevne spiller ind med,
gør at de studerende også vil stifte bekendtskab med heuristikker, constraints samt udnyttelse af
datastrukturer.
Minikurser
Obligatorisk: Introduktion til projektarbejde på IMADA, Rapportskrivning med LaTeX,
Posterfremstilling med LaTeX, Naturvidenskabelig informationskompetence
Litteratur
www.imada.sdu.dk/~andersnk/FF501_Introduction.pdf
Side 79 / 98