Datalogi

 

Vejleder: Mads Rosendahl

 

 

Projekt-kim

 

Et andetsemesterprojekt må gerne komme tæt på de mere grundlæggende begreber i datalogi. Til sådanne begreber hører beregnelighed, afgørlighed og kompleksitet.

 

Ideer:

 

1. En traditionel model for beregnelighed er baseret på Turing maskinen med tekst som inddata og uddata. Ser man på en programmerbar robot er inddata landskabet og sensorer, og uddata kan være robottens bevægelser. Man kan simulere en konkret robot eller lave en fortolker for robotprogrammer. En del af eksperimentet kan være at sammenholde med en faktisk robots opførsel. Som robot kan man benytte en legorobot.

 

2. Neurale net kan ses som et alternativ til den beregningsmodel der benyttes mere traditionelt. Programmeringen sker ved en indlæringsproces således at et program kan gemme sine erfaringer og derved give bedre resultater med tiden. Man kan prøve at konstruere et neuralt net til et specifikt formål for derved at undersøge om det er en brugbar måde at udtrykke beregninger.

 

3. Ved datakompression søger man at mindske redundansen i den information der skal repræsenteres. Ved billeder bruger man ofte jpeg formatet; i arkiver bruges ofte tiff formatet. Man kan undersøge hvor god kompression sådanne metoder giver og sammenholde det med hvad der forventes og hvad meget man kan håbe på.

 

4. En af de helt grundlæggende datalogiske begreber er kompleksitet. For en række problemstillinger kan man vise en mindstegrænse for køretid af ethvert program der løser det. Hvis man eksperimentelt vil undersøge om det så også passer for konkrete programmer kræver det at man kan måle køretider på en pålidelig og reproducerbar form. Det er ikke trivielt på computere med cache, dynamiske hopforudsigere, just-in-time oversættelse og optimering etc. Godt eksperimentelt arbejde kræver at man kan vurdere fejlkilder. Et udgangspunkt for et projekt i denne retning kunne f.eks. være at undersøge om det er rigtigt at statiske metodekald er hurtigere end andre kald i Java.