Re: strange booleanconvert behavior?
- To: mathgroup at smc.vnet.net
- Subject: [mg127374] Re: strange booleanconvert behavior?
- From: Francisco Gutierrez <fgutiers2002 at yahoo.com>
- Date: Fri, 20 Jul 2012 03:53:53 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20120710044211.04D95683D@smc.vnet.net> <20120711062003.57D19685F@smc.vnet.net>
- Reply-to: Francisco Gutierrez <fgutiers2002 at yahoo.com>
Many thanks to Dave Snead and Peter Pein for their responses to my query about BooleanConvert behavior.
The solutions worked. At the same time, it is clear that BooleanConvert has a quirk (or the documentation is severely incomplete). Hope in version 9 it is fixed
Francisco
From: Dave Snead <dsnead6 at charter.net>
To: mathgroup at smc.vnet.net
Sent: Wednesday, July 11, 2012 1:20 AM
Subject: [mg127374] Re: strange booleanconvert behavior?
Found the same problem.
Clearly Mathematica isn't working correctly when the number of sublists is
more than 9.
As a work around consider
num1={{a,b,c,d},{a,b,c,e},{a,b,c,f},{a,b,c,g},{a,b,c,h},{a,b,c,i},{a,b,c,j},{a,b,c,k},{a,b,c,l},{a,b,c,m},{a,b,c,n}}
num2=Apply[Or,Apply[And,#]&/@num1]
x = BooleanConvert[Take[num2, 9], "CNF"];
y = BooleanConvert[Drop[num2, 9], "CNF"];
BooleanConvert[x || y, "CNF"]
Cheers,
Dave
-----Original Message-----
From: Francisco Gutierrez
Sent: Monday, July 09, 2012 9:42 PM
To: mathgroup at smc.vnet.net
Subject: [mg127374] strange booleanconvert behavior?
Dear Group:
Say I have the following expression:
num1={{a,b,c,d},{a,b,c,e},{a,b,c,f},{a,b,c,g},{a,b,c,h},{a,b,c,i},{a,b,c,j},{a,b,c,k},{a,b,c,l},{a,b,c,m},{a,b,c,n}}
I transform it into a logical expression:
num2=Apply[Or,Apply[And,#]&/@num1]
I want to simplify this to a CNF, and the obvious function to use is Boolean
Convert. Suppose I apply it to NINE elements of num2:
BooleanConvert[Take[num2,9],"CNF"]
The output is=
a&&b&&c&&(d||e||f||g||h||i||j||k||l)
It works perfectly well!
However, if I apply BooleanConvert to the whole expression I get back a
bunch of crap. Also if I apply it to 10 elements of num2.
In sum, it appears that BooleanConvert only works well for 9 expressions or
less. Tried this with other two examples, and found
exactly the same result.
All this in Mathematica 8
Can somebody help me?
Francisco
- References:
- strange booleanconvert behavior?
- From: Francisco Gutierrez <fgutiers2002@yahoo.com>
- Re: strange booleanconvert behavior?
- From: "Dave Snead" <dsnead6@charter.net>
- strange booleanconvert behavior?