Let me respond to my own posting...

I've now read the section on multi-sort species again, and begin to 
understand that these "structure types inbetween" (which come from 
multiset input) are, in fact, ordinary isomorphism types of multi-sort 
species. For that reason there is another "con" which actually has 
nothing to do with the order on L.

It rather says that introducing multisets in a unisort species context
I consider not my _favourite_ design.

1) Multisort species come with different generating series (having as 
many variables as the number of sorts).

2) Although the generation of structures might be more efficient if done 
in the way Martin does it in branches/iso-experiment, having unisort and 
multisort concepts in one context, is not what I would prefer.

3) It seem a bit cumbersome to require the user to call

structures([l11,l12],[l21]) $ BinaryTree(L1,L2)

for generating, for example, isomorphism types of trees with 3 nodes 
where two of them are indistinguishable and

structures([l11,l12],[l21],[l31,l32,l33]) $ BinaryTree(L1,L2,L3)

for an analogous thing.

That sounds like introducing lots and lots of domains and making it hard 
to work with AC.

4) However, if I consider functorial composition (BLL right after 
Example 2.4.9) then having

MULTISORTSPECIES ==> (L: Tuple(LabelType)) -> CombinatorialSpecies(L)

(note the "Tuple")
would not be such a bad idea.


BTW, I am not saying that I am completely against

structures: MultiSet L -> Generator %

because it would perhaps mean that we switch to implement multi-sort 
species, but what bothers me are the generating series. They are then 
simply not "multi-sort". So if someone tells me how that can be 
resolved, I'd be more happy.

Ralf


On 02/27/2007 04:41 PM, Ralf Hemmecke wrote:
> Hello to all who care...
> 
> I would like to take up the diskussion started at
> 
> http://thread.gmane.org/gmane.comp.mathematics.aldor-combinat.devel/537
> 
> In particular I'd like to discuss the design of the generation of 
> structures and isomorphism types.
> 
> Actually, Martin made me aware of the fact that there are not only 
> labelled and unlabelled structures but also things inbetween. So
> 
> structures: MultiSet L -> Generator %
> 
> would be a good candidate for a new design.
> 
> If all elements have multiplicity 1, then it would be like
> 
> structures: SetSpecies L -> Generator %
> 
> And if there is only one element with multiplicity n, then it would be like
> 
> isomorphismTypes: SetSpecies -> Generator %.
> 
> In fact, I believe that for a cleaner interface both of the functions 
> involving "SetSpecies" should not be exported but rather only used 
> internally.
> 
> Currently, I see a MultiSet(L) as something like a polynomial domain 
> (that has no multiplication, and all elements are of "degree" 1) where 
> the "variables" are from L and the (non-negative integer) coefficients 
> denote the multiplicity of the "variable".
> 
> Now, since there is a domain "SparseAdditiveArray" in AC that basically 
> is such a "polynomial domain of degree 1", it costs not much to 
> implement MultiSet.
> 
> What bothers me a bit is whether L should be ordered or not.
> There are pros and cons.
> 
> con 1) A multiset is by nature unordered.
> 
> con 2) We deal with species that work over sets.
> 
> con 3) I don't yet have an idea whether ordering the "variables" would 
> cost a lot in the generation of species.
> 
> 
> pro 1) SparseAdditiveArray works only with ordered "variables".
> 
> pro 2) I believe that introducing some order on the input is necessary 
> for (un)ranking anyway.
> 
> pro 3) Since species are endofunctors of the finite sets category, 
> ordering (of a finite set) is not a big deal.
> 
> 
> I think the code that Martin has in branches/iso-experiments could serve 
> as a start for the idea of having only
> 
> structures: MultiSet L -> Generator %
> 
> Does somebody see any problem in that design?
> 
> Ralf

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Aldor-combinat-devel mailing list
Aldor-combinat-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aldor-combinat-devel

Reply via email to