Walk on Decomposed Subdomains: A Hybrid Monte Carlo–Deterministic Solver for Elliptic PDEs

ACM Transactions on Graphics (SIGGRAPH) 2026
Clément Jambon · Mohammad Sina Nabizadeh · Mina Konaković Luković
Massachusetts Institute of Technology
Warehouse scene with streamlines (Fig. 1 of the WoDS paper)

Abstract. Elliptic partial differential equations are ubiquitous in graphics and engineering, but remain challenging to solve on complex or evolving geometries. Traditional discretization schemes (e.g., FEM/FDM) provide stable, globally coupled solutions but require heavy meshing or extreme refinement to accurately resolve geometric detail. In contrast, grid-free Monte Carlo methods (e.g., Walk on Spheres/Stars) adapt naturally to arbitrary geometry and offer massive parallelism, but rely on long random walks whose variance grows rapidly, particularly in the presence of Neumann boundaries, leading to slow convergence. We introduce a hybrid approach that combines the geometric flexibility of Monte Carlo estimation with deterministic global solves that do not introduce additional stochastic error. Our method decomposes the domain into simple, regular subdomains and uses Monte Carlo to estimate local first-passage solution operators (Poisson kernels), where walk lengths and variance are inherently controlled by the reduced spatial scale. These local operators are assembled into a sparse global system whose solution is obtained via a deterministic linear solve that exactly replaces simulating discrete random walks through the domain. This global solve trades stochastic variance for a fixed, resolution-dependent discretization bias, yielding stable and reusable solution operators. As a result, our method attains accurate, geometry-aware solutions even on coarse discretizations, and enables efficient solves and re-solves by computing and updating only the local operators affected by the geometry and its changes. We evaluate the approach on complex two-dimensional domains, benchmarking accuracy and convergence against standard grid-free and grid-based baselines, and demonstrate applications to microstructure simulation and flow-based path planning and streamline visualization.

Citation

@article{wods,
  author     = {Jambon, Cl\'{e}ment and Nabizadeh, Mohammad Sina and Konakovi\'{c} Lukovi\'{c}, Mina},
  title      = {Walk on Decomposed Subdomains: A Hybrid Monte Carlo–Deterministic Solver for Elliptic PDEs},
  year       = {2026},
  issue_date = {July 2026},
  publisher  = {Association for Computing Machinery},
  address    = {New York, NY, USA},
  volume     = {45},
  number     = {4},
  url        = {https://doi.org/10.1145/3811340},
  doi        = {10.1145/3811340},
  journal    = {ACM Trans. Graph.},
  month      = jul,
  articleno  = {132},
  numpages   = {22}
}

Acknowledgments: We thank the reviewers for their insightful feedback. We are grateful to Pavle Konaković for his help with the design and rendering of 3D scenes. We thank Rohan Sawhney, Bailey Miller and Hamid Kamkari for valuable discussions. This work was supported by the Wistron Corporation, the Siebel Scholars program and the MIT Generative AI Impact Consortium.

Blog post by Clément Jambon.

Disclaimer: The goal of this blog post is to walk you through the main intuitions and ideas behind our work. To this end, it takes a completely different approach from the exposition in the paper. It also takes a few technical and nonrigorous shortcuts. If you want a more formal treatment, please refer directly to the paper.

1Elliptic PDEs and Boundary Value Problems

Many real-world phenomena are governed by elliptic partial differential equations (PDEs): heat conduction, electrostatics, path planning, steady-state potential flow, and more. These are often cast as boundary value problems (BVPs), where values are prescribed on the boundary of a domain and we seek the solution to the PDE in the interior.

Consider for example the Laplace equation with Dirichlet boundary conditions:

$$ \begin{cases} \Delta u = 0 & \text{in } \Omega \\ u = g & \text{on } \partial\Omega_D \end{cases} $$

Feel free to play with the interactive figure below to get an intuition for what this does:

−1 (cold)+1 (hot)

Click and paint inside the dashed boundary band to paint Dirichlet values $g$. The interior satisfies $\Delta u=0$.

Dirichlet problem. Solving the Laplace equation with Dirichlet boundary conditions on a square.

We can make things more interesting by considering more complex geometries and boundary conditions. For example, people are often interested in solving mixed boundary value problems with Neumann boundary conditionsNote that we will restrict ourselves to zero-Neumann conditions.:

$$ \begin{cases} \Delta u = 0 & \text{in } \Omega \\ u = g & \text{on } \partial\Omega_D \\ \frac{\partial u}{\partial n} = 0 & \text{on } \partial\Omega_N \end{cases} $$

The interactive figure below illustrates this. Notice how the isolines bend to meet the zero-Neumann obstacle at right angles to satisfy $\frac{\partial u}{\partial n} = 0$.

−1 (cold)+1 (hot)
Dirichlet (paint here) Neumann (zero-flux)

Click and paint the dashed Dirichlet band as before. The interior obstacle (dashed blue) enforces $\partial u/\partial n = 0$ — isolines bend to meet it at right angles.

Mixed problem. Laplace equation with Dirichlet values painted on the outer boundary and zero-Neumann geometry inside.

If you look closely, you'll see that the solution is actually "pixelated". This is because it is computed with finite differences on a grid. Finite differences are very easy to understand and to implement but they don't deal very well with complex geometries, often requiring extreme grid refinement. Another common alternative is to use finite elements. The problem is that finite elements require careful mesh generation, which can be particularly challenging and time-consuming for complex geometries Imagine designing a car and having to regenerate the mesh every time you tweak the design. That would be a nightmare — and it is! , such as the city shown below.

Wind around a city. This scene contains hundreds of buildings with intricate geometry. Our method characterizes their influence on wind patterns, visualized here as steady-state potential streamlines.

2Grid-Free Monte Carlo Methods

Luckily, the computer graphics community has recently revived an old idea: grid-free Monte Carlo methods. The canonical algorithm underpinning this approach is the Walk on Spheres (WoS) algorithm.

The intuition, from stochastic calculus, is that if you were to simulate a Brownian motion (a continuous random walk) starting from an interior point $x$, it would eventually hit the boundary at some random location $Z_\tau$. The expected value $\mathbb{E}[g(Z_\tau)]$ of the boundary condition at that random location is exactly the solution to the Dirichlet problem given by .

Brownian motion and Laplace equation. A particle starts at the interior point $x$ and diffuses until it is absorbed at a random boundary location $Z_\tau$. The boundary is colored by $g$; averaging $g(Z_\tau)$ over many such walks recovers $u(x)$.

However, simulating Brownian motion is computationally expensive and often biasedYou typically have to discretize it, for example with fixed time steps with Euler–Maruyama.. The Walk on Spheres algorithm overcomes this by observing that the exit distribution of Brownian motion on a sphere is exactly uniform. This lets us instead hop from one sphere boundary to the next, where each sphere is inscribed in the domain and chosen to be as large as possible to converge fasterSince walks cannot reach the boundary exactly, we introduce a thin $\epsilon$-shell around it where walks are absorbed when they reach it..

The entire process is illustrated in the interactive figure below. For Neumann boundary conditions, it turns out that there is a special variant of WoS called Walk on Stars (WoSt) As its name suggests, this method "walks on stars" to better handle Neumann (reflective) boundary conditions. Note that the interactive figure below does not properly visualize these star-shaped domains. Rather, we visualize the "star radius" of the enclosing ball of each star. . If you're interested in learning more about Monte Carlo methods for PDEs, there's a great course and resources available here.

Avg steps: —
Dirichlet (absorbing) Neumann (reflecting)

Click anywhere inside to start a walk; many more walks are run in the background to fill the histogram.

Walk on Spheres/Stars. Monte Carlo methods proceed recursively by sampling spheres (or stars) until they hit the boundary. When more Neumann obstacles are present, walks get "trapped" and take a long time to hit the boundary, leading to high variance and slow convergence. The histogram shows the distribution of walk lengths; as Neumann obstacles are added, it shifts to the right.

Monte Carlo methods are truly magic! However, as you can see by playing with the interactive figure above, random walks take a lot of steps before they hit the boundary. This is particularly true for problems with complex geometries and Neumann-dominated boundariesOur manuscript showcases a lot of these examples: the warehouse in Figure 1, the city in Figure 4 or the maze in Figure 15.. The main consequence is variance and slow convergence, which render them quite impractical for scenarios where reliable solutions are requiredAnd I believe this may be why people have been hesitant to adopt these methods in practice..

In our work, we address this issue in two complementary waysI should add that we're not the first to tackle this problem. There have been many ways of solving it. The key contribution and novelty of our approach is that rather than simply improving the efficiency of Monte Carlo estimators or caching solutions, we propose a way to connect grid-free Monte Carlo methods with deterministic grid-based solvers, and leverage the nice properties of the latter. . First, as shown in , we can make walks shorter by decomposing the domain into smaller subdomains. Second, as introduced later in , we can "kill" variance, at the cost of a (controllable) discretization bias, by coupling all subdomains together with a deterministic solver, recovering the nice "variance-free" properties of deterministic grid-based methods.

3Divide to Conquer: Shorter Walks

When a problem is complicated, the natural solution is to break it down into smaller, more manageable pieces. This is a common strategy in numerical methods: domain decomposition, multigrid, hierarchical matrices, and so on. And this is precisely the path we also followed in our paper.

First, observe that a beautiful property of $\Delta u = 0$ in is that this holds everywhere, including on subdomains of the entire domain $\Omega$. As such, a key intuition is that walks can naturally be made shorter by decomposing the domain into smaller subdomains.

More formally, we propose to decompose the domain into a partition of smaller non-overlapping subdomains $\mathcal{D}=\{\Omega_i\}$, for example regular tiles. On each tile, the Dirichlet boundary is the union of (a) physical Dirichlet pieces inherited from $\partial\Omega_D$ and (b) artificial Dirichlet pieces — the interfaces with neighboring tilesNote that this decomposition does not require any meshing. Subdomains can be totally arbitrary, are free to intersect Neumann boundaries, and can cover parts outside of the domain $\Omega$.. Walks within a tile now stop at the tile's boundary as shown in the interactive figure below. Feel free to adjust the tiling resolution and see how it affects walk lengths in the histogram.

Avg steps: —
"Physical" Dirichlet (absorbing) "Artificial" interfaces (absorbing) Neumann (reflecting)

Walks terminate at tile interfaces; shrink the tiles and the histogram moves to the left.

Walks in Decomposed Subdomains. Rather than executing random walks across the entire domain, we decompose it into smaller subdomains. This leads to much shorter walks with lower variance.

This strategy gives us Walks in Decomposed Subdomains. So why does our paper title say Walks on Decomposed Subdomains? There's still some way to go. On their own, these walks don't tell us much yet: we still don't know the values at the interfaces between subdomains.

This is where the connection to grid-based solvers will come into play. But before that, we need to understand Poisson kernels and solution operators.

4Poisson Kernels and Solution Operators

Within a single tile $\Omega_i$, is also satisfied, so knowing the boundary values fully determines the interior solution. Concretely, we can encode this as a linear operator $\mathcal{H}_i$ that maps boundary values to interior values:

$$\mathcal{H}_i : \partial\Omega_i \to \Omega_i $$

In other words, $u(x) = \mathcal{H}_i[u](x)$ for all $x \in \Omega_i$. But how do we get $\mathcal{H}_i$? It's locally the solution of the PDE after all...

The idea is to observe that $\mathcal{H}_i$ can be written in integral form

$$ u(x) = \int_{\partial\Omega_i} P_{\Omega_i}(x, z)\, u(z)\, dz $$

where $P_{\Omega_i}(x, z)$ is called the Poisson kernel. The key observation is that $P_{\Omega_i}(x, z)$ is exactly the first-passage probability density of a Brownian motion starting at $x$ and hitting the boundary at $z$. Wait — isn't that precisely what Walk on Spheres computes?

Exactly, and that gives us an easy recipe to approximate it: for a point $x \in \Omega_i$, we run many random walks from $x$ and bin where they exit on $\partial\Omega_i$. The interactive figure below visualizes the Poisson kernel for various domains tabulated using this strategy.

Estimating P(x, ·)…

Drag $x$ to move the source. Drag the dashed Neumann obstacle to move it; or adjust shape parameters with the sliders. Histograms on the boundary show the Poisson kernel $P(x, z)$, i.e., the first-passage probability density along $\partial\Omega_D$.

Poisson kernel. For a chosen interior source $x$, the histograms along $\partial\Omega_D$ show $P(x, z)$, the first-passage density of a Brownian walk from $x$. The corresponding statistics are estimated in real-time using Monte Carlo.

The Poisson kernel has a dual interpretation: instead of fixing $x$ and asking where the walk exits, fix a boundary point $z$ and ask which interior points are most likely to send walks there. In other words, how a unit point source at $z$ on the Dirichlet boundary affects the interior — this is precisely the solution operator!

Precomputing…

Drag $z$ anywhere along $\partial\Omega_D$. The interior is the Poisson kernel $P(\cdot, z)$ — the response to a point source at $z$. The "source width" smooths the source to emphasize the effect.

Solution operator. The same kernel $P(x, z)$, viewed in $z$ instead of $x$. For each scene, the kernel matrix is precomputed on-the-fly with Monte Carlo samples; dragging $z$ then queries a column of it instantly.

As implied by the interactive figures above, there's a natural and simple way of precomputing and discretizing solution operators as a simple matrix $\mathbf{H}$Note that we do not claim that this is the most efficient way. There's huge room for improvement here!. As shown in the figure below, row-wise, $H_{ij}$ represents first- passage probabilities from $x_i$ to the boundary; column-wise, $H_{ij}$ gives the interior response to a unit source at $z_j$.

Discrete solution operator H mapping a boundary panel containing z_j to interior point x_i
Discrete solution operator. Discretizing the interior with collocation points $\{x_i\} \subset \Omega$ and the Dirichlet boundary $\partial\Omega_D$ into panels $\{\Gamma_j\}$ with collocation points $\{z_j\}$ yields a matrix $\mathbf{H}$ that approximates the solution operator. Row-wise, $H_{ij}$ is the first-passage probability that a walk launched at $x_i$ exits through panel $\Gamma_j$; column-wise, $H_{ij}$ gives the interior response at $x_i$ to a unit source localized at $z_j$.

By tabulating one discrete solution operator $\mathbf{H}_i$ for each tile $\Omega_i$, we can solve the discrete Dirichlet problem within each tile by a simple matrix-vector multiplication. However, this still doesn't tell us how to find the values at the interfaces between tiles. Enter absorbing Markov chains!

5Absorbing Markov Chains

An absorbing Markov chain is also a random walk, but this time on a discrete (and finite) set of states $\mathcal{S}$. Some states $\mathcal{T}$ are called transient (the walker may pass through them, possibly many times) and the rest $\mathcal{A}$ are absorbing (once entered, the walker never leaves), such that $\mathcal{S} = \mathcal{T} \sqcup \mathcal{A}$. The figure below provides a simple example.

Absorbing Markov chain. Three transient states $\mathcal{T}=\{t_1,t_2,t_3\}$ sit between two absorbing states $\mathcal{A}=\{a_L,a_R\}$. At each step a walker hops to a random neighbor; the absorbing states carry a self-loop, so once a walker lands there it stays forever.

A key observation is that we can also define a boundary value problem on the absorbing Markov chain analogous to . Concretely, as shown in the interactive example below, we can prescribe values on absorbing states, run walks from transient states until they are absorbed, and average the absorbing values to get a solution defined on the transient states, i.e., $$u(t) = \mathbb{E}[g(A_\tau) \mid X_0 = t]$$ for any transient state $t \in \mathcal{T}$, where $A_\tau \in \mathcal{A}$ is the absorbing state where the walk ends and $g$ holds the prescribed values at absorbing states. This is very reminiscent of the Walk on Spheres algorithm, isn't it?

The interactive figure below provides an example for a simple Markov chain linking two absorbing endpoints.

+1 −1
+1 −1
walks: 0

Drag the vertical sliders next to each absorbing endpoint to set its boundary value. Click on any transient node to start a walk. Drag the slider beneath each node to change its transition probability. The inner color of each interior circle is the running Monte Carlo estimate. You can launch many walks with "Run walks" or show the exact solution with "Show exact solve".

Discrete boundary value problem. By launching walks from transient states and accumulating the values obtained at absorbing states, we can approximate the solution to a discrete boundary value problem.

Note how we're absolutely free to choose arbitrary transition probabilities and how they influence the solutionSpoiler: in the next section, we'll choose the geometrically-informed values given by Poisson kernels as transition probabilities! .

You may have also noticed that, even with a handful of states, you need to launch quite a few walks before the Monte Carlo estimate stops wiggling around. So here is the natural question: do we really have to simulate random walks?

Look at any transient state $i$. By the memoryless property of Markov chains, a walker sitting at $i$ takes a single step to a neighbor $j$ with probability $P_{ij}$, and from there the rest of the walk is statistically identical to a fresh walk launched at $j$. In other words, the expected absorbed value at $i$ is just the weighted average of the expected absorbed values at its neighbors:

$$ \begin{aligned} u(i) &\;=\; \sum_{j \in \mathcal{S}} P_{ij}\, u(j) && \text{on } \mathcal{T}, \\ u(a) &\;=\; g(a) && \text{on } \mathcal{A}. \end{aligned} $$

This is exactly a discrete analog of the Laplace equation : each interior value is the average of its neighbors, with prescribed values on the boundaryIn the continuous case, this mean-value property is locally captured by the Laplacian operator being zero. But note that it also holds in an integral sense as $u(x) = \frac{1}{|\partial B(x, R)|}\int_{\partial B(x, R)} u(z)\,dz$ for a ball centered at $x$ of radius $R$.. Random walks have quietly disappeared: we're left with a system of linear equations where the unknowns are the transient values.

To make this concrete, split the transition matrix into transient-to-transient and transient-to-absorbing blocks,

$$ \mathbf{P} \;=\; \begin{bmatrix} \mathbf{Q} & \mathbf{R} \\ \mathbf{0} & \mathbf{I} \end{bmatrix}, $$

and collect the unknown transient values into a vector $\mathbf{u}_{\mathcal{T}}$ and the prescribed absorbing values into $\mathbf{g}$. The averaging identity above becomes $\mathbf{u}_{\mathcal{T}} = \mathbf{Q}\,\mathbf{u}_{\mathcal{T}} + \mathbf{R}\,\mathbf{g}$, i.e.,

$$ (\mathbf{I} - \mathbf{Q})\, \mathbf{u}_{\mathcal{T}} \;=\; \mathbf{R}\, \mathbf{g}. $$

That's it. As long as every walk is eventually absorbed (which it is, with probability one), $\mathbf{I} - \mathbf{Q}$ is invertible, and a single linear solve hands us the exact expected absorbed value at every transient state at once: no sampling, no variance, no waiting for the estimator to settle. Try it in the figure above with "Show exact solve": the colors should snap to their final values immediately!

One last fun thing for the road! It turns out that you can see $\mathbf{I}-\mathbf{P}$ as a random-walk Laplacian. In 1D, if we choose a symmetric random walk, the corresponding random-walk Laplacian should be very familiar to you: it's exactly the three-point finite difference Laplacian in 1D (up to a scaling factor).

$i-2$
$i-1$
$i$
$i+1$
$i+2$
$h$
$h$
$\tfrac{1}{2}$
$\tfrac{1}{2}$
$$ \big[(\mathbf{I}-\mathbf{P})\,\mathbf{u}\big]_i \;=\; u_i - \tfrac{1}{2}u_{i-1} - \tfrac{1}{2}u_{i+1} \;=\; -\tfrac{h^2}{2}\,\underbrace{\frac{u_{i-1} - 2u_i + u_{i+1}}{h^2}}_{\Delta_h u_i}. $$
1D random-walk Laplacian. For a symmetric random walk on a uniform grid of spacing $h$, the operator $\mathbf{I}-\mathbf{P}$ is exactly the standard three-point finite-difference Laplacian $\Delta_h$, up to the rescaling $-h^2/2$.

And in 2D, the random-walk Laplacian for a symmetric walk on a regular grid recovers the standard five-point finite-difference stencil.

$i,\,j+1$
$i-1,\,j$
$i,\,j$
$i+1,\,j$
$i,\,j-1$
$h$
$h$
$\tfrac{1}{4}$
$\tfrac{1}{4}$
$\tfrac{1}{4}$
$\tfrac{1}{4}$
$$ \begin{aligned} \big[(\mathbf{I}-\mathbf{P})\,\mathbf{u}\big]_{i,j} &\;=\; u_{i,j} - \tfrac{1}{4}\big(u_{i-1,j} + u_{i+1,j} + u_{i,j-1} + u_{i,j+1}\big) \\ &\;=\; -\tfrac{h^2}{4}\,\underbrace{\frac{u_{i-1,j} + u_{i+1,j} + u_{i,j-1} + u_{i,j+1} - 4u_{i,j}}{h^2}}_{\Delta_h u_{i,j}}. \end{aligned} $$
2D random-walk Laplacian. For a symmetric random walk on a uniform square grid of spacing $h$, the operator $\mathbf{I}-\mathbf{P}$ is exactly the standard five-point finite-difference Laplacian $\Delta_h$, up to the rescaling $-h^2/4$.

From there, you probably see the pattern. What if instead of these canonical probabilities, we considered more general transition probabilities based on the geometry of the subdomains?

6Coupling Tiles via an Absorbing Markov Chain

Now we finally have all the pieces to recover values at interfaces between subdomains! The trick is to Walk on Decomposed Subdomains, or more precisely on their interfaces. To do so, we use the strategy defined in to estimate and tabulate transition probabilities between interfacesOne important subtlety: only covers how to estimate probabilities from the interior to interfaces, not between interfaces themselves. Handling the latter requires an additional overlapping domain decomposition — which we call the co-edge decomposition — that treats interfaces as the interior of their corresponding subdomains. See the paper for details. . Discretizing these probabilities yields a global Markov chain over interfaces, and the absorbing Markov chain formalism from lets us solve for interface values directly through a deterministic (sparse) linear solve — sidestepping the relatively long, high-variance random walks that would otherwise be required.

Once interface values are known, the boundary of every tile is fully determined, and we recover each tile's interior with a single matrix–vector product using precomputed solution operators for the interior, i.e., $\mathbf{H}_i$ as defined in . These per-tile reconstructions are independent and thus trivially parallelizable.

The interactive figure below summarizes all steps of the pipeline. Feel free to slide through the various stages and play with the different parameters.

01234

N = T × B = 16
Dirichlet boundary Neumann obstacle Tile interfaces

Slide through the pipeline.

The Walk on Decomposed Subdomains (WoDS) pipeline. (1) Partition $\Omega$ into tiles $\{\Omega_i\}$ separated by interfaces. (2) For each tile, estimate first-passage transition probabilities between its interfaces with short local Walk-on-Stars walks; assemble these into per-tile operators $\mathbf{H}_i$. (3) Stitch the corresponding probabilities into one global absorbing Markov chain over all interfaces and recover interface values via a single sparse solve $(\mathbf{I}-\mathbf{Q})\,\mathbf{u}_{\mathcal{T}} = \mathbf{R}\,\mathbf{g}$. (4) With every tile's boundary now known, reconstruct the interior in parallel by applying local interior solution operators, i.e., $\mathbf{H}_i$.

7Additional Benefits

One thing that I haven't mentioned is that in practice, we needn't compute solution operators for every tile of the domain. If a tile does not intersect geometry, its solution operator is the same everywhere and we can precompute it only once across all scenesIt actually has a closed-form expression.. In other words, the number of solution operators that must be estimated grows with the geometric complexity and not domain size (i.e., area in 2D). This has another significant advantage: if only a subset of the scene changes — as is common in many design or simulation workflows — only the affected tiles need to be re-estimated.

MC-estimated tiles:
Precomputed (shared):
Intersects geometry — needs Monte Carlo Empty tile — shared operator

Pick a scene and adjust $T$. Only the highlighted tiles must have their solution operator estimated; all empty tiles share a single closed-form operator computed once.

Locality of solution-operator estimation. Our method inherits the locality of grid-based approaches by requiring the estimation of solution operators only in regions near the geometry. As a result, the actual Monte Carlo cost scales with geometric complexity rather than domain size.

Another beautiful thing is that our approach exposes an adjustable trade-off between the cost of stochastic Monte Carlo estimation of solution operators (which is highly parallelizable within each individual tile) and the cost of the deterministic global solve on interfaces. As can be seen in the interactive figure below, at fixed output resolution $N$, increasing the size $B$ of each tile requires more Monte Carlo effort per tile, but the deterministic global solve becomes cheaper because the interfaces it couples are fewer and farther apart. In other words, we can directly amortize the $O(N^2)$ degrees of freedom of the global solve to $O(N^2/B)$ degrees of freedom if we can afford more Monte CarloYou may argue that what matters most is not the number of degrees of freedom but the sparsity or conditioning of the matrix. It turns out that our matrices are sparse because they only couple neighboring interfaces. In other words, the global connectivity of the system closely resembles finite-difference systems, except that each interface-to-interface connection may carry multiple "transition edges" proportional to the per-tile discretization parameter $B$. There's another subtle point, which is that our matrices aren't symmetric as we describe and discuss in Section 8 of the paper.. This is a significant result, which I hope we can build upon in the future because Monte Carlo is embarrassingly parallel and can run on accelerated hardware (e.g., GPUs)What I'm not saying here is that there is not only a cost in samples but also in memory! Larger tiles mean more memory usage, and actually quite a lot! But as we discuss in the paper, I believe our community has developed many adjacent tools to mitigate this issue, and I hope I or others will explore them in the future. .

Interface values at fixed $N$. Tile interfaces are the only unknowns of the global solve.

Subtile resolution $B$ System size $N^2 / B$

System size of the deterministic global solve as a function of subtile resolution $B$.

Grid-like ($T{=}N$, $B{=}1$) Pure operator ($T{=}1$, $B{=}N$)
Trade-off between local Monte Carlo and global solve. At fixed output resolution $N$, sliding $B$ from 1 to $N$ continuously interpolates between a grid-like regime — where the global solve carries all $O(N^2)$ degrees of freedom — and a pure solution-operator regime — where the global solve is trivial ($O(1)$) but every tile requires a fully tabulated interior operator.

8Reflections and Future Work

I am very excited by our work and the doors it opens for future research. One thing people often bring up is the analogy to radiosity and Monte Carlo path tracing in renderingIt turns out our approach has even more connections to previous rendering works and in particular volume rendering. See for example these works.. There was once a time when people used finite elements for rendering and were actually very reluctant to adopt Monte Carlo methods because of their noise.

In this context, Peter Shirley famously said in an email thread in 1997:

In summary, pure MCPT has only two advantages — it is so dumb that it doesn't get hit by big scenes, and it is easy to implement. […]

I think the solution is hybrid methods — add bias! (This is blasphemy in MC circles :^) ). I do want to keep the good parts of MC methods — they are damned robust and are possible to implement correctly — my MC code does not bomb on weird untweaked inputs — tell me with a straight face that is true of most non-MC implementations. However, you are right that the results are too noisy!!! We can keep these benefits and reduce noise if we add bias the right way (not that I know what that right way is).

One thing I highlighted here is that Peter Shirley was right: to be adopted, Monte Carlo methods needed "hybrid methods". And the solution was denoising! Without denoising, existing visual effects and animated films would probably not be path traced! People even won an Academy Award for that.

So, to be competitive with classical numerical methods, do Monte Carlo PDE solvers also need hybrid approaches? Probably yes! But is denoising the right answer? Maybe not.

In our paper, we take a different route and instead try to reconcile grid-free Monte Carlo methods with grid-based solvers. One thing that I learned with this project is that grid-based methods just work so well: if you want convergence, you simply cannot beat them! And it's not a surprise, ask anyone doing numerical analysis and they will tell you something like:

Monte Carlo is an extremely bad method; it should be used only when all alternative methods are worse.

My take is: use as many grid-based methods as you can, and complement them with grid-free Monte Carlo methods where you suffer most (e.g., geometry).

That said, there is still a long way to go: generalizing to other PDEs or boundary conditions, better discretization schemes, dedicated global solvers, improved Monte Carlo estimators, etc. Rest assured that we are working on that...

References