caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Re: AGI research using ocaml
@ 2010-07-31  8:25 oleg
  0 siblings, 0 replies; 3+ messages in thread
From: oleg @ 2010-07-31  8:25 UTC (permalink / raw)
  To: examachine; +Cc: caml-list


Eray Ozkural wrote:

> AFAICT, there is no [BER MetaOCaml] native code support for x64. 
> Are there any plans to upgrade to 3.12 and x64?

Well, 3.12 hasn't been officially released yet. There is strong
intention to upgrade to 3.12 once the release dust settles.

The byte-code BER MetaOCaml should work on all architectures supported
by OCaml. Native-code BER MetaOCaml will come after the port to 3.12.
It would be at first for i386, since that is the system I have access
to. Generally once native BER MetaOCaml is done, it should work on all
architectures that support dynamic linking; that claim has to be
experimentally confirmed though.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: AGI research using ocaml
  2010-03-13 14:00   ` Eray Ozkural
@ 2010-03-14 19:38     ` Stefan Monnier
  0 siblings, 0 replies; 3+ messages in thread
From: Stefan Monnier @ 2010-03-14 19:38 UTC (permalink / raw)
  To: caml-list

>> 4) You would like to generate OCaml program fragments instead of Scheme.
>> Your idea is that the type system, imposing more constraints on the legal
>> program, will reduce the search space and accelerate your generator.
> Absolutely.  For simpler function induction problems, I assume this
> could even be done automatically by inducing type constraints over a
> set of examples.  Part of future research, I think.  I am afraid I'll
> have to read many programming language papers!

Depending on how you want to use types, it can help, but not
necessarily:

If you manage to use types to restrict your search, then that's great,
since your programs will be properly typed by construction (and the host
language may even know that, e.g. using GADTs or something equivalent)
and you may indeed be able to interpret them faster.

But if you don't, then you end up with programs which may or may not be
properly typed, in which case types will allow you to reject programs
before running them, but at the cost of having to type-check every
program.  So if the run time of each program is short compared to the
program's size, it may end up more costly to type-check the code than to
just run it.


        Stefan


^ permalink raw reply	[flat|nested] 3+ messages in thread

* AGI research using ocaml
@ 2010-03-13 10:29 Eray Ozkural
  2010-03-13 13:21 ` [Caml-list] " blue storm
  0 siblings, 1 reply; 3+ messages in thread
From: Eray Ozkural @ 2010-03-13 10:29 UTC (permalink / raw)
  To: caml-list

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-07-31  8:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-31  8:25 AGI research using ocaml oleg
  -- strict thread matches above, loose matches on Subject: below --
2010-03-13 10:29 Eray Ozkural
2010-03-13 13:21 ` [Caml-list] " blue storm
2010-03-13 14:00   ` Eray Ozkural
2010-03-14 19:38     ` Stefan Monnier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).