Projekt 1. Aksiomssystemer i matematik Vejleder: Matthias Kriesell, kriesell@imada.sdu.dk Praktisk del: Projektet er teoretisk Gruppeplacering: IMADA eller Biblioteket Gruppestørrelse: Mindst 3 og maks 5 deltagere. Én gruppe kan arbejde med projektet. Kommentarer: Projektet tilbydes til NAT501 studerende. Matematik, aksiom, bevis, calculus, tal, mængdelære, determinant, gruppe, topologi Det aksiomatiske metode blev et hjørne sten af matematik i det 20. århundrede, men var allerede kendt som tilgang fra Euklids elementer. Den grundlæggende idé er at man definerer et matematisk område, eller objekt, ved at stille nogle egenskaber, op som tages at være sande. Disse kaldes postulater eller aksiomer. Derefter bygger man sætninger og andre resultater op kun ved hjælp af disse aksiomer og deduktionsregler fra logik. Det er vigtig at der er ikke noget modstrid mellem de forskellige aksiomer, men der skal være aksiomer nok så at man kan bevise noget nyttigt. I opstillingen er det er ofte et mål at der skal ikke være flere aksiomer end nødvendigt, men det balanceres med at aksiomerne skal være enkle. Metoden kan anvendes på mange forskellige måde, og det er ideen med projektet at gruppen finde nogle emner der interessere dem og se hvordan de er relateret til aksiomssystemer. Over tiden er der opstået nogle aksiomer som er lidt kontroversielle. Et eksempel er udvalgsaksiomet fra mængdelære som siger at givet vilkårlige mange kasser man kan altid udvælge element fra hver af kasserne. Som sådan er aksiomet ret naturligt, og er stort set blevet en del af standard matematik, men det har nogle mærkelige konsekvenser. Mulige undersøgelsesområde i projektet inkludere: - differentiation og integration af funktioner som i calculus - opbygning af tal systemer - mængdelære - determinantfunktioner for matricer - gruppeteori og symmetri - kontinuitetsteori og topologi - kvantemekanik - udvalgsaksiomen og dens omformuleringer afhænger meget af gruppens interesse. En bog der dækker nogle af emnerne ovenfor er H. B. Enderton, `Elements of Set Theory', Academic Press 1977, ISBN 0-12-238440-7 3
Projekt 31. Hvordan tegner man en ret linje? Vejleder: Bjarne Toft, btoft@imada.sdu.dk Praktisk del: Teoretisk arbejde Gruppeplacering: IMADA eller Biblioteket Gruppestørrelse: Mindst 3 og max 5 deltagere. En gruppe kan arbejde med projektet Kommentarer: Projektet tilbydes til NAT501 og NAT507 studerende. Ret linje, cirkel, punkts potens, elementær plangeometri. Hvis man ikke har en lineal, findes der så en måde at sætte nogle pinde sammen på, så man får et apparat der kan tegne en perfekt ret linje (på samme måde som passeren tegner en perfekt cirkel)? Svaret er JA - at finde ud af det involverer et studium af elementær plangeometri. Elementære resultater om punkter, linjer og cirkler i planen skal benyttes for at løse problemet. Efter at problemet er løst kan det for eksempel overvejes hvor få pinde der skal til. Og man kan jo evt. lave apparatet rent fysisk og se om det også virker i praksis! Der udleveres en artikel af Julius Petersen fra 1880 erne, med nutidige kommentarer (af vejlederen). Geometri skolebøger (fra dengang geometri var mere i højsædet) vil også blive udleveret som baggrundsmateriale. 33
Projekt 43. Konstruktioner med passer og lineal Vejleder: Bjarne Toft, btoft@imada.sdu.dk Praktisk del: Teoretisk arbejde Gruppeplacering: IMADA eller Biblioteket Gruppestørrelse: Mindst 3 og max 5 deltagere. En gruppe kan arbejde med projektet Kommentarer: Projektet tilbydes til NAT501 og NAT507 studerende. Passer, lineal, regulære n-kanter, konstruktionsmetoder, umulighedsbeviser. Lige siden Euklid skrev sine elementer for 2000 år siden har matematikere beskæftiget sig med konstruktioner med passer og lineal. Hvad er mon forklaringen på at vi pålægger os den restriktion, at det er de to eneste redskaber vi må bruge? Og hvad kan man konstruere? Omkring år 1800 opdagede den da kun 19 årige Gauss hvordan man kan konstruere en regulær 17 kant. Og lidt senere i 1800 tallet fandt man ud af at det er umuligt at konstruere en regulær 18 kant. Hvad er grunden? Hvis man vælger ikke at bruge linealen, men kun passeren, hvilke figurer kan så konstrueres? Der er mange muligheder for at stille og besvare interessante spørgsmål! Emner: konstruktioner af regulære trekanter, firkanter, femkanter og sekskanter. Konstruktioner med passeren alene (f.eks. at finde midtpunktet mellem to punkter). Umuligheden af at konstruere en regulær 18-kant. Metoder: Et teoretisk studium af elementær geometri. Historiske/filosofiske overvejelser omkring emnet hvad er formålet? er det overhovedet interessant? Emnet lægger op til et studium af Euklids Elementer (i dansk oversættelse). Noter af vejlederen vil også blive uddelt omkring emnets mulige problemstillinger. 45
Projekt 9. Combinatorics of RNA secondary structures Vejleder: Christian Reidys, duck@santafe.edu. Institut: Institut Matematik og Datalogi (IMADA) Praktisk del: IMADA, programming Gruppeplacering: IMADA or Library Gruppestørrelse: Minimum 3 and maximum of 5 participants. Two groups can work with the project. The project, including report and exam, will be in English. Kommentarer: Projektet tilbydes til NAT501 studerende. Secondary structure, generating function, Motzkin-paths Ribonucleic acid (RNA) molecules are linear biopolymers consisting of the four nucleotides A, U, C and G characterized by a sequence endowed with a unique orientation (5 end to 3 end). RNA sequences fold, i.e. their nucleotides form base pairs (arcs) and the collection of these constitute the secondary structure. A secondary structure can be represented by diagrams. Tree decades ago, Waterman gave a recursion for enumerating the number of secondary structures over n nucleotides without any crossing arcs. A lot of work have been done based on this recursion, i.e., dynamic programming search minimum free energy structures, calculate partition function etc. Tasks: Study how to derive the generating function from the recursion for secondary structures. In the process learn how to use Maple to computes coefficients Study other combinatorial means of deriving this recursion, e.g. via Motzkin paths. Combinatorial Computational Biology of RNA: Pseudoknots and Neutral Networks, Christian M. Reidys, November 2010. 11
Nat ur v ide ns ka be lig t Pr o je kt / F ar m ace ut: Va lgfr it Pr oj ekt Projekt 78. Uniform sampling of RNA secondary structure Vejleder: Institut: Praktisk del: Gruppeplacering: Gruppestørrelse: Kommentarer: Christian Reidys, duck@santafe.edu. Institut for Matematik og Datalogi (IMADA). IMADA, programming IMADA or Library Minimum 3 and maximum of 5 participants. Two groups can work with the project. The project, including report and exam, will be in English. Projektet tilbydes til NAT501 studerende. Uniform sampling, sequence-structure relationship The folding of RNA sequences constitutes a mapping from sequences to structures. While it is easy to sample in sequence space by assigning independent probabilities to individual nucleotides, the sampling in structure space is more difficult. The key objective here is an ad hoc uniform sampling of RNA structures in linear time. Tasks: Study the method to generate the secondary structures (without crossing arcs) uniformly using the recursion for secondary structures. Implement such a sampling process. Extend the above sampling method to be able to sample structures with particular properties. For instance, sample structures having a certain minimum stack size (number of consecutively, parallel arcs) grater than s. Combinatorial Computational Biology of RNA: Pseudoknots and Neutral Networks, Christian M. Reidys, November 2010. 80
Projekt 12. De skjulte tvillinger i biokemi og økologi Vejleder: Hans Christian Petersen, hcpetersen@stat.sdu.dk Praktisk del: IMADA, udregninger på pc Gruppeplacering: IMADA eller Bibliotek Kommentarer: Projektet tilbydes til NAT501 og NAT507 studerende. Funktionel respons, rov-byttedyr-systemer, enzymkinetik, Michaelis-Menten, estimation, ikke-lineære modeller. Fra biokemi er det velkendt at enzymers kinetik kan beskrives med bl.a. Michaelis-Mentenmodellen. I populationsøkologi er det ligeledes velkendt at aspekter af rovdyr-byttedyrinteraktion kan beskrives med relativt simple modeller for funktionel respons. I projektet arbejdes der med at fitte data til kurver af Michaelis-Menten-typen, således at man opnår estimater for parametrene i modellen, hhv. halvmætningskonstant og maksimal omsætningsrate. Der er i udgangspunktet tale om et ikke-lineært problem, som dog kan lineariseres. Under projektet arbejdes der med forskellige simulerede data for at afgøre hvordan og under hvilke betingelser man opnår acceptable parameterestimater. Desuden anvendes løsningen (algoritmen) på genuine data. Parallellen mellem de biokemiske og de økologiske modeller præsenteres og forklares. Obligatorisk: Projektarbejde (Microsoft, Nat) Litteraturliste over metodeartikler, som udleveres til de studerende Afsnit fra hhv. lærebog i biokemi og populationsøkologi Artikler fra biokemiske og økologiske tidsskrifter 14
Projekt 49. Matching schemes for the job market Vejleder: Sushmita Gupta, sgupta@imada.sdu.dk Praktisk del: Projektet er teoretisk Gruppeplacering: IMADA eller Bibliotek Kommentarer: Projektet tilbydes til NAT501 studerende. Projektet er særligt velegnet til studieordning i datalogi. Projektet, inkl. rapport og eksamen, holdes på engelsk. Matching, bipartite graph, online algorithm, offline algorithm Consider a job assignment office, JAO, which matches job applicants with available positions depending on suitability and availability. Each applicant has a set of skills that makes him/her suitable for certain types of jobs. These assignments happen on a rolling basis, i.e, as jobs become available and interested candidates signup, the JAO makes a job-assignment (if it can) from the pool of unassigned candidates. If there are none available, then it searches the list of currently assigned candidates for someone who could potentially be assigned to a job that is unsuitable for any of the unattached candidates. An important condition for a job switch is that a previously assigned job cannot be halted because its worker has been assigned to something else. Therefore the JAO has a policy to make a switch only if there is an unassigned candidate who can take up that job. Too many job switches are perhaps not beneficial for the candidates, so a priori the JAO decides to limit the possible number of reassignments any candidate has to undergo to be no more than a small constant k, such as 2 or 3. The main goal is to maximize the number of job assignments. Situations of this nature are commonly encountered in problems related to bipartite matching, both online as well as offline. The goal of this project is to design, study and implement strategies that lead to good solutions. There is a lot of literature on this topic, both introductory and advanced. We will refer to some of them as a starting point and then try to glean ideas to develop our own strategies to make switches or to identify examples when switching gives no extra benefit. Chapter 3: Introduction to Graph Theory by Douglas West. 51
Projekt 50. Matematikken bag 3D-grafik i computerspil Vejleder: Rolf Fagerberg, rolf@imada.sdu.dk Praktisk del: Programmering Gruppeplacering: IMADA eller Bibliotek Kommentarer: Projektet tilbydes til NAT501 studerende. Projektet er særligt velegnet til studieordning i datalogi 3D-grafik, transformationer, homogene koordinater, rendering, shading. I programmering af computerspil bruges mange metoder og teknikker fra både datalogi og matematik. Det mest centrale eksempel herpå er 3D grafik, hvor objekter opbygges af trekanter i et tredimensionelt koordinatsystem. For at kunne placere og animere de opbyggede objekter i spillene, er det nødvendigt at kunne translatere, rotere og skalere dem. Ydermere skal de projiceres perspektivmæssigt korrekt til skærmens to dimensioner. Hertil bruges matriceregning, dvs. metoder fra lineær algebra. Mens 3x3 matricer er nok til at implementere rotationer og skaleringer, kræver translationer og projicering 4x4 matricer. Matematikken bag de første tre er relativ simpel, mens projiceringen er mere involveret. Også i forbindelse med farvelægning (shading) af objekternes trekanter optræder der matematisk baserede metoder, primært vektorregning. Ideen med projektet er at studere principperne bag 3D spil på computere. Afhængigt af gruppen kan fokus i projektet flyttes mellem de datalogiske og matematiske aspekter af emnet. Eksempler på indgangsvinkler kan være: 1. Et simpelt spil implementeres med fokus på et specielt område f.eks. Alternative inputmetoder, generering af kort, level of detail, AI etc. 2. Opbygningen af projektions, skalerings, translations og rotations matricer kan undersøges og gennemgås ud fra et matematisk synspunkt. Bemærk at den endelige liste afhænger meget af valg af retning på projektet: En guide til programmering af 3D spil: http://nehe.gamedev.net/ Afsnit 3 og Appendix G i "The OpenGL Programming Guide: The Official Guide to Learning OpenGL" af Shreiner, Woo, Neider, Davis. Addison-Wesley. En ældre version af bogen kan ses online på http://fly.cc.fer.hr/~unreal/theredbook/ Spørg evt. over mail. Projektet kan være inspireret af deltagernes ideer. 52
Projekt 56. Online stock-trading game Vejleder: Abyayananda Maiti, abyaym@imada.sdu.dk Praktisk del: Projektet er teoretisk datalogi Gruppeplacering: IMADA eller Bibliotek Kommentarer: Projektet tilbydes til NAT501 studerende. Projektet er særligt velegnet til studieordning i datalogi. Projektet, inkl. rapport og eksamen, holdes på engelsk. Online algorithm, Stock market, One-way trading, Two- way trading, Game theory. In computer science, an online algorithm is one that can process its input piece-by-piece in a serial fashion, i.e., in the order that the input is fed to the algorithm, without having the entire input available from the start. In contrast, an offline algorithm is given the whole problem data from the beginning and is required to output an answer that solves the problem at hand. (For example, selection sort requires that the entire list be given before it can sort it, while insertion sort doesn't.) On the other hand, financial problems are typically online in nature because its information about the future is often scarce and/or unreliable. Specifically, stock trading is a very important financial process and also very well known to general people who may not have any proper knowledge of financial theories. From the online algorithm perspective, there are two types of trading: One-way trading and Two-way trading. Here we will develop a stock-trading game where players have to place their moves in online fashion and virtual adversary (e.g. computer) may take different strategies to manipulate the upcoming stock-prices. Initially player would be given a fixed amount of money using which he/she has to trade in the stock market. For one way trading, trader only can buy and in two-way trading, trader can do any combinations of buy and sell. At each time step adversary will quote prices for each stock. The goal would be to maximize the profit. We will also figure out different bounds on profits in different scenarios (mainly different types of adversary). The basic version of game deals with only one stock. We can extend it to general case where traders can buy and sell multiple stocks. Borodin, A.; El-Yaniv, R. (1998). Online Computation and Competitive Analysis. Cambridge University Press. ISBN 0-521-56392-5 (Chapter 14). R. El-Yaniv, A. Fiat, R.M. Karp, and G. Turpin (2001). Optimal Search and One-Way Trading Online Algorithms, Algorithmica, 30, 101-139. cogprints.org/6216/2/ssrn-id1270025.doc http://www.wallstreetsurvivor.com/ 58
Projekt 59. Planlægning af job-afvikling Vejleder: Lene Favrholdt, lenem@imada.sdu.dk Praktisk del: Evt. Programmering Gruppeplacering: IMADA Kommentarer: Projektet tilbydes til NAT501 studerende. Optimering, planlægning, algoritmer Dette projekt handler om at planlægge udførelsen af en mængde jobs. Vi forestiller os, at vi har m maskiner til rådighed til at udføre disse jobs. Maskinerne kan være ens eller forskellige. Hvis de er forskellige, kan de f.eks. have forskellig hastighed. Det kan også være, at nogle af jobs'ne kun kan udføres på visse af maskinerne. Målet kan være at udføre alle jobs på kortest mulig samlet tid, at minimere overskridelsen af deadline for de enkelte jobs, eller noget helt tredje. Fælles for disse problemer er, at de er NP-fuldstændige. D.v.s. at der ikke findes effektive algoritmer til at løse dem optimalt. Fokus vil derfor være på approksimationsalgoritmer; d.v.s. algoritmer, som ikke altid løser problemet optimalt, men på den anden side garanterer, at løsningen ikke er alt for langt fra den optimale. Man kan arbejde med online, såvel som offline, varianter af problemerne. I den online version af et problem kender man ikke hele problemet fra starten. Derimod kommer jobs ne "dumpende" et efter et, og hvert job skal straks tildeles en maskine. 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. Et eksempel: Vi har tre ens maskiner. Jobs ne er karakteriseret ved den tid, det tager at udføre dem. Målet er at blive hurtigst muligt færdig med at udføre samtlige jobs. Job-længderne er: 4,4,5,5,6,7,7. Vi bruger en algoritme (LPT), som sorterer jobs'ne efter længde og placerer de længste jobs først. Hvert job placeres på den maskine, som aktuelt står til at blive først færdig. Resultatet er illustreret i figuren til højre. I samme figur er vist en optimal placering af jobs'ne. Approximation Algorithms for NP-Hard Problems, Edited by Dorit S. Hochbaum, Kapitel 1. 61
Projekt 63. Recognize handwritten text Vejleder: Marie Christ, christm@imada.sdu.dk Praktisk del: Programmering Gruppeplacering: IMADA eller Bibliotek Kommentarer: Projektet tilbydes til NAT501 studerende. Projektet er særligt velegnet til studieordning i datalogi. Projektet, inkl. rapport og eksamen, holdes på engelsk. Artificial Neural Networks, Machine Learning How to teach a computer to read handwritten letters? The "normal" approach is to write a programm. This means the programmer maps a picture with certain choosen criteria to a letter. Slightly different letters are not recognized. While this recognition task can be solved by children. Children do not have any programmer writing a program for developing their skill. They learn by themselves to abstract from given examples. What mechanisms do humans use to learn handwritten letters? Can such cognition be adapted for computer usage? Biological systems use neural networks to process informations. Neural networks consist of many simple, identical units that have weighted and adaptable connections. A single neuron is not much more than a simple switch. It has many inputs and as soon as the input reaches a certain threshold it produces an output. The concept of neural networks is to implement simple connected units that are able to learn. An artificial neuron maps an input vector to a scalar value. The weighted input values are summed up, and output is controlled by a non-linear transfer function. Afterwards the weights are adapted given correctly classified examples. In the project you will learn about different types of neural networks, and implement a neural network and a learning procedure yourself. You will then train your neural network to recognize for example handwritten numbers and/or letters. Simon Haykin: Neural Networks, A Comprehensive Foundation, 2nd Edition, Prentice Hall International Editions. Christopher M. Bishop: Neural Networks for Pattern Recognition, Oxford Univ. Press. David Kriesel: A brief Introduction to Neural Networks, http://www.dkriesel.com/en/science/neural_networks 65
Projekt 67. Simulations with cellular automata Vejleder: Philipp Peters, phpeters@imada.sdu.dk Praktisk del: Programmering Gruppeplacering: IMADA eller Biblioteket Kommentarer: Projektet tilbydes til NAT501 studerende. Projektet er særligt velegnet til studieordning i datalogi / The project is specially suitable for students with curriculum in computer science. Oral supervision will be in English, written communications can be in Danish. Computer Science, Cellular Automata, Modeling and Simulation, Pattern Formation In 1952 the English mathematician, logician, and computer scientist Alan Turing stated: "It is suggested that a system of chemical substances, called morphogens, reacting together and diffusing through a tissue, is adequate to account for the main phenomena of morphogenesis." With relatively easy mathematical formulations and by means of simulations with so-called cellular automata (CA), it is possible to model and analyze the related problem of pattern formation that occurs on sea shells or on animal skins. A CA is a remarkable simple discrete model studied in computability theory that consists of a regular grid of cells each in one of a finite number of states, such as On and Off. Each cell has a finite set of neighborhood cells. The current state of a cell itself and the current states of the cells in its neighborhood are considered to determine synchronously the new state of a cell. In a straightforward manner such CA can be used to simulate the mechanism that is supposed to be responsible for generating the before mentioned patterns. This mechanism is based on a socalled reaction-diffusion system of the morphogen prepatterns. The subsequent differentiation of cells to produce melanin (pigments that affect skin color) simply reflects the spatial patterns of morphogen concentration. The project aims at giving the participants knowledge on modeling with CA and experience in the implementation of CA-based simulations. The simulation of animal skin patterns is just one suggestion, other topics could be forest fire, traffic jam, predator-prey-system, game of life, etc. A. Deutsch, S. Dormann: Cellular Automaton Modeling of Biological Pattern Formation, Birkhäuser Boston, 2005. L.B. Kier, P.G. Seybold, and C.-K. Cheng: Modeling Chemical Systems Using Cellular Automata, Springer Netherlands, pages 9-38, 2005. S. Wolfram: A new kind of science, Wolfram Media, 2002 69