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
© Copyright 2024