From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA29284; Mon, 29 Oct 2001 17:43:26 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id RAA30311 for ; Mon, 29 Oct 2001 17:43:24 +0100 (MET) Received: from alpha2.tabu.stw-bonn.de (alpha2.tabu.stw-bonn.de [131.220.159.106]) by nez-perce.inria.fr (8.11.1/8.10.0) with SMTP id f9TGhNn22124 for ; Mon, 29 Oct 2001 17:43:23 +0100 (MET) Received: (qmail 892 invoked by uid 1001); 29 Oct 2001 17:39:00 -0000 From: "Kai Kaminski" Date: Mon, 29 Oct 2001 18:39:00 +0100 To: caml-list@inria.fr Subject: [Caml-list] Playing Soccer with OCaml Message-ID: <20011029183900.A717@alpha2.tabu.stw-bonn.de> Mail-Followup-To: caml-list@inria.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hi, 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 nice. - Any pointers on how to implement these algos in a functional language? - 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