Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
AGI research using ocaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2010-03-13 (10:29)
From: Eray Ozkural <examachine@g...>
Subject: AGI research using ocaml
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:

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

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

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.


Eray Ozkural, PhD candidate.  Comp. Sci. Dept., Bilkent University, Ankara