Le Sat, 29 Sep 2012 22:27:32 -0400, Stavros Macrakis wrote:
> Ah, OK, so I'm not sure what Mathematica has to do with this.
>
> A unifier should probably be written in Lisp. To be useful for math,
> we'll need something considerably more elaborate than Norvig's unifier.
> In particular, we'll presumably want to support identities,
> associativity, and commutativity of the basic arithmetic operators, so
> that x*y will unify with w (x=1, y=w or x=w, y=1). This is the sort of
> thing that Moses' old pattern-matcher (schatchen) in the integration
> package does, though in a less general and clean way than modern
> unifiers.
This kind of knowledge could be integrated in the form used by the
unifier and used by it. Since these elements of knowledge already exist
in the Maxima lisp code, one could even translate it more-or-less
automatically from Maxima lisp (or Maxima) code. Think "Prolog in Maxima",
if you want. The unifier "engine" itself could be very simple (the
simpler the faster ?), the optimization effort being reported on the
knowledge database that it uses.
Just my two bits,
Emmanuel Charpentier
> -s
>
> On Sat, Sep 29, 2012 at 1:30 PM, Emmanuel Charpentier <
> emm.charpentier at free.fr> wrote:
>
>> Le Sat, 29 Sep 2012 09:42:57 -0400, Steve Stevenson wrote:
>>
>> > In 2007 there was a discussion of unification and Maxima. Has anyone
>> > worked on a unifier since?
>>
>> I remembered that a 90's textbook explained unification by building a
>> fullunifier (in Common Lisp). A bit of googling allowed me to retrieve
>> Peter Norvig's book reference (see below) and code (3 first hits...).
>>
>> This could be a starting point, no ? Now, the question is whether it is
>> better to translate this code in Maxima or to keep it in Lisp and to
>> interface it in Maxima. Either way, my knowledge of Maxima is way too
>> weak to do it now...
>>
>> HTH,
>>
>> Emmanuel Charpentier
>>
>> Norvig's textbook :
>>
>> @book{norvig1992paradigms,
>> title={Paradigms of artificial intelligence programming: case studies
>> in Common LISP},
>> author={Norvig, P.},
>> year={1992},
>> publisher={Morgan Kaufmann}
>> }
>>
>> _______________________________________________
>> Maxima mailing list Maxima at math.utexas.edu
>> http://www.math.utexas.edu/mailman/listinfo/maxima
>>
> <font color="#330000"><font><font face="georgia,serif">Ah, OK, so
> I'm not sure what Mathematica has to do with
> this.</font></font></font><div><font color="#330000"><font><font
> face="georgia,serif"><br></font></font></font></div>
>
> <div><font color="#330000"><font><font face="georgia,serif">A unifier
> should probably be written in Lisp. ?To be useful for math, we'll
> need something considerably more elaborate than Norvig's unifier.
> ?In particular, we'll presumably want to support identities,
> associativity, and commutativity of the basic arithmetic operators, so
> that x*y will unify with w (x=1, y=w or x=w, y=1). ?This is the sort of
> thing that Moses' old pattern-matcher (schatchen) in the integration
> package does, though in a less general and clean way than modern
> unifiers.</font></font></font></div>
> <div><font color="#330000"><font><font
> face="georgia,serif"><br></font></font></font></div><div><font
> color="#330000"><font><font face="georgia,serif">? ? ? ? ? ?
> -s</font></font></font></div>
> <div><font color="#330000" face="georgia, serif"><br></font><div
> class="gmail_quote">On Sat, Sep 29, 2012 at 1:30 PM, Emmanuel
> Charpentier <span dir="ltr"><<a href="mailto:emm.charpentier at free.fr"
> target="_blank">emm.charpentier at free.fr</a>></span> wrote:<br>
>
> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px
> #ccc solid;padding-left:1ex"><div>Le Sat, 29 Sep 2012 09:42:57 -0400,
> Steve Stevenson wrote:<br>
> <br>
> > In 2007 there was a discussion of unification and Maxima. Has
> anyone<br>
> > worked on a unifier since?<br>
> <br>
> </div>I remembered that a 90's textbook explained unification by
> building a<br>
> fullunifier (in Common Lisp). A bit of googling allowed me to
> retrieve<br>
> Peter Norvig's book reference (see below) and code (3 first
> hits...).<br>
> <br>
> This could be a starting point, no ? Now, the question is whether it
> is<br>
> better to translate this code in Maxima or to keep it in Lisp and to<br>
> interface it in Maxima. Either way, my knowledge of Maxima is way
> too<br>
> weak to do it now...<br>
> <br>
> HTH,<br>
> <br>
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Emmanuel
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Charpentier<br>
> <br>
> Norvig's textbook :<br>
> <br>
> @book{norvig1992paradigms,<br>
> ? title={Paradigms of artificial intelligence programming: case
> ? studies<br>
> in Common LISP},<br>
> ? author={Norvig, P.},<br>
> ? year={1992},<br>
> ? publisher={Morgan Kaufmann}<br>
> <div><div>}<br>
> <br>
> _______________________________________________<br>
> Maxima mailing list<br>
> <a href="mailto:Maxima at math.utexas.edu"
> target="_blank">Maxima at math.utexas.edu</a><br>
> <a href="http://www.math.utexas.edu/mailman/listinfo/maxima"
> target="_blank">http://www.math.utexas.edu/mailman/listinfo/maxima</
a><br>
> </div></div></blockquote></div><br></div>
> _______________________________________________
> Maxima mailing list Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima