Informatik, Modellbau und Privates von Georg
[ start | index | login ]
Home > ICFP 2007 > Our_Approach

Our_Approach

Created by georg. Last edited by georg, one year and 74 days ago. Viewed 86 times. #2
[diff] [history] [edit] [rdf]
labels
attachments
We did'nt find time to document our approach in detail. In short:
  • dna to rna converter in Java (for speed optimisation we used a linked list of strings with defragmentation functionality for the DNA. 1min 30 on a normal PC for the source dna)
  • rna to image converter in Java with GUI
  • a small and very simple compiler from a imperative language to fuun written Haskell
  • some other small tools like a super-adaptive-gene tree extractor
and a inspector for parts of the dna written in Haskell

We unfortunatelly got the right idea how to access the gene table pages too late. We only managed to turn the windmill and to switch on the daylight. However we optimised the prefix with direct skips and got it down to 78 bases and managed a survival chance of 4.2009%. We end up on place 25 and are quite happy with it.

Here a comment from Johannes, short after the issue of the task.

Pattern:   ( !_2 ) _P

IIP ( IP !_ ICP 2 IIC ) IC _P IIF ) end of pattern

Template: _P _I 0_0

IC _P C _I IF n_k-form folgt P 0 P 0 IIC ) end of template

Match (für den Rest CFPC )

CF -> [ CF ] environment P -> geprüft und ignoriert C -> bleibt stehen (nicht im Pattern)

Replace (ausgehend von Template)

_P -> P _I -> I 0_0 -> CF (aus Environment, 0-mal quotiert)

C blieb stehen.

Tja. Da müssen wir also zwei Interpreter schreiben: execute und build. Evtl. erstmal prototypen, die das direkt so machen, wie in der Spec bescrieben (es steht ja alles da). Dabei dann über Optimierungen nachdenken.

Es wird ja wohl in die Richtung gehen, daß man das ewige Stringmatchen vermeidet und stattdessen direkt auf einer Baumstruktur arbeitet. Problem ist natürlich, daß die nicht lokal eindeutig ist (wenn man nur einen Ausschnitt sieht, weiß man z. B. nicht, ob IIC Klammer zu ist oder Teil einer Binärzahl). Deswegen könnte man ein Typsystem erfinden (mit Typchecker) für "sichere" Programme (z. B.: was einmal binärzahl ist, bleibt binärzahl) und dann hoffen, daß die verwendeten Programme auch diese Eigenschaft haben (typisierbar sind). Man könnte die Typen bei der Ausführung prüfen oder aber schon vorher.

no comments | post comment

Content

Help
For hints about formatting text see snipsnap-help.

Logged in Users: (0)
… and a Guest.

Recently Changed
snipsnap.org | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt