Suppose I have a complete graph $G=(V,E)$ with $n$ vertices, whose edge weights $W\in\mathbb R_+^{n\times n}$ are drawn from some distribution $P(W)\in\mathrm{Prob}(\mathbb R_+^{n\times n})$. I randomly draw a set of edge weights $W\sim P$ and then compute the resulting minimum spanning tree $T\subseteq E$ of the weighted graph.
Is it possible to compute the probability of a given spanning tree $T$ given the distribution $P(\cdot)$?
A value proportional to this probability would suffice. If it helps, I'm happy to assume that each weight is chosen independently, i.e. $P(W)=\prod_{ij}P_{ij}(W_{ij})$, but I do not want to assume that the $W_{ij}$'s are iid. Even assuming each $P_{ij}$ is a Bernoulli (or exponential or Gaussian) distribution with a different parameter would be a great start.
This is doable for the case where each $P_{ij}$ is an independent exponential with its own rate $\lambda_{ij}$. Well, I say doable; this is still going to be a sum over $(n-1)!$ cases.
Exponential distributions are nice because, together with Prim's algorithm for a minimum spanning tree, there is a nice model for how we get a minimum spanning tree. We think of the edge weight of edge $ij$ as the time at which that edge "appears".
Prim's algorithm says that we take the first edge that appears, and put it in our spanning tree. Then we take the second edge that appears, and put it in our spanning tree. Over time, some edges that haven't appeared are rejected before they appear, because they'd create cycles, but apart from that, we keep taking the first edge that appears until we create a tree.
Exponential distributions are memoryless, so that once the first $k$ edges have appeared, the remaining time until an edge appears is still the same distribution as it was at the beginning (conditioned on what has happened so far).
We're going to sum over all $(n-1)!$ orders in which the edges of $T$ can appear. For each of these orders $e_1, e_2, \dots, e_{n-1}$, we multiply together the following probabilities:
For example, suppose we're looking at a $4$-vertex graph, and we want the tree consisting of edges $12$, $23$, and $34$. The probability that Prim's algorithm will add those three edges, in that order, is $$\frac{\lambda_{12}}{\lambda_{12} + \lambda_{13} + \lambda_{14} + \lambda_{23} + \lambda_{24} + \lambda_{34}} \times \frac{\lambda_{23}}{\lambda_{13} + \lambda_{14} + \lambda_{23} + \lambda_{24} + \lambda_{34}} \times \frac{\lambda_{34}}{\lambda_{14} + \lambda_{24} + \lambda_{34}}.$$ There'll be $5$ more similar-looking products for the other orders in which these edges can be added.
For large $n$ (and still independent edge weights), we can also solve the problem approximately in some other situations, by approximating the distributions with exponential distributions.
This works because (or to the extent that) the minimum-weight edge chosen at every step of Prim's algorithm will be much smaller than the typical weight of an edge. So the random weights will be "approximately memoryless" in the sense that the edge weights have barely anything to remember.
In this approximation, we want to replace each distribution $P_{ij}$ by the exponential distribution whose rate $\lambda_{ij}$ is $$ \lim_{t \to 0} \frac{\Pr[P_{ij} < t]}{t}. $$ The motivation for this formula is that $\Pr[P_{ij} < t]$ for very small $t$ is the only thing that will affect whether edge $ij$ gets used or not.