Hi, I am construction a Full Text Search engine replacing the internal MySQL engine in an experiment for index all the content of neswspaper's 20 years of publications , and the first layer to do a search is to convert the Boolean Phrase entered by the user to a CNF (conjuntive normal form).
I suppose this is a classical AI problem, and simplified in the universe of just Boolean operations allowed: AND OR and NOT. In Wolfran Mathematica, what I am looking for is to do a simple: LogicalExpand of a Logical Phrase, like: IN: LogicalExpand [ a && b && ! ( c || ( d && ! e))] OUT: a && b && e && (! c || a) && b && ! c && ! d All the FTS is programed in PERL, as I love it !, but I can't find a module or an algorithm to reduce the expression to the CNF. I know that the problem to reduce some sentence to the CNF form is NP-complete, but I also read in my AI books that it's possible to implement (without any garanties of the stop point and end time), as it is implemented in Prolog or Lisp, then, my first approuch is to find some module to do the reduction, if I cannot find, my second alternative is to glue my Perl program to some Prolog interpreter (is it possible in Linux, I never tried ?). Could someone help me ? Thanks Roberto Slepetys -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]