From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id A58C3BBAF for ; Sat, 13 Mar 2010 16:02:12 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ai0CAHo3m0u7EBdenGdsb2JhbACDDJdmFQEBAQEBCAsICRMiqFuPaoEygl9qBIg6 X-IronPort-AV: E=Sophos;i="4.49,632,1262559600"; d="scan'208";a="46576529" Received: from mta62.f1.k8.com.br ([187.16.23.94]) by mail3-smtp-sop.national.inria.fr with ESMTP; 13 Mar 2010 16:02:11 +0100 Received: from localhost (localhost [127.0.0.1]) by smtpl.f1.k8.com.br (Postfix) with ESMTP id B5445200A97B; Sat, 13 Mar 2010 15:02:08 +0000 (GMT) X-Virus-Scanned: amavisd-new at k8.com.br Received: from smtpl.f1.k8.com.br ([127.0.0.1]) by localhost (mta62.f1.k8.com.br [127.0.0.1]) (amavisd-new, port 10024) with LMTP id wG47SD7kuHsk; Sat, 13 Mar 2010 15:02:08 +0000 (GMT) Received: from [10.11.0.34] (unknown [10.11.0.34]) by smtpl.f1.k8.com.br (Postfix) with ESMTPA id 67B55200A97D; Sat, 13 Mar 2010 15:02:08 +0000 (GMT) Subject: Re: [Caml-list] AGI research using ocaml From: Andre Nathan To: Eray Ozkural Cc: caml-list In-Reply-To: <320e992a1003130229v1f39f6aek752c32a677c3ac87@mail.gmail.com> References: <320e992a1003130229v1f39f6aek752c32a677c3ac87@mail.gmail.com> Content-Type: text/plain; charset="UTF-8" Date: Sat, 13 Mar 2010 12:02:37 -0300 Message-ID: <1268492557.1962.5.camel@homesick> Mime-Version: 1.0 X-Mailer: Evolution 2.28.1 Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; ocaml:01 eray:01 toploop:01 ocaml:01 toploop:01 foo:01 0200,:01 eray:01 ozkural:01 afaict:01 nathan:98 hyperlink:98 genius:98 incremental:01 wrote:01 Eray, You could consider using the Toploop module to interpret an ocaml program; for example, Toploop.use_silently Format.std_formatter "foo.ml". This is what I do in OSpec to run the specification files. I haven't measured the overhead of using this module but at least you don't need to fork a process to run each of your programs. HTH, Andre On Sat, 2010-03-13 at 12:29 +0200, Eray Ozkural wrote: > Hello there, > > I recently did some interesting research on Artificial General > Intelligence using ocaml. Following the > research directions we had set with late Ray Solomonoff, I designed an > incremental machine > learning system. You can read about it on the AGI-2010 site: > http://agi-conf.org/2010/conference-schedule/ > > There is an extended abstract in the conference, which contains a > hyperlink to a draft of a > technical description of the program. If you're curious, go ahead and > read it, please. > > Basically, this is an implementation of Adaptive Levin Search, the > most sophisticated of its kind that I > know of. And we have made significant algorithmic improvements to make > that happen, as you can > imagine. > > There is similar research going on at Google, but they're taking a > different approach AFAICT. I > favor mine, because I'm trying to make a good practical approximation > of Solomonoff induction > which will serve as an AGI kernel in several cognitive architectures. > So, mathematical rigor comes > first. > > I've used the ocs interpreter for interpreting Scheme programs. Thanks > to Ocaml, I was able to try > out several different search and update algorithms rather > effortlessly. And I think it didn't take much > more than a month for me to finish the implementation. I wrote the > bulk of the program in a weekend or > two. Who knows, perhaps a future AGI system will have been written in ocaml. > > Of course, all of this is possible due to the genius of Ray. He will > be sorely missed. > > Now, a small question. What is the best way for me to use a caml > interpreter in ocaml? I have to > run millions of small caml programs, so startup latency can't be > tolerated. (For instance I can't execute > a unix process to interpret a program) I've decided that caml > represents more technological progress > than scheme, and I can definitely use the type system for better > search performance. > > Best, >