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

Reply via email to