<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2009/01/42463dd39aad0eac550ca4e0e407beaa"
  from="Hugo Ferreira &lt;hmf@i...&gt;"
  author="Hugo Ferreira"
  date="2009-01-16T09:44:49"
  subject="Re: [Caml-list] Optimizing symbolic processing code"
  prev="2009/01/1564274d854b2d85216a54ef618ecf88"
  next="2009/01/de82386b1ffadc797f53981187f9e437"
  prev-in-thread="2009/01/1564274d854b2d85216a54ef618ecf88"
  next-in-thread="2009/01/de82386b1ffadc797f53981187f9e437"
  prev-thread="2009/01/585bcdfae45f6131d0268a09e5d0266a"
  next-thread="2009/01/7d9ffe8f9682d9fa8b4a85b38c339f33"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="Optimizing symbolic processing code">
<msg 
  url="2009/01/8f74cee195e9898253fcdf3d0b9e3eea"
  from="Hugo Ferreira &lt;hmf@i...&gt;"
  author="Hugo Ferreira"
  date="2009-01-16T08:42:54"
  subject="Optimizing symbolic processing code">
<msg 
  url="2009/01/1564274d854b2d85216a54ef618ecf88"
  from="blue storm &lt;bluestorm.dylc@g...&gt;"
  author="blue storm"
  date="2009-01-16T09:05:38"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
<msg 
  url="2009/01/42463dd39aad0eac550ca4e0e407beaa"
  from="Hugo Ferreira &lt;hmf@i...&gt;"
  author="Hugo Ferreira"
  date="2009-01-16T09:44:49"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
</msg>
</msg>
<msg 
  url="2009/01/de82386b1ffadc797f53981187f9e437"
  from="Jon Harrop &lt;jon@f...&gt;"
  author="Jon Harrop"
  date="2009-01-16T13:38:02"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
<msg 
  url="2009/01/d18f89fa5df79d693f8e6c9aad0a5951"
  from="Hugo Ferreira &lt;hmf@i...&gt;"
  author="Hugo Ferreira"
  date="2009-01-16T14:15:50"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
<msg 
  url="2009/01/d0510a2ea3cd55297cb1fd0d9dd54338"
  from="Peter Ilberg &lt;peter.ilberg@g...&gt;"
  author="Peter Ilberg"
  date="2009-01-16T16:14:45"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
<msg 
  url="2009/01/936fa2e3b8bb8806b844c999b8a5676c"
  from="Hugo Ferreira &lt;hmf@i...&gt;"
  author="Hugo Ferreira"
  date="2009-01-16T16:19:47"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
<msg 
  url="2009/01/61e18a7af59c099177257fb94efd1e05"
  from="Andrej Bauer &lt;andrej.bauer@a...&gt;"
  author="Andrej Bauer"
  date="2009-01-16T19:09:18"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
<msg 
  url="2009/01/35ccf1fa409bb70e0fc0ff5b7660582e"
  from="Andrej Bauer &lt;andrej.bauer@a...&gt;"
  author="Andrej Bauer"
  date="2009-01-16T20:48:43"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
<msg 
  url="2009/01/4ff47b3362226617fce6cf06a44ec5e5"
  from="Hugo Ferreira &lt;hmf@i...&gt;"
  author="Hugo Ferreira"
  date="2009-01-17T09:28:47"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
<msg 
  url="2009/01/4274d9a042cd64c80ff97c7575ccf3cb"
  from="Andrej Bauer &lt;andrej.bauer@a...&gt;"
  author="Andrej Bauer"
  date="2009-01-17T11:39:16"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
<msg 
  url="2009/01/63b5ac98757d28b595b8fd8a8df1de67"
  from="Hugo Ferreira &lt;hmf@i...&gt;"
  author="Hugo Ferreira"
  date="2009-01-17T15:48:05"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
<msg 
  url="2009/01/e4b1f2ea536665130434f46b955e0a2a"
  from="Hugo Ferreira &lt;hmf@i...&gt;"
  author="Hugo Ferreira"
  date="2009-01-17T16:08:47"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2009/01/3df558eab339e52cfc1c949697540acd"
  from="Kuba Ober &lt;ober.14@o...&gt;"
  author="Kuba Ober"
  date="2009-01-16T21:46:47"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
<msg 
  url="2009/01/e187f047fd50ec739e715541cee2a5ec"
  from="Hugo Ferreira &lt;hmf@i...&gt;"
  author="Hugo Ferreira"
  date="2009-01-17T09:46:06"
  subject="Re: [Caml-list] Optimizing symbolic processing code">
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</msg>
</thread>

<contents>
blue storm wrote:
&gt; On 1/16/09, Hugo Ferreira &lt;hmf@inescporto.pt&gt; wrote:
&gt;&gt; I have implemented a simple Prolog like inference engine
&gt;&gt; to be used in machine learning algorithms (ILP). My first
&gt;&gt; basic test shows that inference is dismally slow (compared
&gt;&gt; to a Prolog compiler). Consequently I am looking for
&gt;&gt; information on optimizing the code.
&gt; 
&gt; Before trying low-level optimizations, i suggest you check carefully
&gt; your implementation. It's a bit strange that your performance is so
&gt; bad, and i suspect there could be improvement of algorithmic nature.
&gt; 

Don't think it is algorithmic. The test specifically targets the
discriminant tree I developed according to the descriptions found
in various articles.

Note that the Prolog implementation tested also requires some time to
solve the problem. Now, I don't expect to have the same performance
as an optimized inference engine but... its so much slower.


&gt; There have been successful translations of Prolog to OCaml before :
&gt; http://groups.google.com/group/comp.lang.prolog/msg/28c4361bb5f865b8?pli=1
&gt; , wich is quite different as it uses the ocaml compiler itself to get
&gt; good performances.
&gt; 

Yes I know of this. However the need to some additional stuff (forward
clause subsumption testing, coverage counting, clause ranking, etc.)
that are specific to the learning algorithm has prompted me to develop
this code.

Regards,
Hugo F.


</contents>

</message>

