Re: combinatorics/graph theory problem for set partitions

From: Keith A. Lewis (lewis_at_PROBE.mitre.org)
Date: 08/11/04


Date: Wed, 11 Aug 2004 15:31:39 +0000 (UTC)

Faheem Mitha <faheem@email.unc.edu> writes in article <slrnchiff8x.rsk.faheem@Chrestomanci.home.earth> dated Tue, 10 Aug 2004 21:28:08 GMT:
>Consider n vertices. Then there are $\binom{n}{2} = \frac{n(n-1)}{2}$
>edges that can connect these n vertices.
>
>Suppose I construct a random graph by choosing k edges in such a way
>that each edge is chosen independently with probability p, where p is
>small.
>
>Then I consider the set partition defined by this graph such that two
>vertices i and j are in the same partition iff they are connected by
>some sequence of edges.
>
>The motivation for this is to get a probability distribution on set
>partitions of sets of a fixed size. It is clear that the above recipe
>defines one. However, it is less clear for a given model M how to
>compute its probability P(M). This seems to involve adding up the
>probabilities over all graphs that give rise to a particular M, which
>might be a hard problem. Does anyone know if there is a known answer
>for this? I don't need a closed form solution. A recursive algorithm
>would work fine.

I tried doing it by paths but didn't get very far.

Probability that i and j are connected by a path of length 1 is p.
Probability that i and j are connected by a path of length 2 is (n-2)*p^2.
Probability that i and j are connected by a path of length 3 is C(n-2,2)*p^3.

The first two probabilities are independent of each other, but after that
they are not. So this approach may be a dead end.

Exhaustive enumeration? You have C(n*(n-1)/2, k) possible sets of paths,
all of equal probability. This type of problem lends itself to a Monte
Carlo simulation.

Pick k different random links, and compute the partition sizes. Repeat as
many times as your computing environment allows.

I'd suggest using an array linked[n,n] to store the link information,
possibly symetric such that linked[i,j] = linked[j,i]. A structured array
for partition information, partition[n] which initially has .id
partition[i].id = i, partition[i].size = 1, and partition[i].next = NULL.

For each new link (i,j), look at partition[i].id and partition[j].id. If
they are different, set them both to the lower value, add the sizes, and
append one list to the other.

Another approach would be to model each partition based on size and number
of links, computing probabilities of each interatively. Do not count
unconnected vertices as partitions, but maintain a count of how many there
are.

If there's a partition of size n1 with k1 links, there are n1*(n1-1)/2 - k1
potential links which would not change anything except the link count. If
there's another partition of size n2, there are n1*n2 potential links which
would cause the partitions to merge. And there are n1*singleton_count links
which would increment the size by 1.

--Keith Lewis klewis {at} mitre.org
The above may not (yet) represent the opinions of my employer.



Relevant Pages

  • Re: combinatorics/graph theory problem for set partitions
    ... which arises from a modelling problem. ... > Suppose I construct a random graph by choosing k edges in such a way ... > that each edge is chosen independently with probability p, ... > Then I consider the set partition defined by this graph such that two ...
    (sci.math.research)
  • Re: combinatorics/graph theory problem for set partitions
    ... I think from your description that the probability of any edge being ... members of that partition are a, b, and, c. ... graphs of three nodes that are fully connected. ... I'm just having fun here. ...
    (sci.math)
  • Re: combinatorics/graph theory problem for set partitions
    ... I think from your description that the probability of any edge being ... members of that partition are a, b, and, c. ... graphs of three nodes that are fully connected. ... I'm just having fun here. ...
    (sci.stat.math)
  • Re: combinatorics/graph theory problem for set partitions
    ... >Suppose I construct a random graph by choosing k edges in such a way ... >that each edge is chosen independently with probability p, ... >Then I consider the set partition defined by this graph such that two ...
    (sci.math)
  • Percolation theory
    ... I am a mathematician and don't know a whole lot about biology. ... This gives us an infinite graph, which we shall also call Z^n. ... with probability 1-p we delete the edge. ... probability that one genotype will produce a viable organism, ...
    (sci.bio.evolution)