[Fwd: Re: FS & documentation]
Stefano Gualandi
stegua at info.ucl.ac.be
Wed Aug 21 10:16:29 CEST 2002
Hi,
I spend some time looking at FS module, but really I don't arrive to
solve this problem.
Does anybody has any idea about it?
thanks,
Stefano
-------- Original Message --------
Hi,
> I'm not sure what more help is needed [.]
Really, I need some help more...
> It looks like "naive" works too naive to be imitated by generic (maybe
> using the undocumented order function...)
> Guessing form its behaviour, it takes the first (undetermined) set,
> and it's smallest unkown elmenet, and distributes on
> including/excluding it.
I do not have problem with naive distribution, but with GENERIC.
I was guessing that when I have identical sets, it would always choose
the leftmost undetermined variable (or always the rightmost), but it
seems to me that sometime it picks the rightmost (always at first step),
sometime the leftmost...
If I use <generic>, I have strategy:
order(sel: +Sel <= min
cost: +Cost <= card
comp: +Comp <= unknown
It should pick the set with minimal cardinality of unknown set
(UpperBound\LowerBound), but when the cardinality of unknown sets are
the same...I don't understand how it works...
Let me show you an example:
---------------------------------------------------
Code:
-----
declare
proc {Script Root}
{FS.var.tuple.upperBound p 3 [1#5] Root}
{FS.partition Root {FS.value.make [1#5]}}
{FS.distribute generic Root}
end
{ExploreOne Script}
Insepector:
-----------
1#p('_'{{}..{1#5}}#{0#5} #unknown = 5
'_'{{}..{1#5}}#{0#5} #unknown = 5
'_'{{}..{1#5}}#{0#5}) #unknown = 5 -> rightmost
2#p('_'{{}..{2#5}}#{0#4} #unknown = 4 -> leftmost
'_'{{}..{2#5}}#{0#4} #unknown = 4
'_'{{1}..{1#5}}#{1#5}) #unknown = 4
3#p('_'{{2}..{2#5}}#{1#4} #unknown = 3
'_'{{}..{3#5}}#{0#3} #unknown = 3
'_'{{1}..{1 3#5}}#{1#4}) #unknown = 3 -> rightmost
4#p('_'{{2}..{2 4#5}}#{1#3} #unknown = 2 -> leftmost
'_'{{}..{4#5}}#{0#2} #unknown = 2
'_'{{1 3}..{1 3#5}}#{2#4}) #unknown = 2
5#p('_'{{2 4}..{2 4#5}}#{2#3} #unknown = 1
'_'{{}..{5}}#{0#1} #unknown = 1
'_'{{1 3}..{1 3 5}}#{2#3}) #unknown = 1 -> rightmost
6#p({2 4}#2
{}#0
{1 3 5}#3)
------------------------------------------------------
bye,
Stefano
-
Please send submissions to users at mozart-oz.org
and administriva mail to users-request at mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.
-
Please send submissions to users at mozart-oz.org
and administriva mail to users-request at mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.
More information about the mozart-users
mailing list