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 mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id BF974BBAF for ; Sat, 13 Mar 2010 11:29:04 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgkCALr3mkvRVdrYkGdsb2JhbACOcoF2iX8IFQEBAQEJCQwHEwMfp3OBYYRuLohLAQEDBYR2BA X-IronPort-AV: E=Sophos;i="4.49,631,1262559600"; d="scan'208";a="54707342" Received: from mail-bw0-f216.google.com ([209.85.218.216]) by mail1-smtp-roc.national.inria.fr with ESMTP; 13 Mar 2010 11:29:04 +0100 Received: by bwz8 with SMTP id 8so1697623bwz.3 for ; Sat, 13 Mar 2010 02:29:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=vQN0F2Nz9VOXeDvQQKdk7yPqyR/hCJhNTgIa9x3Gqdo=; b=qf6hOWcdEhfNwpA1XQZFwBL8yQHJSYWjX8zbDWqtj27TLhHU/4lHPGwK8vsNNiG5bP RtcmyfCnOrfSX+m0APP02c5R/oc2uKABojbEfENteYlGYjNXUNNOLB3rSE/jesF0tLpW bkvHjFavJaBn61/7VZuS0ENkwdTFhaLzyWE2Y= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=LO9b6rJFk9kaXgVPKNfaPI+jwokbhJ3YyfUW3zx6WqvtywFYSImXl7wijOMswIOphv sNSKCgYuJYpR0XudAdIAi1T50NKyrU7/hjgmWNjpaXQrnuV+6JPJm0xxlVfcQEkEjOud Biv0BqCyjXt4BrApfrxSMFiD2knZ4OWCn1FkM= MIME-Version: 1.0 Received: by 10.204.8.212 with SMTP id i20mr4675788bki.166.1268476144098; Sat, 13 Mar 2010 02:29:04 -0800 (PST) Date: Sat, 13 Mar 2010 12:29:04 +0200 Message-ID: <320e992a1003130229v1f39f6aek752c32a677c3ac87@mail.gmail.com> Subject: AGI research using ocaml From: Eray Ozkural To: caml-list Content-Type: text/plain; charset=ISO-8859-1 X-Spam: no; 0.00; ocaml:01 eray:01 ozkural:01 ocaml:01 afaict:01 eray:01 ozkural:01 bilkent:01 hyperlink:98 genius:98 incremental:01 wrote:01 unix:01 abstract:01 latency:01 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, -- Eray Ozkural, PhD candidate. Comp. Sci. Dept., Bilkent University, Ankara http://groups.yahoo.com/group/ai-philosophy http://myspace.com/arizanesil http://myspace.com/malfunct