Informatik, Modellbau und Privates von Georg
[ start | index | login ]

Changes of ICFP 2004 from #11 to #12

Changed lines at line 2
2: Our team name is Formicoideas and we used primary haskell and java.
3: {link:ICFP Webpage|http://www.cis.upenn.edu/proj/plclub/contest}
4: 1 Source
5: The submission can be downloaded from the panel beside.
6: 1.1 Phec Synyax
7: The syntax is defined in Phec/phec_lang.txt
8: 1.1 Nedit
9: We have syntax highlighning {code:bash}nedit -import Phec/Phec.pats{code}
10: 1.1 Running
11: make all in the root to compile everything
12: {code:bash}./run {code} for fun to see all options
13: but for real use start
14: {code:bash}./run.sh task/sample0.world --red=testing/initial.phec --black=Simulator/test.prog {code}
15: without java you can use
16: {code:bash}./run --world=task/sample0.world --red=testing/initial.phec --black=Simulator/test.prog
17: --console -s100
18: {code}
19: to see 100 steps on the console and get report at the end
20: 1.1 Comments
21: We use {link:haddock|http://www.haskell.org/haddock/} and Allans Todo-tool that requires
22: {code:haskell}
23: -- BlaBla @todo{fix that}
24: {code}
25: ICFP stands for International Conference on Functional Programming. They organise an anual interational programming contest. See the
26: {link:ICFP 2004 Contest Website|http://www.cis.upenn.edu/proj/plclub/contest}
27: [Jörg], [Allan] and [me|georg] attended the contest. Our team name was Formicoideas and we used primary haskell. Sorry, but we used also java to implement a graphical user frontend to be able to test our solutions.
28: 1.1 Why Formicoideas?
29: Well the contest was about ants and the biological name for family is Formicoidea.
30: 1.1 Teamwork
31: Because [Allan] lives in Edinburgh and we live in Leipzig we have been forced to program territorial distributed.
32: This worked great since we used CVS, {link:Teamspeak|http://www.teamspeak.org/} and ICQ. I would say the productivity was larger than if we all would have worked together in the labs of the university or somewhere else. The reason is that you know you computer and the enviroment and it is calm if you need it.
33: 1 The Task
34: The task description and some maps can be downloaded from the ICFP contest webpage or from the panel beside ({link:task.tgz|http://www.flexman.homeip.net/space/ICFP+2004/task.tgz}).
35: Here a rough decription what it was about:
36: The task was to write a program that controls an ant. It was basicly a finite state machine (FSM) that had to be developed. The programming language was very low level with absolute jumps and so on. Please note that there is no memory in a FSM, so cannot store anything.
37: There are two teams the red and the black colony. Every colony has an anthill of the same size and the world consists of hexogonal cells. There are rocky cells where you can't go on and there are cells with food. The overall goal was to bring as many food as possible to your anthill. In order to perform that the ant can mark a cell with 6 different markers and is able to sense the own cell and the ahead, left and right cell.
38: 1 Our Approach
39: In order to simplify this task we decided to build a translator from a
40: slightly higher level language than that of the ant finite state machine
41: language. This language is called pheromone and the compiler is phec for
42: pheromone compiler.
43: We also built a Simulator as described in the task description to evaluate
44: our ant programs, and a Java front end to visually deploy the simulator in
45: order to aid debugging of the ant programs.
46: 1.1 Phec (Pheromone Compiler)
47: 1.1 Nedit
48: We have syntax highlighning {code:bash}nedit -import Phec/Phec.pats{code}
49: 1.1 Running
50: make all in the root to compile everything
51: {code:bash}./run {code} for fun to see all options
52: but for real use start
53: {code:bash}./run.sh task/sample0.world --red=testing/initial.phec --black=Simulator/test.prog {code}
54: without java you can use
55: {code:bash}./run --world=task/sample0.world --red=testing/initial.phec --black=Simulator/test.prog
56: --console -s100
57: {code}
58: to see 100 steps on the console and get report at the end
59: 1.1 Comments
60: We use {link:haddock|http://www.haskell.org/haddock/} and Allans Todo-tool that requires
61: {code:haskell}
62: -- BlaBla @todo{fix that}
63: {code}
64: 1.1 Submission
65: We submitted our submission 3 minutes before the deadline and - how to say - I was really nervous. It is every year a last minute hack!
66: The submission can be downloaded from the panel beside ({link:task.tgz|http://www.flexman.homeip.net/space/ICFP+2004/formicoideas.tgz}).

Content

Help
For hints about formatting text see snipsnap-help.

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

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