0xDE ([info]11011110) wrote,
@ 2006-06-18 00:14:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:antimatroids, combinatorial enumeration, media theory, python

Reverse search for antimatroids
An antimatroid (also called a learning space) is a family of sets closed under union, such that for every nonempty set in the family there is an element that can removed to produce another set in the family. It turns out that, for any antimatroid A except powersets, there is a set S on the same elements that can be added to A to make a larger augmented antimatroid.

Proof sketch: Let U be the union of the sets in A, and by removing elements one at a time from U find T and x such that the sets between T u {x} and U form a powerset but the sets between T and U do not. If U \ {x} is in A, then one can continue recursively in the subantimatroid between T and U \ {x}; otherwise we can choose S to be a one-element extension of the largest set in A between T and U \ {x}.

This proof can be turned into a deterministic algorithm for choosing a specific augmentation out of all the possible ones. If one considers the augmented antimatroid to be the parent of the original antimatroid, this parent relation forms a tree with the powerset at its root:



We can then generate all the possible antimatroids using reverse search, which is just a fancy phrase for an algorithm that explores a tree like this one by reversing the parent relation. The time per antimatroid generated, over a k-element universe, is polynomial in 2k, not bad since the number of antimatroids generated is double-exponential in k.

I implemented this in Python, from which I generated the 22 families in the tree of 3-element antimatroids above, matching some hand calculations I'd done previously. My program also found 485 antimatroids over 4 elements and 59386 over 5 elements, but I am a little distrustful of these numbers since the program is intricate and painful to debug. Unfortunately I couldn't find anything about this enumeration problem in the OEIS or with Google, so I'm at a bit of a loss for how to check these results; I suppose I could at least enumerate all 216 4-element set families and test which ones are antimatroids.

If the pattern of number of antimatroids being roughly 22k - 1 holds, the program as it stands should be able to list all 6-element antimatroids in about a month of laptop time, but I suspect reimplementation in a faster language and/or running it on a faster machine should speed that up significantly, to closer to a single day.

ETA 6/19: This much shorter program for brute-force testing all 216 4-element set families produces exactly the same output as my reverse search, so I am now much more confident in the reverse search results.

ETA2 6/20: Now up on the OEIS.


(Post a new comment)

A119770 Number of different antimatroids
[info]magicdragon2
2006-06-20 09:10 pm UTC (link)
I like your new A119770 Number of different antimatroids on n labeled items. When you say: "n=7 seems hopeless without more mathematics" are you seeking Combinatorics of trees, or something more Group Theoretic?

The issue has been posed thus, in [Correspondence Between Two Antimatroid Algorithmic Characterizations", by Kempner, Yulia; Levit, Vadim E.]
citebase.eprints.org/cgi-bin/citations?id=oai:arXiv.org:math/0307013
[see the PDF]:

"The basic distinction between already known algorithmic characterizations of matroids and antimatroids is in the fact that for antimatroids the ordering of elements is of great importance. While antimatroids can also be characterized as set systems, the question whether there is an algorithmic description of antimatroids in terms of sets and set functions was open for some period of time. This article provides a selective look at classical material on algorithmic characterization of antimatroids, i.e., the ordered version, and a new unordered version. Moreover we empathize formally the correspondence between these two versions."

I think they mean "empasize" rather than "empathize."

Best,

Professor Jonathan Vos Post

(Reply to this) (Thread)

Re: A119770 Number of different antimatroids
[info]11011110
2006-06-20 09:13 pm UTC (link)
I like your new A119770 Number of different antimatroids on n labeled items. When you say: "n=7 seems hopeless without more mathematics" are you seeking Combinatorics of trees, or something more Group Theoretic?

I think that group theory (e.g. enumerating isomorphism classes of antimatroids and then Polya counting) will only save a factor of 7! at best, which is not enough. But mostly what I mean by that is merely that my current program can't solve the problem even with a faster reimplementation, so actual ideas and not just coding are required. But I don't know now what those ideas are going to be.

Thanks for the reference, will check it out.

(Reply to this) (Parent)(Thread)

Re: A119770 Number of different antimatroids
[info]magicdragon2
2006-06-20 09:32 pm UTC (link)
I just posted the below comment on OEIS, which just might be "published" before Dr. Neila J. A. Sloane takes a month-long vacation. If so, others may join your quest.

Best,

Professor Jonathan Vos Post

Subject: COMMENT FROM Jonathan Vos Post RE A119770

%I A119770
%S A119770 1, 1, 3, 22, 485, 59386
%N A119770 Number of different antimatroids on n labeled items.
%C A119770 Antimatroids are a subset of greedoids, usually defined
either in terms of set systems, as David Eppstein does in his tree
searches, or in terms of formal languages. The two are equivalent, as discussed in Kempner and Levit
%H A119770 Yulia Kempner, Vadim E. Levit, Correspondence Between Two
Antimatroid Algorithmic Characterizations
, 1 July 2003.
%O A119770 0,3
%K A119770 ,nonn,
%A A119770 Jonathan Vos Post (jvospost2[insert AT here]yahoo.com), Jun 20 2006

(Reply to this) (Parent)

Other things to put in OEIS
(Anonymous)
2006-06-24 07:05 pm UTC (link)
Maybe you could also put the sequence of accessible families, and closed under union families, into the OEIS.

Closed under union is related to this one:
http://www.research.att.com/~njas/sequences/A102897

(Reply to this) (Thread)

Re: Other things to put in OEIS
[info]11011110
2006-06-24 07:51 pm UTC (link)
Closed under union is related to this one

It's not merely related, it is that one, isn't it? At least, I haven't checked the numbers but it includes closed under intersection set families in the description, and union and intersection are the same via complementation.

But I agree that accessible families should be in there, and doesn't seem to be yet.

(Reply to this) (Parent)(Thread)

Re: Other things to put in OEIS
(Anonymous)
2006-06-24 08:32 pm UTC (link)
I thought the OEIS entry was for any family of sets up to a number of elements, but closed-under-union for antimatriods is only for a family of sets with a specific number of elements.

Also, there's a reason I'm anonymous... I not too confident of my arguments!

(Reply to this) (Parent)(Thread)

Re: Other things to put in OEIS
[info]11011110
2006-06-24 08:49 pm UTC (link)
I thought the OEIS entry was for any family of sets up to a number of elements, but closed-under-union for antimatriods is only for a family of sets with a specific number of elements.

You're probably right. Both deserve to be in there.

(Reply to this) (Parent)


Create an Account
Forgot your login?
Login w/ OpenID
English • Español • Deutsch • Русский…