Re: Data structure for partial orders
- From: Gene <gene.ressler@xxxxxxxxx>
- Date: Wed, 28 May 2008 10:53:48 -0700 (PDT)
On May 26, 8:47 pm, Florian Brucker <t...@xxxxxxxxxxxx> wrote:
Hello,
I'm looking for possible choices of data structures for storing a
partial order P. The structure should allow for (relatively) fast
- element checks (given A and B find out if (A,B) in P or (B,A) in P)
- calculation of transitive closure (The closure itself doesn't have to
be stored explicitely if checking whether A and B can be compared using
transitivity can be done in a "fast" way)
- locating incomparable elements (i.e. elements A and B such that
neither (A,B) in P nor (B,A) in P)
- updating with new elements (i.e. adding (A,B) to P)
As a bonus it would be nice if checking for inconsistences with respect
to a possible new element could be easily done (e.g. checking whether
after adding (A,B) P is still a partial order).
Any pointers on this are greatly appreciated.
The PO is equivalent to a directed acyclic graph (DAG), so any
directed graph data structure applies: adjacency lists or edge
matrices for example. If you are calculating transitive closure, the
edge matrix provides for simple implementation by matrix
multiplication. See http://csdl2.computer.org/comp/proceedings/asilomar/1995/7370/00/73700799.pdf
for example.
.
- Follow-Ups:
- Re: Data structure for partial orders
- From: Florian Brucker
- Re: Data structure for partial orders
- References:
- Data structure for partial orders
- From: Florian Brucker
- Data structure for partial orders
- Prev by Date: Re: any luck with freelance work on the Internet?
- Next by Date: Re: Data structure for partial orders
- Previous by thread: Data structure for partial orders
- Next by thread: Re: Data structure for partial orders
- Index(es):