English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[Caml-list] Playing Soccer with OCaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2001-10-29 (16:43)
From: Kai Kaminski <kok@w...>
Subject: [Caml-list] Playing Soccer with OCaml

I'm currently taking part in a university project, which is about
teaching robots to play soccer. My task is the path-finding module. It
is responsible for finding short paths, while considering moving
obstacles (team mates, enemy robots and the ball). I will probably use
Dijkstra or Markov Decision Processes to accomplish this. Not because
I'm a great friend of these algos (in fact I don't know nothing about
them yet) but my lecturer told me that these were suitable. Since I
fell in love with OCaml some weeks ago, I am considering implementing
the module in OCaml. First, to improve my OCaml skills, and second to
show my colleagues the power of OCaml.

(* They are all JAVA people. When I tell them about functional
   languages they think I want to go back to Turbo Pascal :(

Now there are several questions for me:
- I'm new to OCaml and functional programming. I have some experience
  with C/C++, Pascal and Asm. But I don't think that this will help
  me. Do you think it is possible for a newbie to implement such
  algorithms within five or six month in reasonably quality?

- We use CORBA for communication (omniORB). How difficult is it to
  communicate with C++ modules via CORBA. As I understand it, CamlIDL
  could help me here, but I'm not sure.

- Is OCaml fast enough? We need to do all the work for 4-6 robots on
  one linux machine (Intel at ~400MHz).

- Is OCaml a good choice to implement these algorithms? A better
  choice than C++ at least? (Ok, I know: OCaml is *always* the better
  choice ;-)

- What about SunOS? This port is not a requirement, but it would be

- Any pointers on how to implement these algos in a functional

- Are there any other algos you would recommend?

Thanks in advance,
Kai Kaminski

PS: I'm not really a cs guy, I'm more involved with mathematics.
    Therefore abstraction doesn't make me cry. On the other hand, I've
    just started my second year at university...

PPS: If you are a native speaker please correct at least a few of my
     mistakes. But please remember the 5 MB limit on my mail server ;-)
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr