Oops. After double-checking my statement it turns out I was wrong: this
constraint is indeed contained in both examples. BTW: just for a test I
replaced all integers N by N*100. The problem remains, so this is not
related to any upper bound 64 issue.
I have no clue what the problem is here, sorry..
Best,
Torsten
On 17.08.2006, at 10:57, Torsten Anders wrote:
Dear Kilian,
it appears to me your two examples differ: the constraints
{FS.card Root.11 1}
is only contained in your example with no solution.
Best,
Torsten
On 16.08.2006, at 17:42, Kilian Sprotte wrote:
Hello all,
I am really getting mad and would highly appreciate your help.
You'll find attached two mozart cp scripts - one finds a solution,
the other doesn't.
The only difference between the two scripts is A MERE CHANGE IN ORDER
of posting the constraints.
(I just double checked using the diff -u s1 s2 tool - but check
again, if you like)
Okay, to get a little bit more serious again, I would be really
happy, if you could check those scripts with your machines and
confirm that this is really true. I am doing it on OSX tiger.
I suspect that I am running again into the problem I mentioned in my
earlier post
http://www.mozart-oz.org/pipermail/mozart-users/2006/014979.html
and see for Raphaels answer
http://www.mozart-oz.org/pipermail/mozart-users/2006/014984.html
Unfortunately, the "trick" of always declaring FS vars with their
upperBound does not seem to help in this case.
Maybe, if haven't really understood this well enough, yet....
What do I have to do to definitely make sure that the buggy
representation change of small sets (below 64) and big sets does not
happen?
Or, are there any other workarounds?
Working with Oz is really a lot of fun,
but this is killing me...
(and a pianist really wants to be able to play higher than 64...)
Kilian
%-------------
declare
% finds a sol
{Browse
{SearchOne
proc {$ Root}
Root = {MakeTuple '#' 14}
Root.1 = {FS.value.make [ 55 60 73]}
Root.2 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.3 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.4 = {FS.value.make [ 40 60 88 100]}
Root.5 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.6 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.7 = {FD.int [ 40 55 60 73 88 100]}
Root.8 = {FD.int [ 40 55 60 73 88 100]}
Root.9 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.10 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.11 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.12 = {FD.int [ 40 55 60 73 88 100]}
Root.13 = {FD.int [ 40 55 60 73 88 100]}
Root.14 = {FD.int [ 40 55 60 73 88 100]}
{FS.diff Root.1 Root.2 Root.5}
{FS.card Root.3 3}
{FS.include Root.8 Root.5}
{FS.diff Root.4 Root.3 Root.11}
{FS.card Root.1 3}
{FS.card Root.10 1}
{FS.include Root.12 Root.10}
{FS.card Root.5 1}
{FS.diff Root.2 Root.3 Root.6}
{FS.diff Root.2 Root.1 Root.9}
{FS.include Root.7 Root.6}
{FS.include Root.13 Root.11}
{FS.card Root.11 1}
{FS.distinctN [ Root.9 Root.10 Root.11]}
{FS.card Root.2 3}
{FS.card Root.6 1}
{FS.card Root.9 1}
{FS.distinctN [ Root.5 Root.6]}
{FS.include Root.14 Root.9}
{FS.diff Root.3 Root.2 Root.10}
{FD.distribute naive {Record.filter Root FD.is}}
end}}
% -----------------------------
declare
% no solution
{Browse
{SearchOne
proc {$ Root}
Root = {MakeTuple '#' 14}
Root.1 = {FS.value.make [ 55 60 73]}
Root.2 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.3 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.4 = {FS.value.make [ 40 60 88 100]}
Root.5 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.6 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.7 = {FD.int [ 40 55 60 73 88 100]}
Root.8 = {FD.int [ 40 55 60 73 88 100]}
Root.9 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.10 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.11 = {FS.var.upperBound [ 40 55 60 73 88 100]}
Root.12 = {FD.int [ 40 55 60 73 88 100]}
Root.13 = {FD.int [ 40 55 60 73 88 100]}
Root.14 = {FD.int [ 40 55 60 73 88 100]}
{FS.card Root.1 3}
{FS.include Root.12 Root.10}
{FS.card Root.5 1}
{FS.card Root.10 1}
{FS.diff Root.2 Root.3 Root.6}
{FS.diff Root.2 Root.1 Root.9}
{FS.include Root.7 Root.6}
{FS.include Root.13 Root.11}
{FS.include Root.14 Root.9}
{FS.distinctN [ Root.9 Root.10 Root.11]}
{FS.card Root.2 3}
{FS.card Root.6 1}
{FS.card Root.9 1}
{FS.distinctN [ Root.5 Root.6]}
{FS.diff Root.3 Root.2 Root.10}
{FS.card Root.11 1}
{FS.diff Root.1 Root.2 Root.5}
{FS.card Root.3 3}
{FS.include Root.8 Root.5}
{FS.diff Root.4 Root.3 Root.11}
{FD.distribute naive {Record.filter Root FD.is}}
end}}
______________________________________________________________________
___________
mozart-users mailing list
mozart-users@ps.uni-sb.de
http://www.mozart-oz.org/mailman/listinfo/mozart-users
--
Torsten Anders
Sonic Arts Research Centre • Queen's University Belfast
Frankstr. 49 • D-50996 Köln
Tel: +49-221-3980750
http://www.torsten-anders.de
http://strasheela.sourceforge.net
_______________________________________________________________________
__________
mozart-users mailing list
mozart-users@ps.uni-sb.de
http://www.mozart-oz.org/mailman/listinfo/mozart-users
--
Torsten Anders
Sonic Arts Research Centre • Queen's University Belfast
Frankstr. 49 • D-50996 Köln
Tel: +49-221-3980750
http://www.torsten-anders.de
http://strasheela.sourceforge.net
_________________________________________________________________________________
mozart-users mailing list
mozart-users@ps.uni-sb.de
http://www.mozart-oz.org/mailman/listinfo/mozart-users