Ideer til datalogiprojekter. Keld Helsgaun



Relaterede dokumenter
P2-projektforslag Kombinatorik: grafteori og optimering.

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Kreativ programmering

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter Abstract

DM507 Algoritmer og datastrukturer

P2-gruppedannelsen for Mat og MatØk

DM502. Peter Schneider-Kamp

Danmarks Tekniske Universitet

It i gymnasiet En ny start

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Programmering og Problemløsning, 2017

Danmarks Tekniske Universitet

Matador. Hvert hus koster: 2000 Et hotel koster: huse Pantsætningsværdien er 2000 kr.

IT-UNIVERSITETET I KØBENHAVN. KANDIDAT I SOFTWAREUDVIKLING OG -TEKNOLOGI ITU.dk/uddannelser

3D-print kunstige knogleled 3D-print i undervisningen

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

DM507 Algoritmer og datastrukturer

Hvad er IT i matematikundervisningen egentlig? Professor, Ph.d. Morten Misfeldt, Aalborg Universitet, København

DM507 Algoritmer og datastrukturer

Kompendie til CAM programmering Nr

Sammenlign og byt. Et eksempel på dokumentering af et program

DM507 Algoritmer og datastrukturer

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem

Årsplan for 1.klasse 2018/19 Matematik

Eksamensopgaver datalogi, dl/vf 2010 side 1/5. 1. Lodtrækningssystem

DM507 Algoritmer og datastrukturer

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Udarbejdet af CFU Absalon

Eksempel på muligt eksamenssæt i Diskret Matematik

Undervisningsbeskrivelse

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Datalogistudiet. Rolf Fagerberg. Institut for Matematik og Datalogi Syddansk Universitet. Studiestart, 1. september 2014

DM507 Algoritmer og datastrukturer

Skemalægning med genetiske algoritmer Datalogisk speciale, RUC 2/6/2009 Skrevet af: Flemming R.P. Rasch Vejleder: Henning Christiansen

Teknologiforståelse. Måloversigt

Poly. - Javapakke til behandling af polynomier

Matematik i stort format Udematematik med åbne sanser

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Objects First with Java A Practical Introduction Using BlueJ

Eksaminationsgrundlag for selvstuderende

CPUer og maskinkode DM534. Rolf Fagerberg

Vejledning. Vejledning. Trio+ for skoleledere OK13

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

MODELSÆT 2; MATEMATIK TIL LÆREREKSAMEN

Binomialfordeling og konfidensinterval for en andel

Datamatiker Datalog. For studerende startet 2015

Programmering af Babysimulator

Introduktion til DM507

Indeklimasimulering skal tilpasses designpraksis ikke omvendt. Pil Brix Purup

Hvad er svært ved beviser for gymnasieelever - og kan vi gøre noget ved det?

Interaktiv Whiteboard og geometri

Genetisk drift og naturlig selektion

ÅRSPLAN MATEMATIK 8. KL SKOLEÅRET 2017/2018

Geogebra Begynder Ku rsus

Transkript:

Ideer til datalogiprojekter Keld Helsgaun 1

Keld Helsgaun Forskning: kombinatorisk optimering heuristisk søgning (kunstig intelligens) programmeringsværktøjer Undervisning: programmering, datastrukturer og algoritmer 2

OPT-kunst 27486 punkter En ud af 10110079 mulige ture 3

Space filling curve En kurve, der passerer ethvert punkt i et kvadrat Sierpinski-kurve 4

Bestemmelse af tur Besøg punkterne i den rækkefølge, de optræder på kurven 5

Sierpinski - Mona Lisa O(n log n) tid 6

Selv-organiserende neurale net O(n) tid 7

Trianguleret Mona Lisa 8

Delaunay triangulering Enhver trekants omskrevne cirkel indeholder ingen andre hjørner 9

Genetiske algoritmer Darwins evolutionsprincip kan benyttes til at konstruere effektive optimeringsalgoritmer. 10

Genetiske algoritmer Et individ (kromosom) repræsenterer en kandidatløsning for problemet. En samling af aktuelt levende individer, kaldet populationen, udvikles fra en generation til en næste afhængigt af individernes egnethed, som indiker, hvor egnet, individet, er, d.v.s. hvor tæt, det er på en optimal løsning. I hvert udviklingstrin benyttes henholdsvis krydsning og mutation (genetiske operatorer) på individerne. 11

Sværmintelligens Sociale insekter, f.eks. myrer og bier, giver os en kraftfuld metafor til at udvikle decentraliserede problemløsningssystemer bestående af simple samarbejdende agenter. http://dsp.jpl.nasa.gov/members/payman/swarm/sciam/ 12

Optimering med myrekolonier Hver myre efterlader et spor af feromoner, når den undersøger landskabet af løsninger. Sporet skal vejlede andre myrer. Sporet bruges, når en myre vælger det næste sted, den skal besøge, idet den vil være mest tilbøjelig til at gå ad den vej, der har det stærkeste feromonspor. 13

Skemalægning Tildel et antal hændelser til en begrænset mængde af tidsintervaller. Kursusplanlægning: Tildel enhver lektion til en tidsperiode i ugen, således at ingen student følger mere end en lektion ad gangen. International Timetabling Competition: http://www.idsia.ch/files/ttcomp2002/ 14

Problemløsning Skriv en generel Java-pakke til problemløsning. Pakken skal f.eks. kunne benyttes til at løse det såkaldte 15-spil: 11 9 4 15 1 3 0 12 7 5 8 6 13 2 10 14? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 00 15

Rubiks terning 16

Automatisk bevisførelse Bevisførelse: at påvise, at et udsagn følger logisk af en række andre udsagn Automatisk bevisførelse: en mekanisering af bevisførelsen 17

Eksempel Givet følgende 2 udsagn: Alle mennesker er dødelige. Socrates er et menneske. Påvis, at vi kan konkludere, at Socrates er dødelig. 18

Projekt Udvikling af et program, der indlæser en række logiske udsagn, kontrollerer deres korrekthed, og konverterer dem til en form, der kan benyttes af et tidligere udviklet program til automatisk bevisførelse. Input: Logiske udsagn i 1. ordens prædikatkalkylen Output: Udsagnene transformeret til disjunktiv normalform Emner: Syntaks, semantik og oversættelse 19

Data mining Analyse af store mængder data med det formål at finde meningsfulde mønstre i disse. Eksempel: klyngeanalyse 20

Distribuerede algoritmer Anvendelse af xgrid til distribueret løsning af et udvalgt problem. 21

Simulering af en computer Udvikling af en simulator for Donald Knuth s MMIX-maskine. 22

Billedkomprimering Komprimering af billeder ved hjælp bloktrunkering. 23

Symbolsk differentiation Givet et symbolsk udtryk som dette: sin 2 (3x-2) + (3-2x)/(3+2x) Indlæs udtrykket og udskriv differentialkvotienten med hensyn til x: -3/2(cos(6x-9) - cos(2x-3)) - 12/(3+2x) 2 24

Repræsentation af billeder Udvikling af et program, der givet en beskrivelse som denne: Picture spiral = new Picture(50); spiral.plus(square).plus(spiral.origon(0,1).turned(10). magnified(0.95, 0.95)); Picture ram = new Picture(1); ram.plus(spiral).plus(spiral.origon(1,0).magnified(-1,1)); udtegner billedet Wyvill, B.L.M. PICTURES-68 MK1. Software --- Practice and Experience, 7 (1977), pp 251--261. 25

Datamatsyn Givet en figur som nedenstående: Afgør hvilke kanter, der udgør figurens omrids ( ), og hvilke af de øvrige kanter, der henholdsvis vender mod (+) og bort fra (-) beskueren. + + + - + + + 26

Eventyrspil Udvikling af et Java-program til eventyrspil. 27

Optimering af simuleringsmodeller Udvikling af et generelt værktøj til optimering i forbindelse med simulering. Eksempel: Optimering af lysregulerede vejnet. 28

Simuleringssproget DEMOS Implementering af DEMOS (Discrete Event Modelling on Simula) i Java. Gå i dok Moler Los Slæbebåde Afrejs 29

Spillet OCTI Don Green (2002) 30

Bioinformatik Involverer: Modellering af biologiske processer Formulering af beregningsproblemer Design og analyse af algoritmer Konstruktion og brug af programmer Fokus på genetisk sekvensanalyse: F.eks. hvor meget ligner to gensekvenser hinanden? 31

Sorting by reversals Givet en permutation af heltalene fra 1 til n. Bestem den korteste følge af reverseringer, som transformerer permutationen til (1 2 3... n). Eksempel: 4 3 2 8 7 1 5 6 4 3 2 1 7 8 5 6 1 2 3 4 7 8 5 6 1 2 3 4 8 7 5 6 1 2 3 4 8 7 6 5 1 2 3 4 5 6 7 8 5 reverseringer 32

Yderligere inspiration Se Web-siden www.akira.ruc.dk/~keld/teaching/projektforslag 12 blandede forslag 10 forslag inden for kunstig intelligens 33

Kontakt Kontor 42.2 e-mail: keld@ruc.dk 34